public async Task Login_WhenInvalidAccount_ReturnsBadRequest(AuthController.Account account)
        {
            // ARRANGE
            _authController = new AuthController(_mockTokenRepository.Object);

            // ACT
            var result = await _authController.Login(account);

            // ASSERT
            AssertThatTokenIsInvalid(result);
        }
        public async Task LoginPost_ReturnsBadRequestResult_WhenModelStateIsInvalid()
        {
            // Arrange
            var mockRepo = new Mock <ITokenRepository>();

            mockRepo.Setup(repo => repo.IsValidTokenAsync(Guid.NewGuid()))
            .ReturnsAsync(null);
            var controller = new AuthController(mockRepo.Object);

            controller.ModelState.AddModelError("login_failure", "Invalid token.");
            var newToken = new AuthController.Account();

            // Act
            var result = await controller.Login(newToken);

            // Assert
            var badRequestResult = Assert.IsType <BadRequestObjectResult>(result);

            Assert.IsType <SerializableError>(badRequestResult.Value);
        }