Exemple #1
0
        public async Task CanClaimReleasedShift()
        {
            int id     = 1;
            int userId = 2;

            _shiftRepositoryMock.Setup(x => x.GetScheduledShiftAssignment(id)).Returns(Task.FromResult(new ScheduledShiftAssignment()
            {
                Id                     = 1,
                AssignedUserId         = 1,
                ClaimedByUserId        = null,
                OriginalAssignedUserId = 1,
                ScheduledShiftId       = 1,
                Status                 = ShiftStatus.Released
            })).Verifiable();

            _shiftRepositoryMock.Setup(x => x.GetScheduledShift(id)).Returns(Task.FromResult(new ScheduledShift()
            {
                Id       = 1,
                StartsAt = DateTime.Now,
                EndsAt   = DateTime.Now
            })).Verifiable();

            _shiftRepositoryMock.Setup(x => x.UpdateScheduledShiftAssignment(It.Is <ScheduledShiftAssignment>(y => y.Status == ShiftStatus.Claimed && y.ClaimedByUserId == userId))).Verifiable();

            await _scheduleService.ClaimShift(id, userId);

            _shiftRepositoryMock.Verify();
        }