public async Task SaveAppointment_WithPreviousAppointment_ReturnsThrow() { //Arrrange var mockRepo = new Mock <IAppointmentRepository>(); mockRepo.Setup(repo => repo.HasAppointment(1, It.IsAny <DateTime>())).Returns(true); var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new AutoMapperProfile()); }); var mapper = mockMapper.CreateMapper(); var service = new AppoinmentService(mockRepo.Object, mapper); //Act AppointmentDTO dto = new AppointmentDTO { AppointmentTypeId = 1, Date = DateTime.Now, IsCancelled = false, Notes = "", PatientId = 1, }; Task act() => service.Add(dto); //Assert var exception = await Assert.ThrowsAsync <Exception>(act); Assert.Equal("This patient has already an appointment for this date", exception.Message); }
public async Task SaveAppointment_ReturnsAppointment() { //Arrrange var mockRepo = new Mock <IAppointmentRepository>(); mockRepo.Setup(repo => repo.SaveAsync()).ReturnsAsync(true); var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new AutoMapperProfile()); }); var mapper = mockMapper.CreateMapper(); var service = new AppoinmentService(mockRepo.Object, mapper); //Act AppointmentDTO dto = new AppointmentDTO { AppointmentTypeId = 1, Date = DateTime.Now, IsCancelled = false, Notes = "", PatientId = 1, }; var result = await service.Add(dto); //Assert Assert.NotNull(result); Assert.IsType <AppointmentDTO>(result); }