示例#1
0
        public async Task CanCancelScheduledShiftWithAssignments()
        {
            int id     = 1;
            int userId = 2;

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

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

            _shiftRepositoryMock.Setup(x => x.DeleteScheduledShiftAssignment(It.Is <ScheduledShiftAssignment>(y => y.Id == 1)))
            .Verifiable();
            _shiftRepositoryMock.Setup(x => x.DeleteScheduledShift(It.Is <ScheduledShift>(y => y.Id == 1)))
            .Verifiable();

            await _scheduleService.CancelShift(id);

            _shiftRepositoryMock.Verify();
        }