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