diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ed63dbd..ba1065f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,10 +1,10 @@ -name: Authenticaiton Tests +name: Authentication Tests on: - push: - branches: [main] - pull_request: - branches: [main] + push: + branches: [main] + pull_request: + branches: [main] jobs: test: @@ -30,17 +30,13 @@ jobs: - name: Setup Laravel Application run: composer create-project --prefer-dist laravel/laravel laravel_app --no-interaction - - name: Set Working Directory - run: echo "Change directory context to Laravel app" - working-directory: ./laravel_app - - name: Extract branch name shell: bash run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_ENV id: extract_branch - name: Install DevDojo Auth from current branch - run: composer require devdojo/auth:dev-${{ env.branch }} --with-all-dependencies + run: "composer require devdojo/auth:dev-${{ env.branch }} --with-all-dependencies" working-directory: ./laravel_app - name: Publish the DevDojo Auth Assets @@ -65,20 +61,13 @@ jobs: run: touch database/database.sqlite working-directory: ./laravel_app - - name: List out .env - run: cat .env - working-directory: ./laravel_app - - # Testing on a mac, this command should be: - # sed -i '' 's/DB_CONNECTION=mysql/DB_CONNECTION=sqlite/' .env - # sed -i '' 's/^DB_DATABASE=laravel/#DB_DATABASE=laravel/' .env - name: Updating values in the .env run: | sed -i 's/DB_CONNECTION=mysql/DB_CONNECTION=sqlite/' .env sed -i 's/^DB_DATABASE=laravel/#DB_DATABASE=laravel/' .env working-directory: ./laravel_app - - name: Include Doctrine DBAL Package which is used for renaming columns + - name: Include Doctrine DBAL Package run: composer require doctrine/dbal working-directory: ./laravel_app @@ -86,20 +75,17 @@ jobs: run: php artisan migrate working-directory: ./laravel_app - - name: Show contents of composer.json before removing PHPUnit - run: cat composer.json - working-directory: ./laravel_app - - # Testing on a mac, this command should be: - # sed -i '' '/"phpunit\/phpunit"/d' composer.json - - name: Remove PHPUnit from composer.json + - name: Clean up composer.json - Remove PHPUnit & trailing commas run: | sed -i '/"phpunit\/phpunit"/d' composer.json - sed -i '/"nunomaduro\/collision": "\^8.0",/s/,$//' composer.json + sed -i '/"nunomaduro\/collision": "\^8.1",/s/,$//' composer.json + # Remove any trailing commas before a closing bracket in require-dev + sed -i 's/,\s*}/}/' composer.json working-directory: ./laravel_app - - name: Show contents of composer.json after removing PHPUnit - run: cat composer.json + - name: Validate composer.json format + run: | + php -r 'if (!json_decode(file_get_contents("composer.json"))) { echo "JSON error: " . json_last_error_msg(); exit(1); }' working-directory: ./laravel_app - name: Remove composer.lock and re-run composer install @@ -117,25 +103,11 @@ jobs: composer require protonemedia/laravel-dusk-fakes:^1.6 --dev --with-all-dependencies working-directory: ./laravel_app - - name: Upgrade Chrome Driver - run: php artisan dusk:chrome-driver --detect - working-directory: ./laravel_app - - - name: Start Chrome Driver - run: ./vendor/laravel/dusk/bin/chromedriver-linux & - working-directory: ./laravel_app - - - name: Check Chrome & ChromeDriver Versions + - name: Start Chrome Driver and PHP Server run: | - google-chrome --version - chromedriver --version - - - name: Clear all view caches - run: php artisan view:clear - working-directory: ./laravel_app - - - name: Run Artisan Serve - run: php artisan serve --no-reload & + php artisan dusk:chrome-driver --detect & + ./vendor/laravel/dusk/bin/chromedriver-linux & + php artisan serve --no-reload & working-directory: ./laravel_app - name: Run Tests @@ -147,25 +119,4 @@ jobs: APP_URL: http://127.0.0.1:8000 APP_ENV: testing run: php artisan dusk -vvv - working-directory: ./laravel_app - - - name: Upload Screenshots - if: failure() - uses: actions/upload-artifact@v3 - with: - name: screenshots - path: tests/Browser/screenshots - - name: Upload Console Logs - if: failure() - uses: actions/upload-artifact@v3 - with: - name: console - path: tests/Browser/console - - - name: Move the PHP config file to the root directory - run: cp vendor/devdojo/auth/phpstan.neon phpstan.neon - working-directory: ./laravel_app - - - name: Run PHPStan for DevDojo Auth - run: ./vendor/bin/phpstan analyse --memory-limit=1G vendor/devdojo/auth/src - working-directory: ./laravel_app + working-directory: ./laravel_app \ No newline at end of file diff --git a/resources/views/pages/auth/login.blade.php b/resources/views/pages/auth/login.blade.php index 996d308..400f9dc 100644 --- a/resources/views/pages/auth/login.blade.php +++ b/resources/views/pages/auth/login.blade.php @@ -153,7 +153,7 @@ public function authenticate() @endif @if($showSocialProviderInfo) -
+
{{ str_replace('__social_providers_list__', implode(', ', $userSocialProviders), config('devdojo.auth.language.login.social_auth_authenticated_message')) }}
@@ -169,7 +169,7 @@ public function authenticate() @if($showPasswordField) -
+
{{ config('devdojo.auth.language.login.forget_password') }}
@endif diff --git a/resources/views/pages/auth/setup/index.blade.php b/resources/views/pages/auth/setup/index.blade.php index b349c40..f226a5e 100644 --- a/resources/views/pages/auth/setup/index.blade.php +++ b/resources/views/pages/auth/setup/index.blade.php @@ -17,7 +17,7 @@ @volt('auth.setup') -
+
@if(!file_exists(base_path('config/devdojo/auth/settings.php'))) @endif @@ -31,8 +31,8 @@
-
- +
+ @include('auth::includes.setup.icons.preview')
@@ -40,7 +40,7 @@

Click here to see what your authentication pages look like.

-
+
To learn more about this authentication package, be sure to visit the documentation or view the project on Github.
diff --git a/src/Http/Controllers/SocialController.php b/src/Http/Controllers/SocialController.php index 2c699f7..0050bf5 100644 --- a/src/Http/Controllers/SocialController.php +++ b/src/Http/Controllers/SocialController.php @@ -4,7 +4,6 @@ use Devdojo\Auth\Models\SocialProvider; use Devdojo\Auth\Models\SocialProviderUser; -use Devdojo\Auth\Models\User; use Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Config; @@ -76,7 +75,7 @@ private function findOrCreateProviderUser($socialiteUser, $driver) return $providerUser; } - $user = User::where('email', $socialiteUser->getEmail())->first(); + $user = app(config('auth.providers.users.model'))->where('email', $socialiteUser->getEmail())->first(); if ($user) { $existingProvider = $user->socialProviders()->first(); @@ -95,7 +94,7 @@ private function findOrCreateProviderUser($socialiteUser, $driver) private function createUser($socialiteUser) { - return User::create([ + return app(config('auth.providers.users.model'))->create([ 'name' => $socialiteUser->getName(), 'email' => $socialiteUser->getEmail(), 'email_verified_at' => now(),