added unit tests for LoginFlowV2Service::startLoginFlow

Signed-off-by: Konrad Abicht <hi@inspirito.de>
This commit is contained in:
Konrad Abicht 2021-02-11 09:56:09 +01:00
parent f29748a5e1
commit d60dd8a208
1 changed files with 40 additions and 0 deletions

View File

@ -21,6 +21,7 @@
namespace Tests\Core\Data;
use Exception;
use OC\Core\Service\LoginFlowV2Service;
use OC\Core\Db\LoginFlowV2Mapper;
use OC\Core\Exception\LoginFlowV2NotFoundException;
@ -244,4 +245,43 @@ class LoginFlowV2ServiceUnitTest extends TestCase {
$this->subjectUnderTest->getByLoginToken('test_token');
}
/*
* Tests for startLoginFlow
*/
public function testStartLoginFlow() {
$loginFlowV2 = new LoginFlowV2();
$this->mapper->expects($this->once())
->method('getByLoginToken')
->willReturn($loginFlowV2);
$this->mapper->expects($this->once())
->method('update');
$this->assertTrue($this->subjectUnderTest->startLoginFlow('test_token'));
}
public function testStartLoginFlowDoesNotExistException() {
$this->mapper->expects($this->once())
->method('getByLoginToken')
->willThrowException(new DoesNotExistException(''));
$this->assertFalse($this->subjectUnderTest->startLoginFlow('test_token'));
}
/**
* If an exception not of type DoesNotExistException is thrown,
* it is expected that it is not being handled by startLoginFlow.
*/
public function testStartLoginFlowException() {
$this->expectException(Exception::class);
$this->mapper->expects($this->once())
->method('getByLoginToken')
->willThrowException(new Exception(''));
$this->subjectUnderTest->startLoginFlow('test_token');
}
}