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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#6
0
        protected async Task AuthenticateAsync()
        {
            var registerUserDto = UserTestDataFactory.CreateTestUser();

            await AuthenticateAsync(registerUserDto);
        }