public async Task UnlinkCredentialAsync_ShouldBeOfTypeNotFoundObjectResult() { // Arrange TestMock.GameCredentialService.Setup(credentialService => credentialService.FindCredentialAsync(It.IsAny <UserId>(), It.IsAny <Game>())).Verifiable(); var authFactorController = new GameCredentialsController(TestMock.GameCredentialService.Object, TestMapper) { ControllerContext = { HttpContext = MockHttpContextAccessor.GetInstance() } }; // Act var result = await authFactorController.UnlinkCredentialAsync(Game.LeagueOfLegends); // Assert result.Should().BeOfType <NotFoundObjectResult>(); TestMock.GameCredentialService.Verify(credentialService => credentialService.FindCredentialAsync(It.IsAny <UserId>(), It.IsAny <Game>()), Times.Once); }
public async Task UnlinkCredentialAsync_ShouldBeOfTypeOkObjectResult() { // Arrange var userId = new UserId(); var credential = new Credential( userId, Game.LeagueOfLegends, new PlayerId(), new UtcNowDateTimeProvider()); TestMock.GameCredentialService.Setup(credentialService => credentialService.FindCredentialAsync(It.IsAny <UserId>(), It.IsAny <Game>())) .ReturnsAsync(credential) .Verifiable(); TestMock.GameCredentialService.Setup(credentialService => credentialService.UnlinkCredentialAsync(It.IsAny <Credential>())) .ReturnsAsync(new DomainValidationResult <Credential>()) .Verifiable(); var authFactorController = new GameCredentialsController(TestMock.GameCredentialService.Object, TestMapper) { ControllerContext = { HttpContext = new MockHttpContextAccessor().Object.HttpContext } }; // Act var result = await authFactorController.UnlinkCredentialAsync(Game.LeagueOfLegends); // Assert result.Should().BeOfType <OkObjectResult>(); TestMock.GameCredentialService.Verify(credentialService => credentialService.FindCredentialAsync(It.IsAny <UserId>(), It.IsAny <Game>()), Times.Once); TestMock.GameCredentialService.Verify(credentialService => credentialService.UnlinkCredentialAsync(It.IsAny <Credential>()), Times.Once); }