public async Task Should_ThrowException_When_PassLeaveTypeIdDoesNotBelongsToCompanyId() { // Arrange var leaveType = new LeaveType() { LeaveTypeId = 1, CompanyId = 1, LeaveTypeName = "Leave Type Test", CreatedAt = DateTime.Now, CreatedBy = -1, IsDeleted = true, IsActive = false }; IRepository <LeaveType> repository = new Repository <LeaveType>(_fixture.Context); var handler = new GetLeaveTypeHandler(repository, _mapper, _logger); var queryRequest = new GetLeaveTypeQuery(leaveTypeId: 1, companyId: 2); _fixture.Context.LeaveTypes.Add(leaveType); _fixture.Context.SaveChanges(); // Act var tcs = new CancellationToken(); var exception = await Assert.ThrowsAsync <VacationTrackingException>(async() => { await handler.Handle(queryRequest, tcs); }); // Assert Assert.Equal(404, exception.Code); Assert.Equal(ExceptionMessages.ItemNotFound, exception.Message); }
public async Task Should_ReturnLeaveTypeObject_When_PassInactiveLeaveTypeId() { // Arrange var leaveType = new LeaveType() { LeaveTypeId = 1, CompanyId = 1, LeaveTypeName = "Leave Type Test", CreatedAt = DateTime.Now, CreatedBy = -1, IsDeleted = false, IsActive = false }; IRepository <LeaveType> repository = new Repository <LeaveType>(_fixture.Context); var handler = new GetLeaveTypeHandler(repository, _mapper, _logger); var queryRequest = new GetLeaveTypeQuery(leaveTypeId: 1, companyId: 1); _fixture.Context.LeaveTypes.Add(leaveType); _fixture.Context.SaveChanges(); // Act var tcs = new CancellationToken(); var result = await handler.Handle(queryRequest, tcs); // Assert Assert.Equal(1, result.LeaveTypeId); Assert.Equal(1, result.CompanyId); }
public async Task Should_ThrowException_When_PassInvalidLeaveTypeId() { // Arrange IRepository <LeaveType> repository = new Repository <LeaveType>(_fixture.Context); var handler = new GetLeaveTypeHandler(repository, _mapper, _logger); var queryRequest = new GetLeaveTypeQuery(leaveTypeId: -1, companyId: 1); // Act var tcs = new CancellationToken(); var exception = await Assert.ThrowsAsync <VacationTrackingException>(async() => { await handler.Handle(queryRequest, tcs); }); // Assert Assert.Equal(404, exception.Code); Assert.Equal(ExceptionMessages.ItemNotFound, exception.Message); }