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