public async Task GivenValidModel_WhenPostRegisterRequest_ThenReturnOk() { // Arrange var model = new EmployeeTestModel(); // Act var response = await _fixture.Client.PostAsJsonAsync($"{API_URL}/register", model); // Assert response.EnsureSuccessStatusCode(); var updatedModel = await _fixture.Context.Employees.FirstAsync(m => m.FullName == model.FullName); Assert.Equal(updatedModel.FullName, model.FullName); Assert.Equal(updatedModel.CardNo, model.CardNo); Assert.Equal(updatedModel.Position, model.Position); var assertAccount = await AuthExtensions.GetJwt( _fixture, new LoginViewModel { UserName = model.UserName, Password = model.Password } ); Assert.NotEmpty(assertAccount); }
public async Task GivenEmployeeModel_WhenPutUpdatePasswordRequest_ThenReturnOk() { // Arrange const string NEW_PASSWORD = "******"; var model = _fixture.Context.Users.ToList().ElementAt(5); var viewModel = new UpdatePasswordViewModel { UserName = model.UserName, Password = NEW_PASSWORD, }; // Act var response = await _fixture.Client.PutAsJsonAsync($"{API_URL}/update-password", viewModel); // Assert response.EnsureSuccessStatusCode(); var assertLogin = await AuthExtensions.GetJwt( _fixture, new LoginViewModel { UserName = model.UserName, Password = NEW_PASSWORD, } ); Assert.NotEmpty(assertLogin); }
public async Task GivenAuthByEmployee_WhenPutChangePasswordRequest_ThenReturnOk() { // Arrange const string NEW_PASSWORD = "******"; const string DEFAULT_PASSWORD = DefaultAdmin.Password; var model = _fixture.Context.Users.Last(); var viewModel = await Task.Run(() => JsonConvert.SerializeObject( new ChangePasswordViewModel { OldPassword = DEFAULT_PASSWORD, NewPassword = NEW_PASSWORD, } )); // Act var request = new HttpRequestMessage(HttpMethod.Put, $"{API_URL}/change-password"); request.Content = new StringContent(viewModel, Encoding.UTF8, "application/json"); // Send request as Employee await AuthExtensions.SetupRequestAuth( request, _fixture, new LoginViewModel { UserName = model.UserName, Password = DEFAULT_PASSWORD, } ); var response = await _fixture.Client.SendAsync(request); // Assert response.EnsureSuccessStatusCode(); var assertLogin = await AuthExtensions.GetJwt( _fixture, new LoginViewModel { UserName = model.UserName, Password = NEW_PASSWORD, } ); Assert.NotEmpty(assertLogin); }