Example #1
0
        public void DuplicateOfferingExists_WithNoDuplicates_ShouldReturnFalse()
        {
            var options = new DbContextOptionsBuilder <DentHubContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString())  // Give a Unique name to the DB
                          .Options;
            var dbContext = new DentHubContext(options);

            var repository       = new DbRepository <Appointment>(dbContext);
            var ratingRepository = new DbRepository <Rating>(dbContext);
            var service          = new AppointmentService(repository, ratingRepository);

            var user = new DentHubUser()
            {
                Id        = "2",
                FirstName = "Test2",
                LastName  = "Dentist",
            };

            var appointment = new Appointment
            {
                Id        = 31,
                ClinicId  = 1,
                DentistID = "2",
                TimeStart = new DateTime(2019, 05, 05, 10, 0, 0),
                TimeEnd   = new DateTime(2019, 05, 05, 10, 30, 0),
                Status    = Status.Offering,
            };

            dbContext.Appointments.Add(appointment);
            dbContext.DentHubUsers.Add(user);
            dbContext.SaveChanges();

            var timeStart = new DateTime(2019, 05, 05, 10, 30, 0);
            var timeEnd   = new DateTime(2019, 05, 05, 11, 00, 0);

            var result = service.DuplicateOfferingExists
                             (user, timeStart, timeEnd);

            Assert.False(result);
        }