Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }