DatabaseMySqlBuilderTest.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace Illuminate\Tests\Database;
  3. use Illuminate\Database\Connection;
  4. use Illuminate\Database\Schema\Grammars\MySqlGrammar;
  5. use Illuminate\Database\Schema\MySqlBuilder;
  6. use Mockery as m;
  7. use PHPUnit\Framework\TestCase;
  8. class DatabaseMySqlBuilderTest extends TestCase
  9. {
  10. protected function tearDown(): void
  11. {
  12. m::close();
  13. }
  14. public function testCreateDatabase()
  15. {
  16. $grammar = new MySqlGrammar;
  17. $connection = m::mock(Connection::class);
  18. $connection->shouldReceive('getConfig')->once()->with('charset')->andReturn('utf8mb4');
  19. $connection->shouldReceive('getConfig')->once()->with('collation')->andReturn('utf8mb4_unicode_ci');
  20. $connection->shouldReceive('getSchemaGrammar')->once()->andReturn($grammar);
  21. $connection->shouldReceive('statement')->once()->with(
  22. 'create database `my_temporary_database` default character set `utf8mb4` default collate `utf8mb4_unicode_ci`'
  23. )->andReturn(true);
  24. $builder = new MySqlBuilder($connection);
  25. $builder->createDatabase('my_temporary_database');
  26. }
  27. public function testDropDatabaseIfExists()
  28. {
  29. $grammar = new MySqlGrammar;
  30. $connection = m::mock(Connection::class);
  31. $connection->shouldReceive('getSchemaGrammar')->once()->andReturn($grammar);
  32. $connection->shouldReceive('statement')->once()->with(
  33. 'drop database if exists `my_database_a`'
  34. )->andReturn(true);
  35. $builder = new MySqlBuilder($connection);
  36. $builder->dropDatabaseIfExists('my_database_a');
  37. }
  38. }