From 6aa60305a030d92703a09ab0d1b80eeb0be9abee Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Tue, 27 Jun 2017 05:05:24 +1000 Subject: [PATCH] Add test for sensitivity component partial overrides Refs #1854 Laravel looks like it broke ->contains($model), fix test for now --- .../component-partial-alias-override.htm | 5 ++++ .../test/pages/component-partial-override.htm | 4 +-- .../test/partials/override1/default.htm | 2 +- .../themes/test/partials/testpost/default.htm | 1 + tests/unit/cms/classes/ControllerTest.php | 28 +++++++++++++++++++ .../database/BelongsToManyModelTest.php | 6 ++-- 6 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 tests/fixtures/themes/test/pages/component-partial-alias-override.htm create mode 100644 tests/fixtures/themes/test/partials/testpost/default.htm diff --git a/tests/fixtures/themes/test/pages/component-partial-alias-override.htm b/tests/fixtures/themes/test/pages/component-partial-alias-override.htm new file mode 100644 index 000000000..de7a6a79e --- /dev/null +++ b/tests/fixtures/themes/test/pages/component-partial-alias-override.htm @@ -0,0 +1,5 @@ +url = "/component-partial-alias-override" + +[October\Tester\Components\Post overRide1] +== +{% component 'overRide1' %} \ No newline at end of file diff --git a/tests/fixtures/themes/test/pages/component-partial-override.htm b/tests/fixtures/themes/test/pages/component-partial-override.htm index 4ab21d6b6..42f95a85d 100644 --- a/tests/fixtures/themes/test/pages/component-partial-override.htm +++ b/tests/fixtures/themes/test/pages/component-partial-override.htm @@ -1,5 +1,5 @@ url = "/component-partial-override" -[October\Tester\Components\Post override1] +[testPost] == -{% component 'override1' %} \ No newline at end of file +{% component 'testPost' %} \ No newline at end of file diff --git a/tests/fixtures/themes/test/partials/override1/default.htm b/tests/fixtures/themes/test/partials/override1/default.htm index ebc57e24d..b93cfda16 100644 --- a/tests/fixtures/themes/test/partials/override1/default.htm +++ b/tests/fixtures/themes/test/partials/override1/default.htm @@ -1 +1 @@ -

I am an override partial! Yay

\ No newline at end of file +

I am an override alias partial! Yay

\ No newline at end of file diff --git a/tests/fixtures/themes/test/partials/testpost/default.htm b/tests/fixtures/themes/test/partials/testpost/default.htm new file mode 100644 index 000000000..ebc57e24d --- /dev/null +++ b/tests/fixtures/themes/test/partials/testpost/default.htm @@ -0,0 +1 @@ +

I am an override partial! Yay

\ No newline at end of file diff --git a/tests/unit/cms/classes/ControllerTest.php b/tests/unit/cms/classes/ControllerTest.php index 0144e4316..8e6d3a366 100644 --- a/tests/unit/cms/classes/ControllerTest.php +++ b/tests/unit/cms/classes/ControllerTest.php @@ -12,6 +12,13 @@ class ControllerTest extends TestCase Model::clearBootedModels(); Model::flushEventListeners(); + + include_once base_path() . '/tests/fixtures/plugins/october/tester/components/Archive.php'; + include_once base_path() . '/tests/fixtures/plugins/october/tester/components/Post.php'; + include_once base_path() . '/tests/fixtures/plugins/october/tester/components/MainMenu.php'; + include_once base_path() . '/tests/fixtures/plugins/october/tester/components/ContentBlock.php'; + include_once base_path() . '/tests/fixtures/plugins/october/tester/components/Comments.php'; + include_once base_path() . '/tests/fixtures/plugins/october/tester/classes/Users.php'; } public function testThemeUrl() @@ -395,12 +402,33 @@ ESC; $this->assertEquals('

DEFAULT MARKUP: I am a post yay

', $response); } + public function testComponentPartialAliasOverride() + { + $theme = Theme::load('test'); + $controller = new Controller($theme); + $response = $controller->run('/component-partial-alias-override')->getContent(); + + // + // Testing case sensitivity + // + // Component alias: overRide1 + // Target path: partials\override1\default.htm + // + $this->assertEquals('

I am an override alias partial! Yay

', $response); + } + public function testComponentPartialOverride() { $theme = Theme::load('test'); $controller = new Controller($theme); $response = $controller->run('/component-partial-override')->getContent(); + // + // Testing case sensitivity + // + // Component code: testPost + // Target path: partials\testpost\default.htm + // $this->assertEquals('

I am an override partial! Yay

', $response); } diff --git a/tests/unit/plugins/database/BelongsToManyModelTest.php b/tests/unit/plugins/database/BelongsToManyModelTest.php index 8915eac11..e151d2304 100644 --- a/tests/unit/plugins/database/BelongsToManyModelTest.php +++ b/tests/unit/plugins/database/BelongsToManyModelTest.php @@ -25,11 +25,11 @@ class BelongsToManyModelTest extends PluginTestCase Model::reguard(); // Add/remove to collection - $this->assertFalse($author->roles->contains($role1)); + $this->assertFalse($author->roles->contains($role1->id)); $author->roles()->add($role1); $author->roles()->add($role2); - $this->assertTrue($author->roles->contains($role1)); - $this->assertTrue($author->roles->contains($role2)); + $this->assertTrue($author->roles->contains($role1->id)); + $this->assertTrue($author->roles->contains($role2->id)); // Set by Model object $author->roles = $role1;