Ejemplo n.º 1
0
        public async Task Should_DeleteLeaveType_When_PassInvalidCompanyId()
        {
            // Arrange
            var entity = new LeaveType()
            {
                ColorCode = "ffffff",
                CompanyId = 2,
                CreatedAt = DateTime.Now,
                CreatedBy = -1,
                DefaultDaysPerYear = 10,
                IsActive = true,
                IsAllowNegativeBalance = true,
                IsApproverRequired = false,
                IsDefault = false,
                IsDeleted = false,
                IsHalfDaysActivated = true,
                IsHideLeaveTypeName = false,
                IsReasonRequired = true,
                IsUnlimited = false,
                LeaveTypeName = "Test Name"
            };
            _fixture.Context.LeaveTypes.Add(entity);
            _fixture.Context.SaveChanges();

            IUnitOfWork unitOfWork = new UnitOfWork(_fixture.Context);
            IRepository<LeaveType> repository = new Repository<LeaveType>(_fixture.Context);

            var handler = new DeleteLeaveTypeHandler(unitOfWork, repository, _logger, _mapper);

            var request = new DeleteLeaveTypeCommand(companyId: 1, leaveTypeId: 1);

            // Act
            var tcs = new CancellationToken();
            // Assert
            var exception = await Assert.ThrowsAsync<VacationTrackingException>(async () =>
            {
                var result = await handler.Handle(request, tcs);
            });

            Assert.Equal(ExceptionMessages.ItemNotFound, exception.Message);
            Assert.Equal(404, exception.Code);
        }
Ejemplo n.º 2
0
        public async Task Should_DeleteLeaveType_When_PassValidLeaveTypeId()
        {
            // Arrange
            var entity = new LeaveType()
            {
                ColorCode = "ffffff",
                CompanyId = 1,
                CreatedAt = DateTime.Now,
                CreatedBy = -1,
                DefaultDaysPerYear = 10,
                IsActive = true,
                IsAllowNegativeBalance = true,
                IsApproverRequired = false,
                IsDefault = false,
                IsDeleted = false,
                IsHalfDaysActivated = true,
                IsHideLeaveTypeName = false,
                IsReasonRequired = true,
                IsUnlimited = false,
                LeaveTypeName = "Test Name"
            };
            _fixture.Context.LeaveTypes.Add(entity);
            _fixture.Context.SaveChanges();

            IUnitOfWork unitOfWork = new UnitOfWork(_fixture.Context);
            IRepository<LeaveType> repository = new Repository<LeaveType>(_fixture.Context);

            var handler = new DeleteLeaveTypeHandler(unitOfWork, repository, _logger, _mapper);

            var request = new DeleteLeaveTypeCommand(companyId: 1, leaveTypeId: 1);

            // Act
            var tcs = new CancellationToken();
            var result = await handler.Handle(request, tcs);
            var leaveType = _fixture.Context.LeaveTypes.SingleOrDefault(x => x.LeaveTypeId == 1);
            // Assert
            Assert.True(result);
            Assert.True(leaveType.IsDeleted);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <bool> > DeleteAsync(int id)
        {
            var request = new DeleteLeaveTypeCommand(id, _companyId);

            return(Single(await CommandAsync(request)));
        }