diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b2f91b1..c3e68d2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,9 +9,12 @@ jobs: strategy: fail-fast: true matrix: - php: [8.1, 8.2, 8.3] - laravel: [10.*] + php: [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 }} diff --git a/composer.json b/composer.json index c39d975..559c350 100644 --- a/composer.json +++ b/composer.json @@ -21,12 +21,12 @@ } ], "require": { - "php": "^8.1", - "laravel/framework": "^10.0" + "php": "8.2.*|8.3.*", + "laravel/framework": "^10.0|^11.0" }, "require-dev": { "mockery/mockery": "^1.4", - "phpunit/phpunit": "^9.3.3", + "phpunit/phpunit": "^11.3", "squizlabs/php_codesniffer": "^3.6" }, "autoload": { 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/ - - + + 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) {