public async Task QueryHandler_ReturnsEmptyViewModel_WhenNoLeaveFound() { mockRepo.Setup(x => x.FirstOrDefault( It.IsAny <Expression <Func <Worker, bool> > >(), It.IsAny <Expression <Func <Worker, object> > >()) ).ReturnsAsync(GetWorkerWithNoLeave()); var workerId = 1; var query = new GetWorkerLeaveQuery { WorkerId = workerId }; var handler = new GetWorkerLeaveQueryHandler(mockRepo.Object); var vm = await handler.Handle(query, CancellationToken.None); Assert.NotNull(vm); Assert.Empty(vm.Leave); }
public async Task QueryHandler_ReturnsCorrectLeaveViewModel() { mockRepo.Setup(x => x.FirstOrDefault( It.IsAny <Expression <Func <Worker, bool> > >(), It.IsAny <Expression <Func <Worker, object> > >()) ).ReturnsAsync(GetWorkerWithLeave()); var workerId = 1; var query = new GetWorkerLeaveQuery { WorkerId = workerId }; var handler = new GetWorkerLeaveQueryHandler(mockRepo.Object); var expectedWorker = GetWorkerWithLeave(); var expectedLeave = expectedWorker.Leave.First(); var vm = await handler.Handle(query, CancellationToken.None); var leaveResult = vm.Leave.First(); Assert.Equal(1, vm.Leave.Count); Assert.Equal(expectedLeave.LeavePeriod.Start, leaveResult.Start); Assert.Equal(expectedLeave.LeavePeriod.End, leaveResult.End); Assert.Equal(expectedLeave.LeaveCategory.ToString(), leaveResult.LeaveType); }