From a4d797b943a8f637f19e4a735cd036ff5290bb8e Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 00:32:57 -0400 Subject: [PATCH 01/16] adding new pre-commit hooks for ensuring code security and quality --- .pre-commit-config.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..961f0ce --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,14 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v5.0.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-added-large-files + - repo: https://github.com/gitleaks/gitleaks + rev: v8.24.0 + hooks: + - id: gitleaks From 3222a84f89a2ab987b3114b5082d800e9832b5bc Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 01:47:51 -0400 Subject: [PATCH 02/16] adding phpunit regex to .gitignore and aclarations to the .env.example --- .env.example | 8 +++++--- .gitignore | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index bb5bb70..f7595b8 100644 --- a/.env.example +++ b/.env.example @@ -53,9 +53,11 @@ REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 -MAIL_MAILER=log -MAIL_HOST=127.0.0.1 -MAIL_PORT=2525 +# change accordingly if you are not using Laravel Sail +FORWARD_MAILPIT_PORT=2525 +MAIL_MAILER=smtp +MAIL_HOST=mailpit +MAIL_PORT="${FORWARD_MAILPIT_PORT:-2525}" MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null diff --git a/.gitignore b/.gitignore index ca55740..28b8f39 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ justfile .env.testing .env.production .phpunit.result.cache +.phpunit* /public/hot /public/storage From 4361a65399fa009fe2d7cc8b9744f9462002f030 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:02:03 -0400 Subject: [PATCH 03/16] fixing formatting --- README.md | 1 - resources/views/livewire/segments/search.blade.php | 1 - resources/views/livewire/task/partials/breadcrumbs.blade.php | 1 - resources/views/test.blade.php | 1 - 4 files changed, 4 deletions(-) diff --git a/README.md b/README.md index 39fa594..362051b 100644 --- a/README.md +++ b/README.md @@ -93,4 +93,3 @@ Inbox View ![Search](.screenshots/search-functionality.png) Search Functionality - diff --git a/resources/views/livewire/segments/search.blade.php b/resources/views/livewire/segments/search.blade.php index c93af0e..05e68b3 100644 --- a/resources/views/livewire/segments/search.blade.php +++ b/resources/views/livewire/segments/search.blade.php @@ -399,4 +399,3 @@ public function updatedNoDueDate($value): void {{-- task modal ready --}} - diff --git a/resources/views/livewire/task/partials/breadcrumbs.blade.php b/resources/views/livewire/task/partials/breadcrumbs.blade.php index 2ec8b93..c232416 100644 --- a/resources/views/livewire/task/partials/breadcrumbs.blade.php +++ b/resources/views/livewire/task/partials/breadcrumbs.blade.php @@ -32,4 +32,3 @@ - diff --git a/resources/views/test.blade.php b/resources/views/test.blade.php index 4d9f8b6..8d3903c 100644 --- a/resources/views/test.blade.php +++ b/resources/views/test.blade.php @@ -4,4 +4,3 @@ $user->is_super_admin = true; @endphp - From 930913db4abd5ba974975a5c2f2502b4d88a13ef Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:02:31 -0400 Subject: [PATCH 04/16] adding dusk prop to avatar-or-icon component --- resources/views/components/avatar-or-icon.blade.php | 8 ++++++-- resources/views/livewire/layout/sidebar.blade.php | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/resources/views/components/avatar-or-icon.blade.php b/resources/views/components/avatar-or-icon.blade.php index 7180fd9..5eaa7d8 100644 --- a/resources/views/components/avatar-or-icon.blade.php +++ b/resources/views/components/avatar-or-icon.blade.php @@ -12,7 +12,11 @@ $showAvatar = false; @endphp @if ($showAvatar && !$forceToShowIcon) - + except(['class', 'icon-class', 'avatar-class']) }} + class="{{$attributes->get('avatar-class')}}" /> @else - + except(['class', 'icon-class', 'avatar-class','name']) }} + class="{{$attributes->get('icon-class')}}" /> @endif diff --git a/resources/views/livewire/layout/sidebar.blade.php b/resources/views/livewire/layout/sidebar.blade.php index 1971ac3..f8c810d 100644 --- a/resources/views/livewire/layout/sidebar.blade.php +++ b/resources/views/livewire/layout/sidebar.blade.php @@ -16,7 +16,7 @@ - + From db53ab7e1cfb3454c3b9993408526c3710bc4c87 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:03:15 -0400 Subject: [PATCH 05/16] including the dusk prop from profile avatar to the sidebar dusk component --- tests/Browser/Components/Sidebar.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/Browser/Components/Sidebar.php b/tests/Browser/Components/Sidebar.php index 59722c0..bf52ba3 100644 --- a/tests/Browser/Components/Sidebar.php +++ b/tests/Browser/Components/Sidebar.php @@ -31,6 +31,7 @@ public function assert(Browser $browser): void public function elements(): array { return [ + '@profile-avatar' => '@profile-avatar', '@theme-controller' => '@theme-controller', '@next-7-days' => '@next-7-days', '@logout' => '@logout', From 735e7de0ffd98bc5d520b75d69844180d18dac04 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:03:55 -0400 Subject: [PATCH 06/16] refactoring set-profile-picture to have a better and more intuitive UX --- .../livewire/set-profile-picture.blade.php | 85 +++++++++++++++---- 1 file changed, 70 insertions(+), 15 deletions(-) diff --git a/resources/views/livewire/set-profile-picture.blade.php b/resources/views/livewire/set-profile-picture.blade.php index 4e76390..a438ecc 100644 --- a/resources/views/livewire/set-profile-picture.blade.php +++ b/resources/views/livewire/set-profile-picture.blade.php @@ -1,16 +1,21 @@ true])] class extends Component { + use WithFileUploads; use Toast; + public $avatar; + function mount() { if (!auth()->user()->profile_picture && !auth()->user()->has_asked_for_profile_picture) { @@ -20,18 +25,56 @@ function mount() return redirect()->route('index'); } - function continue() + function setPicture() { if (auth()->user()->profile_picture) { auth()->user()->has_asked_for_profile_picture = true; return redirect()->route('index'); } - $this->warning( - title: 'Profile Picture Required', - position: 'toast-bottom toast-end text-wrap', - description: "Please select your profile picture before proceeding, if you don't want to click Skip for now. If you have changed your profile picture right now but can't move on wait a few seconds and click Next again", - icon: 'o-exclamation-triangle' - ); + try { + $validated = $this->validate( + ['avatar' => 'image|max:2048'], + [ + 'avatar.image' => 'The avatar must be an image.', + 'avatar.max' => 'Your profile picture may not be greater than 1MB.', + ] + ); + + // Validation passed, proceed with logic + } catch (ValidationException $e) { + $errors = $e->validator->errors(); // Get all validation errors + + // Example: Get all error messages as an array + $errorMessages = $errors->all(); + + // Example: Get errors for a specific field + $avatarErrors = $errors->get('avatar'); + + // Handle errors (store them in session, return JSON, etc.) + $this->warning( + title: $avatarErrors[0], + position: 'toast-bottom toast-end text-wrap', + icon: 'o-exclamation-triangle' + ); + return; + } + + $user = auth()->user(); + $diskToStore = config('filesystems.default') === 'local' ? 'public' : config('filesystems.default'); + $path = $this->avatar->store('profile_pictures', $diskToStore); + + if ($user->profile_picture) { + Storage::delete($user->profile_picture); + } + if ($diskToStore === 'public') { + $user->profile_picture = $path; + } else { + // making the temporaryUrl not that temporary + $user->profile_picture = Storage::disk($diskToStore)->temporaryUrl($path, now()->addYears(100)); + } + + $user->save(); + return redirect()->route('index'); } function skipForNow() @@ -46,13 +89,25 @@ function skipForNow()
- - + + @csrf + +
+
+ + +
+
+
+ +
+
+ + + + +
- - - - -
From 323efaf1d813b3176825dfd4d6a55c53e4457179 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:04:16 -0400 Subject: [PATCH 07/16] deepening dusk register tests --- tests/Browser/RegisterTest.php | 68 ++++++++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 4 deletions(-) diff --git a/tests/Browser/RegisterTest.php b/tests/Browser/RegisterTest.php index f902a65..06339f6 100644 --- a/tests/Browser/RegisterTest.php +++ b/tests/Browser/RegisterTest.php @@ -2,34 +2,94 @@ namespace Tests\Browser; +use App\Models\User; use Illuminate\Foundation\Testing\DatabaseTruncation; +use Illuminate\Http\UploadedFile; +use Illuminate\Support\Facades\URL; use Laravel\Dusk\Browser; +use Tests\Browser\Components\Sidebar; use Tests\DuskTestCase; class RegisterTest extends DuskTestCase { use DatabaseTruncation; + protected $userEmail = 'marcos@marcos.com'; // Store email as a class property + /** - * A basic browser test example. + * Common registration method */ - public function test_user_can_register(): void + protected function register_user_and_get_verification_url(): string { $this->browse(function (Browser $browser) { $browser ->visit('/register') ->type('@register-user-name', 'randomUser239') ->type('@register-full-name', 'Marcos Aparicio') - ->type('@register-email', 'marcos@marcos.com') + ->type('@register-email', $this->userEmail) // Use class-level email ->type('@register-password', 'password') ->type('@register-confirm-password', 'password') ->press('Register') ->pause(2000); $browser->assertSee('Resend Verification Email'); $this->assertDatabaseHas('users', [ - 'email' => 'marcos@marcos.com', + 'email' => $this->userEmail, // Use class-level email 'email_verified_at' => null, ]); }); + + // Retrieve the newly created user + $user = User::where('email', $this->userEmail)->firstOrFail(); // Use class-level email + + // Generate the email verification URL directly from the user + $verificationUrl = URL::signedRoute('verification.verify', [ + 'id' => $user->id, + 'hash' => sha1($user->email), + ]); + + // Ensure we got the verification URL + $this->assertNotEmpty($verificationUrl, 'Failed to generate verification URL.'); + + return $verificationUrl; + } + + public function test_user_can_register_without_setting_profile_picture(): void + { + $verificationUrl = $this->register_user_and_get_verification_url(); + // Now visit the email verification link, which will redirect to the set profile picture component + // skip the selection + $this->browse(function (Browser $browser) use ($verificationUrl) { + $browser + ->visit($verificationUrl) + ->press('Skip for Now') + ->pause(1000) + ->assertUrlIs(route('inbox')); + }); + } + + public function test_user_can_register_while_setting_profile_picture(): void + { + $verificationUrl = $this->register_user_and_get_verification_url(); + $user = User::where('email', $this->userEmail)->firstOrFail(); // Use class-level email + + $fakePic = UploadedFile::fake()->image('test_image.jpg', 200, 200); + $this->browse(function (Browser $browser) use ($verificationUrl, $fakePic, $user) { + $browser + ->visit($verificationUrl) + ->attach( + 'profile-picture', + $fakePic->getPathname(), + ) + ->pause(1400) + ->assertVisible('img') + ->press('Set Picture') + ->pause(1000) + ->assertUrlIs(route('inbox')) + ->within(new Sidebar, function (Browser $browser) use ($user) { + $user = User::where('email', $user->email)->firstOrFail(); + $browser + ->assertAttribute('@profile-avatar img', 'src', $user->getProfilePictureUrl()); + }); + }); } } From d3748aa3a95b1a3d832be5d13e56e950410c3df3 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:17:45 -0400 Subject: [PATCH 08/16] adding new github actions for testing --- .github/workflows/build-and-deploy.yml | 14 +++++--- .github/workflows/tests.yml | 44 ++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index b4f7735..dad1c32 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -1,14 +1,18 @@ name: Build and deploy Application +# on: +# push: +# branches: +# - prod +# workflow_dispatch: on: - push: - branches: - - prod - workflow_dispatch: + workflow_run: + workflows: [Tests] + types: [completed] jobs: build: - runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'prod' }} # Run only if the first workflow succeeded and push was to prod steps: - uses: actions/checkout@v4 - name: Setup PHP diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..554365d --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,44 @@ +name: Tests + +on: [push] +jobs: + dusk-php: + runs-on: ubuntu-latest + env: + APP_URL: "http://127.0.0.1:8000" + DB_USERNAME: root + DB_DATABASE: tasktango + DB_PASSWORD: root + MAIL_MAILER: log + steps: + - uses: actions/checkout@v4 + - name: Prepare The Environment + run: cp .env.example .env + - name: Create Database + run: | + sudo systemctl start mysql + mysql --user="root" --password="root" -e "CREATE DATABASE \`tasktango\` character set UTF8mb4 collate utf8mb4_bin;" + - name: Install Composer Dependencies + run: composer install --no-progress --prefer-dist --optimize-autoloader + - name: Generate Application Key + run: php artisan key:generate + - name: Upgrade Chrome Driver + run: php artisan dusk:chrome-driver --detect + - name: Start Chrome Driver + run: ./vendor/laravel/dusk/bin/chromedriver-linux --port=9515 & + - name: Run Laravel Server + run: php artisan serve --no-reload & + - name: Run Dusk Tests + run: php artisan dusk + - name: Upload Screenshots + if: failure() + uses: actions/upload-artifact@v4 + with: + name: screenshots + path: tests/Browser/screenshots + - name: Upload Console Logs + if: failure() + uses: actions/upload-artifact@v4 + with: + name: console + path: tests/Browser/console From ecce017e0dceaa9e6fb96100a0e2dbb76afe65a7 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:22:04 -0400 Subject: [PATCH 09/16] building the frontend when testing for dusk --- .github/workflows/tests.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 554365d..94bad27 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,6 +24,14 @@ jobs: run: php artisan key:generate - name: Upgrade Chrome Driver run: php artisan dusk:chrome-driver --detect + - name: Use Node.js 18 (to build frontend) + uses: actions/setup-node@v2 + with: + node-version: "18" + - name: Build Frontend + run: | + npm ci + npm run build - name: Start Chrome Driver run: ./vendor/laravel/dusk/bin/chromedriver-linux --port=9515 & - name: Run Laravel Server From 22d65054e585d4d6f12852812dca533707877fe6 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:24:40 -0400 Subject: [PATCH 10/16] WIP --- .github/workflows/tests.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 94bad27..6481106 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -28,10 +28,6 @@ jobs: uses: actions/setup-node@v2 with: node-version: "18" - - name: Build Frontend - run: | - npm ci - npm run build - name: Start Chrome Driver run: ./vendor/laravel/dusk/bin/chromedriver-linux --port=9515 & - name: Run Laravel Server From 78dafb645f9b0b713c327cc055ac62becef95b10 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:26:16 -0400 Subject: [PATCH 11/16] adding database host to tests.yml --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6481106..bf88a95 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,6 +8,7 @@ jobs: APP_URL: "http://127.0.0.1:8000" DB_USERNAME: root DB_DATABASE: tasktango + DB_HOST: 127.0.0.1 DB_PASSWORD: root MAIL_MAILER: log steps: From b1180f7324944c5719f5b74c4faf553fe10944c8 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:28:07 -0400 Subject: [PATCH 12/16] WIP --- .github/workflows/tests.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index bf88a95..492a232 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -29,6 +29,10 @@ jobs: uses: actions/setup-node@v2 with: node-version: "18" + - name: Build Frontend + run: | + npm ci + npm run build - name: Start Chrome Driver run: ./vendor/laravel/dusk/bin/chromedriver-linux --port=9515 & - name: Run Laravel Server From 30d5068ef5cdc23beba45cff3cda549584c2573e Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:31:18 -0400 Subject: [PATCH 13/16] replacing dusk tests with non e2e tests --- .github/workflows/tests.yml | 28 ++-------------------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 492a232..30a6ee5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -23,31 +23,7 @@ jobs: run: composer install --no-progress --prefer-dist --optimize-autoloader - name: Generate Application Key run: php artisan key:generate - - name: Upgrade Chrome Driver - run: php artisan dusk:chrome-driver --detect - - name: Use Node.js 18 (to build frontend) - uses: actions/setup-node@v2 - with: - node-version: "18" - - name: Build Frontend - run: | - npm ci - npm run build - - name: Start Chrome Driver - run: ./vendor/laravel/dusk/bin/chromedriver-linux --port=9515 & - name: Run Laravel Server run: php artisan serve --no-reload & - - name: Run Dusk Tests - run: php artisan dusk - - name: Upload Screenshots - if: failure() - uses: actions/upload-artifact@v4 - with: - name: screenshots - path: tests/Browser/screenshots - - name: Upload Console Logs - if: failure() - uses: actions/upload-artifact@v4 - with: - name: console - path: tests/Browser/console + - name: Run Tests + run: php artisan test From ec43b715efabe4dee6555b7f74c053449f81a9b1 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:36:21 -0400 Subject: [PATCH 14/16] adding needed super admin variables for the testing github action --- .github/workflows/tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 30a6ee5..10e95bf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -11,6 +11,9 @@ jobs: DB_HOST: 127.0.0.1 DB_PASSWORD: root MAIL_MAILER: log + SUPER_ADMIN_USERNAME: super_admin + SUPER_ADMIN_EMAIL: admin@admin.com + SUPER_ADMIN_PASSWORD: super-secure-password steps: - uses: actions/checkout@v4 - name: Prepare The Environment From 18aef6fb9e662e9f17edda1cf0bdb3ef7fd5cb42 Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:53:03 -0400 Subject: [PATCH 15/16] correcting phpunit.xml thrown errors that were producing exit code 1 in the test github workflow --- phpunit.xml | 2 +- tests/Feature/ExampleTest.php | 19 ------------------- .../Feature/Livewire/Task/AddCommentTest.php | 16 ---------------- .../Main/BasicDeletingTasksTest.php | 2 +- tests/{Feature => }/Main/BasicLabelTest.php | 2 +- .../{Feature => }/Main/BasicTaskModalTest.php | 2 +- .../Main/BasicTaskSearchTest.php | 2 +- tests/{Feature => }/Main/BasicTaskTest.php | 3 +-- tests/Unit/User/IsOauthFunctionTesting.php | 3 +-- 9 files changed, 7 insertions(+), 44 deletions(-) delete mode 100644 tests/Feature/ExampleTest.php delete mode 100644 tests/Feature/Livewire/Task/AddCommentTest.php rename tests/{Feature => }/Main/BasicDeletingTasksTest.php (99%) rename tests/{Feature => }/Main/BasicLabelTest.php (96%) rename tests/{Feature => }/Main/BasicTaskModalTest.php (99%) rename tests/{Feature => }/Main/BasicTaskSearchTest.php (99%) rename tests/{Feature => }/Main/BasicTaskTest.php (99%) diff --git a/phpunit.xml b/phpunit.xml index 81be799..303f4ee 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -12,7 +12,7 @@ tests/Feature - tests/Feature/Main + tests/Main diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php deleted file mode 100644 index 8364a84..0000000 --- a/tests/Feature/ExampleTest.php +++ /dev/null @@ -1,19 +0,0 @@ -get('/'); - - $response->assertStatus(200); - } -} diff --git a/tests/Feature/Livewire/Task/AddCommentTest.php b/tests/Feature/Livewire/Task/AddCommentTest.php deleted file mode 100644 index 59780f6..0000000 --- a/tests/Feature/Livewire/Task/AddCommentTest.php +++ /dev/null @@ -1,16 +0,0 @@ -assertSee(''); - // } -} diff --git a/tests/Feature/Main/BasicDeletingTasksTest.php b/tests/Main/BasicDeletingTasksTest.php similarity index 99% rename from tests/Feature/Main/BasicDeletingTasksTest.php rename to tests/Main/BasicDeletingTasksTest.php index 08db2da..fe5989c 100644 --- a/tests/Feature/Main/BasicDeletingTasksTest.php +++ b/tests/Main/BasicDeletingTasksTest.php @@ -1,6 +1,6 @@ 'google', @@ -22,5 +22,4 @@ public function test_to_fail_password_filled_with_provider_details_too (): void // Assert that the user is recognized as an OAuth account $this->assertFalse($userOAuth->isOauthAccount()); } - } } From aaa5683deefba76b531e873ece7e97bab0c430ea Mon Sep 17 00:00:00 2001 From: marcos-aparicio Date: Thu, 20 Mar 2025 05:56:56 -0400 Subject: [PATCH 16/16] renaming job in tests.yml --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 10e95bf..8c23161 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,7 +2,7 @@ name: Tests on: [push] jobs: - dusk-php: + tests: runs-on: ubuntu-latest env: APP_URL: "http://127.0.0.1:8000"