From 3d17ab0936c74c1a60360e06bb99fb7ce3cdc161 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Tue, 5 Mar 2019 20:21:37 +0100 Subject: Do not send notification if no active 2fa If the job is still present we should also not fire it off if there is not a single active 2FA provider. Signed-off-by: Roeland Jago Douma --- .../BackgroundJob/RememberBackupCodesJobTest.php | 31 +++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'apps/twofactor_backupcodes/tests') diff --git a/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/RememberBackupCodesJobTest.php b/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/RememberBackupCodesJobTest.php index 0e23e032bd8..fe68da8ebf5 100644 --- a/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/RememberBackupCodesJobTest.php +++ b/apps/twofactor_backupcodes/tests/Unit/BackgroundJob/RememberBackupCodesJobTest.php @@ -114,6 +114,34 @@ class RememberBackupCodesJobTest extends TestCase { $this->invokePrivate($this->job, 'run', [['uid' => 'validUID']]); } + public function testNoActiveProvider() { + $user = $this->createMock(IUser::class); + $user->method('getUID') + ->willReturn('validUID'); + $this->userManager->method('get') + ->with('validUID') + ->willReturn($user); + + $this->registry->method('getProviderStates') + ->with($user) + ->willReturn([ + 'backup_codes' => false, + 'foo' => false, + ]); + + $this->jobList->expects($this->once()) + ->method('remove') + ->with( + RememberBackupCodesJob::class, + ['uid' => 'validUID'] + ); + + $this->notificationManager->expects($this->never()) + ->method($this->anything()); + + $this->invokePrivate($this->job, 'run', [['uid' => 'validUID']]); + } + public function testNotificationSend() { $user = $this->createMock(IUser::class); $user->method('getUID') @@ -125,7 +153,8 @@ class RememberBackupCodesJobTest extends TestCase { $this->registry->method('getProviderStates') ->with($user) ->willReturn([ - 'backup_codes' => false + 'backup_codes' => false, + 'foo' => true, ]); $this->jobList->expects($this->never()) -- cgit v1.2.3