Skip to content

Commit

Permalink
spy closure
Browse files Browse the repository at this point in the history
  • Loading branch information
recca0120 committed Dec 21, 2022
1 parent 90d17e9 commit 749e07a
Showing 1 changed file with 4 additions and 18 deletions.
22 changes: 4 additions & 18 deletions tests/Database/DatabaseSqliteSchemaStateTest.php
Expand Up @@ -26,13 +26,14 @@ public function testLoadSchemaToDatabase(): void
$connection->shouldReceive('getDatabaseName')->andReturn($config['database']);

$process = m::spy(Process::class);
$processFactory = m::mock(new ProcessFactory($process));
$processFactory = m::spy(function () use ($process) {
return $process;
});

$schemaState = new SqliteSchemaState($connection, null, $processFactory);
$schemaState->load('database/schema/sqlite-schema.dump');

$processFactory->shouldHaveReceived('__invoke')
->with('sqlite3 "${:LARAVEL_LOAD_DATABASE}" < "${:LARAVEL_LOAD_PATH}"');
$processFactory->shouldHaveBeenCalled()->with('sqlite3 "${:LARAVEL_LOAD_DATABASE}" < "${:LARAVEL_LOAD_PATH}"');

$process->shouldHaveReceived('mustRun')->with(null, [
'LARAVEL_LOAD_DATABASE' => 'database/database.sqlite',
Expand All @@ -57,18 +58,3 @@ public function testLoadSchemaToInMemory(): void
$pdo->shouldHaveReceived('exec')->with('CREATE TABLE IF NOT EXISTS "migrations" ("id" integer not null primary key autoincrement, "migration" varchar not null, "batch" integer not null);');
}
}

class ProcessFactory
{
private $process;

public function __construct($process)
{
$this->process = $process;
}

public function __invoke()
{
return $this->process;
}
}

0 comments on commit 749e07a

Please sign in to comment.