public async Task Login_InvalidState_BadRequest() { // Arrange const string field = "apple-error"; const string errorMessage = "how do you like them apples"; var service = new MockAccountService { MLogin = (model) => "Doesn't really matter a second time" }; var controller = new AccountController(service); controller.ModelState.AddModelError(field, errorMessage); // Act var result = await controller.Login(MockLoginViewModel.Get(0)) as BadRequestObjectResult; var error = result?.Value as SerializableError; // Assert Assert.NotNull(error); Assert.Equal(400, result.StatusCode); Assert.Single(error.Keys); Assert.True(error.ContainsKey(field)); Assert.Equal(new[] { errorMessage }, error.GetValueOrDefault(field)); }
public void LoginViewModel_AllFieldsValid_NoErrors() { // Arrange var model = MockLoginViewModel.Get(1); // Act var validation = ModelValidator.ValidateModel(model); // Assert Assert.Equal(0, validation.Count); }
public void LoginViewModel_Setter_Modifies() { // Arrange var model = MockLoginViewModel.Get(0); // Act model.Password = "******"; model.Email = "*****@*****.**"; // Assert Assert.Equal("*****@*****.**", model.Email); Assert.Equal("St0p-Making-S3ns3", model.Password); }
public async Task Login_LoginFailException_Unauthorized() { // Arrange var service = new MockAccountService { MLogin = (model) => throw new LoginFailException() }; var controller = new AccountController(service); // Act var result = await controller.Login(MockLoginViewModel.Get(1)) as UnauthorizedResult; // Assert Assert.NotNull(result); Assert.Equal(401, result.StatusCode); }
public async Task Login_Valid_OkWithToken() { // Arrange const string mockToken = "This is not a love-token song"; var service = new MockAccountService { MLogin = (model) => string.Copy(mockToken) }; var controller = new AccountController(service); // Act var result = await controller.Login(MockLoginViewModel.Get(1)) as OkObjectResult; var tokenReceived = result?.Value as string; // Assert Assert.NotNull(result); Assert.Equal(200, result.StatusCode); Assert.NotNull(tokenReceived); Assert.Equal(string.Copy(mockToken), tokenReceived); }
public async Task LoginWithPasscodeAsync_SetsConnection_AndClosesSsoDialog_AndClosesLoginDialog_WhenLoginAttemptSucceeds() { const string fakePasscode = "fake sso passcode!"; object fakeSsoDialogWindow = new object(); var fakeParentViewModel = MockLoginViewModel.Object; MockCloudFoundryService.Setup(m => m.LoginWithSsoPasscode(_sut.ApiAddress, fakePasscode)) .ReturnsAsync(FakeSuccessDetailedResult); _sut.Passcode = fakePasscode; _sut._loginViewModel = fakeParentViewModel; Assert.IsFalse(_sut.HasErrors); Assert.IsNull(_sut.ErrorMessage); await _sut.LoginWithPasscodeAsync(fakeSsoDialogWindow); Assert.IsFalse(_sut.HasErrors); Assert.IsNull(_sut.ErrorMessage); MockDialogService.Verify(m => m.CloseDialog(fakeSsoDialogWindow, true), Times.Once); MockLoginViewModel.Verify(m => m.SetConnection(), Times.Once); MockLoginViewModel.Verify(m => m.CloseDialog(), Times.Once); }
public void TestCleanup() { MockCloudFoundryService.VerifyAll(); MockDialogService.VerifyAll(); MockLoginViewModel.VerifyAll(); }