예제 #1
0
 /** @test */
 function it_builds_a_source_table()
 {
     $modelBuilder = $this->prophesize('Nuclear\\Hierarchy\\Contract\\Builders\\ModelBuilderContract');
     $modelBuilder->build('project')->willReturn(null)->shouldBeCalled();
     $formBuilder = $this->prophesize('Nuclear\\Hierarchy\\Contract\\Builders\\FormBuilderContract');
     $formBuilder->build('project')->willReturn(null)->shouldBeCalled();
     $migrationBuilder = $this->prophesize('Nuclear\\Hierarchy\\Contract\\Builders\\MigrationBuilderContract');
     $migrationBuilder->buildSourceTableMigration('project')->willReturn('TestMigration')->shouldBeCalled();
     $service = new BuilderService($modelBuilder->reveal(), $migrationBuilder->reveal(), $formBuilder->reveal());
     try {
         $service->buildTable('project', 1);
     } catch (\Exception $e) {
         if ($e->getMessage() === 'up') {
             return;
         }
     }
     $this->fail('The migration did not run');
 }