public async Task Should_Authenticate_ReturnsNotFound() { //Arrange const string password = "******"; const string email = "*****@*****.**"; const string localizedMessage = "The email/password is incorrect. please try again."; var model = new AuthenticateModel { Email = email, Password = password }; _managerMock.Setup(x => x.ExistsAsync(email, password)) .ReturnsAsync(false); var localizedString = new LocalizedString(LocalizationMessage.EmailOrPasswordIsIncorrect, localizedMessage); _localizerMock.Setup(x => x[LocalizationMessage.EmailOrPasswordIsIncorrect]) .Returns(localizedString); _controller = new LoginController(_managerMock.Object, _serviceMock.Object, _localizerMock.Object); _controller.ValidateViewModel(model); //Act var result = await _controller.Authenticate(model); //Assert _managerMock.Verify(x => x.ExistsAsync(email, password), Times.Once); var badRequestObject = Assert.IsType <BadRequestObjectResult>(result); Assert.Equal(localizedMessage, badRequestObject.Value); }