コード例 #1
0
        public async Task GivenInvalidModels_WhenPostLog_ThenReturnBadRequest(string cardNo, string password)
        {
            // Arrange
            var employee  = _fixture.Context.Employees.ToList().ElementAtOrDefault(4);
            var viewModel = new LogInOutViewModel
            {
                CardNo   = (cardNo == "valid_cardNo") ? employee.CardNo : cardNo,
                Password = (password == "valid_password") ? DefaultAdmin.Password : password,
            };

            // Act
            var response = await _fixture.Client.PostAsJsonAsync(API_URL, viewModel);

            // Assert
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }
コード例 #2
0
        public async Task PostLog_ThenReturnOkWithTimeIn()
        {
            // Arrange
            var employee  = _fixture.Context.Employees.Last();
            var viewModel = new LogInOutViewModel
            {
                CardNo   = employee.CardNo,
                Password = DefaultAdmin.Password,
            };

            // Act
            var response = await _fixture.Client.PostAsJsonAsync(API_URL, viewModel);

            // Assert
            response.EnsureSuccessStatusCode();

            var updatedLog = _fixture.Context.Logs.Where(m => m.EmployeeId == employee.Id).OrderByDescending(m => m.Created).First();

            Assert.NotNull(updatedLog.TimeIn);
            Assert.Null(updatedLog.TimeOut);
        }
コード例 #3
0
        public async Task GivenInactiveEmployee_WhenPostLog_ThenReturnBadRequest()
        {
            // Arrange
            var employee = _fixture.Context.Employees.ToList().ElementAtOrDefault(4);

            // Update the employee with inactive status
            employee.Status = Status.Inactive;
            _fixture.Context.Entry(employee).State = EntityState.Modified;
            await _fixture.Context.SaveChangesAsync();

            var viewModel = new LogInOutViewModel
            {
                CardNo   = employee.CardNo,
                Password = DefaultAdmin.Password,
            };

            // Act
            var response = await _fixture.Client.PostAsJsonAsync(API_URL, viewModel);

            // Assert
            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }