コード例 #1
0
        public async Task CancelAppointment_ReturnsTrue()
        {
            //Arrrange
            var mockRepo = new Mock <IAppointmentRepository>();

            mockRepo.Setup(repo => repo.IsCancellable(It.IsAny <long>())).Returns(true);
            mockRepo.Setup(repo => repo.GetById(It.IsAny <long>())).Returns(new Appointment {
            });

            var mockMapper = new Mock <IMapper>();

            var service = new AppoinmentService(mockRepo.Object, mockMapper.Object);

            //Act
            var result = await service.CancelAppoiment(It.IsAny <int>());

            //Assert
            Assert.True(result);
        }
コード例 #2
0
        public async Task CancelAppointment_WithBadTime_ReturnsThrow()
        {
            //Arrrange
            var mockRepo = new Mock <IAppointmentRepository>();

            mockRepo.Setup(repo => repo.IsCancellable(It.IsAny <long>())).Returns(false);

            var mockMapper = new Mock <IMapper>();

            var service = new AppoinmentService(mockRepo.Object, mockMapper.Object);

            //Act
            Task act() => service.CancelAppoiment(It.IsAny <int>());

            //Assert
            var exception = await Assert.ThrowsAsync <Exception>(act);

            Assert.Equal("Appointments must be cancelled at least 24 hours in advance", exception.Message);
        }