diff --git a/.dockerignore b/.dockerignore
index 3a0ec49f7..2eba3cb46 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -23,3 +23,4 @@ yarn-error.log
.rnd
/.ssh
.ignition.json
+.env.dusk.local
diff --git a/.gitignore b/.gitignore
index 09504afee..1a021ab3e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,4 @@ _ide_helper_models.php
/.ssh
scripts/load-test/*
.ignition.json
+.env.dusk.local
diff --git a/app/Providers/DuskServiceProvider.php b/app/Providers/DuskServiceProvider.php
new file mode 100644
index 000000000..07e0e8709
--- /dev/null
+++ b/app/Providers/DuskServiceProvider.php
@@ -0,0 +1,21 @@
+visit('/login')
+ ->type('email', 'test@example.com')
+ ->type('password', 'password')
+ ->press('Login');
+ });
+ }
+}
diff --git a/config/app.php b/config/app.php
index 34484fe41..07a883019 100644
--- a/config/app.php
+++ b/config/app.php
@@ -200,6 +200,7 @@ return [
App\Providers\HorizonServiceProvider::class,
App\Providers\RouteServiceProvider::class,
App\Providers\TelescopeServiceProvider::class,
+ App\Providers\DuskServiceProvider::class,
],
diff --git a/resources/views/components/modal-confirmation.blade.php b/resources/views/components/modal-confirmation.blade.php
index e31c039f8..3ebefb396 100644
--- a/resources/views/components/modal-confirmation.blade.php
+++ b/resources/views/components/modal-confirmation.blade.php
@@ -178,7 +178,7 @@
-
+
@if (!empty($checkboxes))
@@ -193,7 +193,7 @@
x-bind:checked="selectedActions.includes('{{ $checkbox['id'] }}')" />
@endforeach
-
+
@@ -280,7 +280,8 @@
@if (!empty($checkboxes))
-
+
Back
@else
@@ -290,7 +291,8 @@
@endif
-
+
Back
browse(function (Browser $browser) use ($password, $email) {
- $browser->visit('/login')
- ->type('email', $email)
- ->type('password', $password)
- ->press('Login')
+ $this->browse(callback: function (Browser $browser) {
+ $browser->loginWithRootUser()
->assertPathIs('/')
- ->screenshot('login');
+ ->assertSee('Dashboard');
});
}
}
diff --git a/tests/Browser/Pages/HomePage.php b/tests/Browser/Pages/HomePage.php
deleted file mode 100644
index 45d9283f3..000000000
--- a/tests/Browser/Pages/HomePage.php
+++ /dev/null
@@ -1,36 +0,0 @@
-
- */
- public function elements(): array
- {
- return [
- '@element' => '#selector',
- ];
- }
-}
diff --git a/tests/Browser/Pages/Page.php b/tests/Browser/Pages/Page.php
deleted file mode 100644
index eb9a2ded2..000000000
--- a/tests/Browser/Pages/Page.php
+++ /dev/null
@@ -1,20 +0,0 @@
-
- */
- public static function siteElements(): array
- {
- return [
- '@element' => '#selector',
- ];
- }
-}
diff --git a/tests/Browser/Project/ProjectAddNewTest.php b/tests/Browser/Project/ProjectAddNewTest.php
new file mode 100644
index 000000000..0dae7603e
--- /dev/null
+++ b/tests/Browser/Project/ProjectAddNewTest.php
@@ -0,0 +1,34 @@
+browse(function (Browser $browser) {
+ $browser->loginWithRootUser()
+ ->visit('/projects')
+ ->pressAndWaitFor('+ Add', 1)
+ ->assertSee('New Project')
+ ->screenshot('project-add-new-1')
+ ->type('name', 'Test Project')
+ ->screenshot('project-add-new-2')
+ ->press('Continue')
+ ->assertSee('Test Project.')
+ ->screenshot('project-add-new-3');
+ });
+ }
+}
diff --git a/tests/Browser/Project/ProjectSearchTest.php b/tests/Browser/Project/ProjectSearchTest.php
new file mode 100644
index 000000000..aedf17183
--- /dev/null
+++ b/tests/Browser/Project/ProjectSearchTest.php
@@ -0,0 +1,29 @@
+browse(function (Browser $browser) {
+ $browser->loginWithRootUser()
+ ->visit('/projects')
+ ->type('[x-model="search"]', 'joi43j4oi32j4o2')
+ ->assertSee('No project found with the search term "joi43j4oi32j4o2".')
+ ->screenshot('project-search-not-found');
+ });
+ }
+}
diff --git a/tests/Browser/Project/ProjectTest.php b/tests/Browser/Project/ProjectTest.php
new file mode 100644
index 000000000..e4707da8a
--- /dev/null
+++ b/tests/Browser/Project/ProjectTest.php
@@ -0,0 +1,27 @@
+browse(function (Browser $browser) {
+ $browser->loginWithRootUser()
+ ->visit('/projects')
+ ->assertSee('Projects');
+ });
+ }
+}