From f9e65b0a9b86d78dbe7e6dbca5f2f1644bacbaa7 Mon Sep 17 00:00:00 2001 From: Yves P Date: Sat, 10 Oct 2015 00:09:56 +0200 Subject: [PATCH] Add a test to the FixtureManager::loadSingle() method --- .../TestCase/TestSuite/FixtureManagerTest.php | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/tests/TestCase/TestSuite/FixtureManagerTest.php b/tests/TestCase/TestSuite/FixtureManagerTest.php index 1e25efc1e87..62688b9a110 100644 --- a/tests/TestCase/TestSuite/FixtureManagerTest.php +++ b/tests/TestCase/TestSuite/FixtureManagerTest.php @@ -156,4 +156,65 @@ public function testFixturizeInvalidType() $test->fixtures = ['derp.derp']; $this->manager->fixturize($test); } + + /** + * Test loading fixtures using loadSingle() + * + * @return void + */ + public function testLoadSingle() + { + $test = $this->getMock('Cake\TestSuite\TestCase'); + $test->autoFixtures = false; + $test->fixtures = ['core.articles', 'core.articles_tags', 'core.tags']; + $this->manager->fixturize($test); + $this->manager->loadSingle('Articles'); + $this->manager->loadSingle('Tags'); + $this->manager->loadSingle('ArticlesTags'); + + $table = TableRegistry::get('ArticlesTags'); + $results = $table->find('all')->toArray(); + $schema = $table->schema(); + $expectedConstraint = [ + 'type' => 'foreign', + 'columns' => [ + 'tag_id' + ], + 'references' => [ + 'tags', + 'id' + ], + 'update' => 'cascade', + 'delete' => 'cascade', + 'length' => [] + ]; + $this->assertEquals($expectedConstraint, $schema->constraint('tag_id_fk')); + $this->assertCount(4, $results); + + $this->manager->unload($test); + + $this->manager->loadSingle('Articles'); + $this->manager->loadSingle('Tags'); + $this->manager->loadSingle('ArticlesTags'); + + $table = TableRegistry::get('ArticlesTags'); + $results = $table->find('all')->toArray(); + $schema = $table->schema(); + $expectedConstraint = [ + 'type' => 'foreign', + 'columns' => [ + 'tag_id' + ], + 'references' => [ + 'tags', + 'id' + ], + 'update' => 'cascade', + 'delete' => 'cascade', + 'length' => [] + ]; + $this->assertEquals($expectedConstraint, $schema->constraint('tag_id_fk')); + $this->assertCount(4, $results); + $this->manager->unload($test); + } }