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); }
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); }