コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }