public async Task Register_WhenUserEmailIsNotInUse_ShouldCreateNewUser() { // Arrange var registerUserDto = UserTestDataFactory.CreateTestUser(); var requestString = JsonConvert.SerializeObject(registerUserDto); var content = new StringContent(requestString, Encoding.UTF8, "application/json"); // Act var response = await TestClient.PostAsync("Identity/register", content); // Assert response.StatusCode .Should() .BeEquivalentTo(HttpStatusCode.OK); }
public async Task Register_WhenUserPasswordIsNotCorrect_ShouldReturnBadRequest() { // Arrange var registerUserDto = UserTestDataFactory.CreateTestUser(); registerUserDto.Password = "******"; var requestString = JsonConvert.SerializeObject(registerUserDto); var content = new StringContent(requestString, Encoding.UTF8, "application/json"); // Act var response = await TestClient.PostAsync("Identity/register", content); // Assert response.StatusCode .Should() .BeEquivalentTo(HttpStatusCode.BadRequest); }
public async Task GetUserById_WhenUserIsNotAuthenticated_ShouldReturnUnauthorizedStatus() { // Arrange var testUser = UserTestDataFactory.CreateTestUser(); await AuthenticateAsync(testUser); var userId = await GetUserId(); ClearAuthHeader(); // Act var response = await TestClient.GetAsync($"User/userData/{userId}"); // Assert response.StatusCode .Should() .BeEquivalentTo(HttpStatusCode.Unauthorized); }
public async Task GetUser_WhenUserIsAuthenticated_ShouldReturnUserInfo() { // Arrange var testUser = UserTestDataFactory.CreateTestUser(); await AuthenticateAsync(testUser); // Act var response = await TestClient.GetAsync("User/userData"); var contentString = await response.Content.ReadAsStringAsync(); var content = JsonConvert.DeserializeObject <UserDto>(contentString); // Assert content.Identity.Email .Should() .BeEquivalentTo(testUser.Email); }
public async Task Login_WhenUserCredentialsAreCorrect_ShouldReturnOK() { // Arrange var registerUserDto = UserTestDataFactory.CreateTestUser(); var registerRequestString = JsonConvert.SerializeObject(registerUserDto); var registerContent = new StringContent(registerRequestString, Encoding.UTF8, "application/json"); await TestClient.PostAsync("Identity/register", registerContent); var loginUserDto = new LoginUserDto { Email = registerUserDto.Email, Password = registerUserDto.Password }; var loginRequestString = JsonConvert.SerializeObject(loginUserDto); var loginContent = new StringContent(loginRequestString, Encoding.UTF8, "application/json"); // Act var response = await TestClient.PostAsync("Identity/login", loginContent); // Assert response.StatusCode .Should() .BeEquivalentTo(HttpStatusCode.OK); }
protected async Task AuthenticateAsync() { var registerUserDto = UserTestDataFactory.CreateTestUser(); await AuthenticateAsync(registerUserDto); }