From 31c816ed0d57d7c34fb30150f733317d20ebe51c Mon Sep 17 00:00:00 2001 From: Alexandre D'Eschambeault Date: Tue, 26 Mar 2024 09:50:15 -0400 Subject: [PATCH 1/6] build(deps): add Laravel 11 support --- .github/workflows/tests.yml | 2 +- composer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b2f91b1..fc519c9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,7 +10,7 @@ jobs: fail-fast: true matrix: php: [8.1, 8.2, 8.3] - laravel: [10.*] + laravel: [10.*, 11.*] dependency-version: [prefer-lowest, prefer-stable] name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }} diff --git a/composer.json b/composer.json index c39d975..d4d914d 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,7 @@ ], "require": { "php": "^8.1", - "laravel/framework": "^10.0" + "laravel/framework": "^10.0|^11.0" }, "require-dev": { "mockery/mockery": "^1.4", From ebcde526988ecb2eafbc4708f65fd0153604f7cf Mon Sep 17 00:00:00 2001 From: Alexandre D'Eschambeault Date: Tue, 26 Mar 2024 10:00:25 -0400 Subject: [PATCH 2/6] ci: laravel 11 doesn't support php 8.1 --- .github/workflows/tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fc519c9..fcc1e5c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -12,6 +12,9 @@ jobs: php: [8.1, 8.2, 8.3] laravel: [10.*, 11.*] dependency-version: [prefer-lowest, prefer-stable] + exclude: + - php: 8.1 + laravel: 11.* name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }} From 3ddacfaf93be9df89d50261a123857bf650126dc Mon Sep 17 00:00:00 2001 From: Alexandre D'Eschambeault Date: Tue, 26 Mar 2024 10:16:12 -0400 Subject: [PATCH 3/6] build(deps): update phpunit to v10 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index d4d914d..cd740fb 100644 --- a/composer.json +++ b/composer.json @@ -26,7 +26,7 @@ }, "require-dev": { "mockery/mockery": "^1.4", - "phpunit/phpunit": "^9.3.3", + "phpunit/phpunit": "^10.5", "squizlabs/php_codesniffer": "^3.6" }, "autoload": { From bf57becfab744135ccb5561bf64ab791101dfd3c Mon Sep 17 00:00:00 2001 From: Alexandre D'Eschambeault Date: Tue, 26 Mar 2024 10:35:47 -0400 Subject: [PATCH 4/6] test: migrate phpunit.xml to v10 format --- phpunit.xml.dist | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/phpunit.xml.dist b/phpunit.xml.dist index ddcdd06..53bceab 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,23 +1,17 @@ - +> tests - - + + src/ - - + + From 5f9ea310462e2217071e835c6b68c0ee091f872d Mon Sep 17 00:00:00 2001 From: Justin Dugas Date: Thu, 15 Aug 2024 11:16:24 -0400 Subject: [PATCH 5/6] chore(deps): update phpunit to v11 --- composer.json | 2 +- tests/Auth/AuthEmailBrokerTest.php | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/composer.json b/composer.json index cd740fb..bd12c72 100644 --- a/composer.json +++ b/composer.json @@ -26,7 +26,7 @@ }, "require-dev": { "mockery/mockery": "^1.4", - "phpunit/phpunit": "^10.5", + "phpunit/phpunit": "^11.3", "squizlabs/php_codesniffer": "^3.6" }, "autoload": { diff --git a/tests/Auth/AuthEmailBrokerTest.php b/tests/Auth/AuthEmailBrokerTest.php index 770bb85..a67f820 100755 --- a/tests/Auth/AuthEmailBrokerTest.php +++ b/tests/Auth/AuthEmailBrokerTest.php @@ -25,7 +25,7 @@ public function tearDown(): void public function testIfUserIsNotFoundErrorRedirectIsReturnedWhenSending() { $mocks = $this->getMocks(); - $broker = $this->getMockBuilder(EmailBroker::class)->setMethods(['getUser', 'makeErrorRedirect'])->setConstructorArgs(array_values($mocks))->getMock(); + $broker = $this->getMockBuilder(EmailBroker::class)->onlyMethods(['getUser'])->setConstructorArgs(array_values($mocks))->getMock(); $this->assertEquals(EmailBroker::INVALID_USER, $broker->sendConfirmationLink(null, 'email')); } @@ -33,8 +33,8 @@ public function testIfUserIsNotFoundErrorRedirectIsReturnedWhenSending() public function testIfUserIsNotFoundErrorRedirectIsReturnedWhenResending() { $mocks = $this->getMocks(); - $broker = $this->getMockBuilder(EmailBroker::class)->setMethods(['getUser', 'makeErrorRedirect'])->setConstructorArgs(array_values($mocks))->getMock(); - $broker->expects($this->once())->method('getUser')->will($this->returnValue(null)); + $broker = $this->getMockBuilder(EmailBroker::class)->onlyMethods(['getUser'])->setConstructorArgs(array_values($mocks))->getMock(); + $broker->expects($this->once())->method('getUser')->willReturn(null); $this->assertEquals(EmailBroker::INVALID_USER, $broker->resendConfirmationLink(['credentials'])); } @@ -42,9 +42,9 @@ public function testIfUserIsNotFoundErrorRedirectIsReturnedWhenResending() public function testIfUserIsNotFoundErrorRedirectIsReturnedWhenUserIsAlreadyConfirmed() { $mocks = $this->getMocks(); - $broker = $this->getMockBuilder(EmailBroker::class)->setMethods(['getUser', 'makeErrorRedirect'])->setConstructorArgs(array_values($mocks))->getMock(); + $broker = $this->getMockBuilder(EmailBroker::class)->onlyMethods(['getUser'])->setConstructorArgs(array_values($mocks))->getMock(); $user = m::mock(CanConfirmEmail::class); - $broker->expects($this->once())->method('getUser')->will($this->returnValue($user)); + $broker->expects($this->once())->method('getUser')->willReturn($user); $user->shouldReceive('getConfirmedAtForEmailConfirmation')->once()->andReturn(Carbon::now()); $this->assertEquals(EmailBroker::INVALID_USER, $broker->resendConfirmationLink(['credentials'])); @@ -54,7 +54,7 @@ public function testIfTokenIsRecentlyCreated() { $mocks = $this->getMocks(); $mocks['tokens'] = m::mock(TestTokenRepositoryInterface::class); - $broker = $this->getMockBuilder('Exolnet\Auth\Emails\EmailBroker')->setMethods()->setConstructorArgs(array_values($mocks))->getMock(); + $broker = $this->getMockBuilder('Exolnet\Auth\Emails\EmailBroker')->onlyMethods([])->setConstructorArgs(array_values($mocks))->getMock(); $mocks['tokens']->shouldReceive('recentlyCreatedToken')->once()->with($user = m::mock('Exolnet\Contracts\Auth\CanConfirmEmail'))->andReturn(true); $user->shouldReceive('sendEmailConfirmationNotification')->with('token'); @@ -83,7 +83,7 @@ public function testUserIsRetrievedByCredentials() public function testBrokerCreatesTokenAndRedirectsWithoutErrorWhenSending() { $mocks = $this->getMocks(); - $broker = $this->getMockBuilder(EmailBroker::class)->setMethods()->setConstructorArgs(array_values($mocks))->getMock(); + $broker = $this->getMockBuilder(EmailBroker::class)->onlyMethods([])->setConstructorArgs(array_values($mocks))->getMock(); $user = m::mock(CanConfirmEmail::class); $mocks['tokens']->shouldReceive('create')->once()->with($user, 'email')->andReturn('token'); $user->shouldReceive('sendEmailConfirmationNotification')->with('email', 'token'); @@ -94,7 +94,7 @@ public function testBrokerCreatesTokenAndRedirectsWithoutErrorWhenSending() public function testBrokerCreatesTokenAndRedirectsWithoutErrorWhenResending() { $mocks = $this->getMocks(); - $broker = $this->getMockBuilder(EmailBroker::class)->setMethods()->setConstructorArgs(array_values($mocks))->getMock(); + $broker = $this->getMockBuilder(EmailBroker::class)->onlyMethods([])->setConstructorArgs(array_values($mocks))->getMock(); $mocks['users']->shouldReceive('retrieveByCredentials')->once()->with(['foo'])->andReturn($user = m::mock(CanConfirmEmail::class)); $mocks['tokens']->shouldReceive('create')->once()->with($user, 'email')->andReturn('token'); $user->shouldReceive('getConfirmedAtForEmailConfirmation')->once()->andReturn(null); @@ -116,7 +116,7 @@ public function testRedirectIsReturnedByConfirmWhenUserCredentialsInvalid() public function testRedirectReturnedByRemindWhenRecordDoesntExistInTable() { $creds = ['token' => 'token']; - $broker = $this->getMockBuilder(EmailBroker::class)->setMethods()->setConstructorArgs(array_values($mocks = $this->getMocks()))->getMock(); + $broker = $this->getMockBuilder(EmailBroker::class)->onlyMethods([])->setConstructorArgs(array_values($mocks = $this->getMocks()))->getMock(); $mocks['users']->shouldReceive('retrieveByCredentials')->once()->with(Arr::except($creds, ['token']))->andReturn($user = m::mock(CanConfirmEmail::class)); $mocks['tokens']->shouldReceive('exists')->with($user, 'token')->andReturn(false); @@ -127,7 +127,7 @@ public function testRedirectReturnedByRemindWhenRecordDoesntExistInTable() public function testIfEmailConfirmedRedirectIsReturned() { $creds = ['token' => 'token']; - $broker = $this->getMockBuilder(EmailBroker::class)->setMethods()->setConstructorArgs(array_values($mocks = $this->getMocks()))->getMock(); + $broker = $this->getMockBuilder(EmailBroker::class)->onlyMethods([])->setConstructorArgs(array_values($mocks = $this->getMocks()))->getMock(); $mocks['users']->shouldReceive('retrieveByCredentials')->once()->with(Arr::except($creds, ['token']))->andReturn($user = m::mock(CanConfirmEmail::class)); $mocks['tokens']->shouldReceive('exists')->with($user, 'token')->andReturn(true); $mocks['tokens']->shouldReceive('find')->once()->with($user)->andReturn(['email' => 'email']); @@ -140,8 +140,8 @@ public function testIfEmailConfirmedRedirectIsReturned() public function testConfirmRemovesRecordOnReminderTableAndCallsCallback() { unset($_SERVER['__email.confirm.test']); - $broker = $this->getMockBuilder(EmailBroker::class)->setMethods(['validateConfirm'])->setConstructorArgs(array_values($mocks = $this->getMocks()))->getMock(); - $broker->expects($this->once())->method('validateConfirm')->will($this->returnValue($user = m::mock(CanConfirmEmail::class))); + $broker = $this->getMockBuilder(EmailBroker::class)->onlyMethods(['validateConfirm'])->setConstructorArgs(array_values($mocks = $this->getMocks()))->getMock(); + $broker->expects($this->once())->method('validateConfirm')->willReturn($user = m::mock(CanConfirmEmail::class)); $mocks['tokens']->shouldReceive('find')->once()->with($user)->andReturn(['email' => 'email']); $mocks['tokens']->shouldReceive('delete')->once()->with($user); $callback = function ($user, $email) { From 813e9b276fa92ea6dea2effc0ba3e6fa204901b1 Mon Sep 17 00:00:00 2001 From: Justin Dugas Date: Thu, 15 Aug 2024 11:21:35 -0400 Subject: [PATCH 6/6] chore(deps): deprecate php8.1 --- .github/workflows/tests.yml | 2 +- composer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fcc1e5c..c3e68d2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,7 +9,7 @@ jobs: strategy: fail-fast: true matrix: - php: [8.1, 8.2, 8.3] + php: [8.2, 8.3] laravel: [10.*, 11.*] dependency-version: [prefer-lowest, prefer-stable] exclude: diff --git a/composer.json b/composer.json index bd12c72..559c350 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ } ], "require": { - "php": "^8.1", + "php": "8.2.*|8.3.*", "laravel/framework": "^10.0|^11.0" }, "require-dev": {