Skip to content

Commit bcd26e3

Browse files
authored
Merge pull request #1653 from hydephp/improve-test-suite
Internal: Improve test suite
2 parents bfe40d9 + e2c5668 commit bcd26e3

File tree

6 files changed

+25
-50
lines changed

6 files changed

+25
-50
lines changed

packages/framework/tests/Feature/MetadataViewTest.php renamed to packages/framework/tests/Feature/Views/MetadataViewTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
declare(strict_types=1);
44

5-
namespace Hyde\Framework\Testing\Feature;
5+
namespace Hyde\Framework\Testing\Feature\Views;
66

7-
use Hyde\Foundation\HydeKernel;
87
use Hyde\Hyde;
98
use Hyde\Testing\TestCase;
9+
use Hyde\Foundation\HydeKernel;
1010

1111
/**
1212
* This tests ensures all metadata is rendered correctly in the compiled pages.

packages/framework/tests/Feature/Views/SidebarBrandViewTest.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
namespace Hyde\Framework\Testing\Feature\Views;
66

77
use Hyde\Hyde;
8+
use Hyde\Facades\Features;
89
use Hyde\Testing\TestCase;
9-
use Hyde\Foundation\HydeKernel;
1010
use Hyde\Testing\TestsBladeViews;
1111
use Hyde\Pages\DocumentationPage;
1212

@@ -59,9 +59,7 @@ public function testSidebarBrandViewWithDefaultHeaderTextAndHomeRoute()
5959

6060
public function testSidebarBrandViewWithoutDarkmodeFeature()
6161
{
62-
$mock = $this->mock(HydeKernel::class)->makePartial();
63-
$mock->shouldReceive('hasFeature')->with('darkmode')->andReturn(false);
64-
HydeKernel::setInstance($mock);
62+
Features::mock('darkmode', false);
6563

6664
$view = $this->view(view('hyde::components.docs.sidebar-brand'));
6765

packages/framework/tests/Feature/SidebarViewTest.php renamed to packages/framework/tests/Feature/Views/SidebarViewTest.php

Lines changed: 9 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44

55
declare(strict_types=1);
66

7-
namespace Hyde\Framework\Testing\Feature;
7+
namespace Hyde\Framework\Testing\Feature\Views;
88

9-
use Hyde\Framework\Features\Navigation\DocumentationSidebar;
10-
use Hyde\Hyde;
9+
use Throwable;
1110
use Hyde\Testing\TestCase;
1211
use Illuminate\Contracts\View\View;
13-
use Throwable;
12+
use Hyde\Framework\Features\Navigation\DocumentationSidebar;
1413

1514
/**
1615
* Very high level test of the sidebar views and their combinations of layouts.
@@ -39,8 +38,7 @@ public function testBaseSidebar()
3938
->assertSeeHtml('<a href="index.html">Back to home page</a>')
4039
->assertSeeHtml('<span class="sr-only">Toggle dark theme</span>')
4140
->assertDontSee('<a href="docs/index.html">')
42-
->assertDontSee('<li class="sidebar-item')
43-
->allGood();
41+
->assertDontSee('<li class="sidebar-item');
4442

4543
$this->assertViewWasRendered(view('hyde::components.docs.sidebar-items', [
4644
'sidebar' => DocumentationSidebar::create(),
@@ -66,8 +64,7 @@ public function testBaseSidebarWithCustomFooterText()
6664
$this->renderComponent(view('hyde::components.docs.sidebar'))
6765
->assertSeeHtml('<footer id="sidebar-footer"')
6866
->assertSeeHtml('<p>My <strong>Markdown</strong> Footer Text</p>')
69-
->assertDontSee('Back to home page')
70-
->allGood();
67+
->assertDontSee('Back to home page');
7168
}
7269

7370
public function testBaseSidebarCustomHeaderBrand()
@@ -76,8 +73,7 @@ public function testBaseSidebarCustomHeaderBrand()
7673

7774
$this->renderComponent(view('hyde::components.docs.sidebar'))
7875
->assertSeeText('My Custom Header')
79-
->assertDontSee('HydePHP Docs')
80-
->allGood();
76+
->assertDontSee('HydePHP Docs');
8177

8278
$this->assertViewWasRendered(view('hyde::components.docs.sidebar-brand'));
8379
}
@@ -92,8 +88,7 @@ public function testBaseSidebarWithItems()
9288
->assertSeeHtml('<a href="docs/index.html">')
9389
->assertSeeHtml('<nav id="sidebar-navigation"')
9490
->assertSeeHtml('<ul id="sidebar-items" role="list" class="pl-2">')
95-
->assertSeeHtml('<li class="sidebar-item')
96-
->allGood();
91+
->assertSeeHtml('<li class="sidebar-item');
9792

9893
$this->assertViewWasRendered(view('hyde::components.docs.sidebar-items', [
9994
'sidebar' => DocumentationSidebar::create(),
@@ -120,8 +115,7 @@ public function testSidebarWithGroupedItems()
120115
->assertSeeHtml('class="sidebar-group-toggle')
121116
->assertSeeHtml('class="sidebar-group-toggle-icon')
122117
->assertSeeHtml('class="sidebar-group-items')
123-
->assertSee('groupOpen')
124-
->allGood();
118+
->assertSee('groupOpen');
125119

126120
$this->assertViewWasRendered(view('hyde::components.docs.sidebar-items', [
127121
'sidebar' => DocumentationSidebar::create(),
@@ -152,8 +146,7 @@ public function testSidebarWithNonCollapsibleGroupedItems()
152146
->assertSeeHtml('class="sidebar-group-items')
153147
->assertDontSee('sidebar-group-toggle')
154148
->assertDontSee('sidebar-group-toggle-icon')
155-
->assertDontSee('groupOpen')
156-
->allGood();
149+
->assertDontSee('groupOpen');
157150

158151
$this->assertViewWasRendered(view('hyde::components.docs.sidebar-items', [
159152
'sidebar' => DocumentationSidebar::create(),
@@ -167,16 +160,7 @@ protected function renderComponent(View $view): self
167160
{
168161
try {
169162
$this->html = $view->render();
170-
/** @noinspection LaravelFunctionsInspection */
171-
if (env('TEST_HTML_DEBUG', false)) {
172-
file_put_contents(Hyde::path('_site/test.html'), $this->html);
173-
echo "\e[0;32mCreated file: \e[0m".realpath(Hyde::path('_site/test.html'));
174-
}
175163
} catch (Throwable $exception) {
176-
/** @noinspection LaravelFunctionsInspection */
177-
if (env('TEST_HTML_DEBUG', false)) {
178-
throw $exception;
179-
}
180164
$this->fail($exception->getMessage());
181165
}
182166

@@ -226,11 +210,4 @@ protected function assertDontSee(string $text): self
226210

227211
return $this;
228212
}
229-
230-
protected function allGood(): self
231-
{
232-
// Just an empty helper so we get easier Git diffs when adding new assertions.
233-
234-
return $this;
235-
}
236213
}

packages/framework/tests/Unit/BreadcrumbsComponentTest.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@
44

55
namespace Hyde\Framework\Testing\Unit;
66

7-
use Hyde\Framework\Views\Components\BreadcrumbsComponent;
7+
use Mockery;
8+
use Illuminate\View\Factory;
89
use Hyde\Pages\MarkdownPage;
9-
use Hyde\Support\Facades\Render;
1010
use Hyde\Support\Models\Route;
1111
use Hyde\Testing\UnitTestCase;
12-
use Illuminate\Support\Facades\Facade;
12+
use Hyde\Support\Facades\Render;
1313
use Illuminate\Support\Facades\View;
14-
use Illuminate\View\Factory;
15-
use Mockery;
14+
use Illuminate\Support\Facades\Facade;
15+
use Hyde\Framework\Views\Components\BreadcrumbsComponent;
1616

1717
/**
1818
* @covers \Hyde\Framework\Views\Components\BreadcrumbsComponent
1919
*
20-
* @see \Hyde\Framework\Testing\Unit\BreadcrumbsComponentViewTest
20+
* @see \Hyde\Framework\Testing\Unit\Views\BreadcrumbsComponentViewTest
2121
*/
2222
class BreadcrumbsComponentTest extends UnitTestCase
2323
{

packages/framework/tests/Unit/BreadcrumbsComponentViewTest.php renamed to packages/framework/tests/Unit/Views/BreadcrumbsComponentViewTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

55
declare(strict_types=1);
66

7-
namespace Hyde\Framework\Testing\Unit;
7+
namespace Hyde\Framework\Testing\Unit\Views;
88

9-
use Hyde\Framework\Views\Components\BreadcrumbsComponent;
9+
use Hyde\Testing\TestCase;
1010
use Hyde\Pages\MarkdownPage;
1111
use Hyde\Support\Facades\Render;
12-
use Hyde\Testing\TestCase;
1312
use Illuminate\Support\Facades\Blade;
13+
use Hyde\Framework\Views\Components\BreadcrumbsComponent;
1414

1515
/**
1616
* @covers \Hyde\Framework\Views\Components\BreadcrumbsComponent

packages/framework/tests/Unit/Views/Components/LinkComponentTest.php renamed to packages/framework/tests/Unit/Views/LinkComponentTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
declare(strict_types=1);
44

5-
namespace Hyde\Framework\Testing\Unit\Views\Components;
5+
namespace Hyde\Framework\Testing\Unit\Views;
66

7-
use Hyde\Foundation\Facades\Routes;
8-
use Hyde\Support\Facades\Render;
97
use Hyde\Testing\TestCase;
8+
use Hyde\Support\Facades\Render;
9+
use Hyde\Foundation\Facades\Routes;
1010
use Illuminate\Support\Facades\Blade;
1111

1212
/**

0 commit comments

Comments
 (0)