public async void StartAppointmentShouldChangeTheStatusToHappening() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var appointmentsRepository = new EfDeletableEntityRepository <Appointment>(new ApplicationDbContext(options.Options)); var notificationsRepository = new EfDeletableEntityRepository <Notification>(new ApplicationDbContext(options.Options)); var appointmentsService = new AppointmentsService(notificationsRepository, appointmentsRepository); var appointment = new Appointment { Status = AppointmentStatus.Unprocessed, Date = DateTime.UtcNow, StartTime = DateTime.UtcNow, EndTime = DateTime.UtcNow.AddMinutes(5), DogsitterId = "123", OwnerId = "321", }; await appointmentsService.CreateNewAppointment(appointment); await appointmentsService.StartAppointment(appointment.Id); Assert.Equal(AppointmentStatus.Happening.ToString(), appointmentsService.GetAppointment(appointment.Id).Status.ToString()); }
public async void EndAppointmentShouldChangeTheStatusToProcessed(AppointmentStatus status) { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var appointmentsRepository = new EfDeletableEntityRepository <Appointment>(new ApplicationDbContext(options.Options)); var notificationsRepository = new EfDeletableEntityRepository <Notification>(new ApplicationDbContext(options.Options)); var appointmentsService = new AppointmentsService(notificationsRepository, appointmentsRepository); var appointment = new Appointment { Status = status, Date = DateTime.UtcNow, StartTime = DateTime.UtcNow, EndTime = DateTime.UtcNow.AddMinutes(5), Dogsitter = new Dogsitter { WageRate = 10, }, Owner = new Owner(), }; await appointmentsService.CreateNewAppointment(appointment); await appointmentsService.EndAppointment(appointment.Id); Assert.Equal(AppointmentStatus.Processed.ToString(), appointmentsService.GetAppointment(appointment.Id).Status.ToString()); }
public async void GetOwnerAppointmentsToListShouldReturnProperValues() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var appointmentsRepository = new EfDeletableEntityRepository <Appointment>(new ApplicationDbContext(options.Options)); var notificationsRepository = new EfDeletableEntityRepository <Notification>(new ApplicationDbContext(options.Options)); var appointmentsService = new AppointmentsService(notificationsRepository, appointmentsRepository); var dogsitter = new Dogsitter(); var owner = new Owner(); var user = new ApplicationUser { Dogsitter = dogsitter, UserName = "******", Email = "*****@*****.**", }; var user2 = new ApplicationUser { Owner = owner, UserName = "******", Email = "*****@*****.**", }; var appointment = new Appointment { Status = AppointmentStatus.Unprocessed, Date = DateTime.UtcNow, StartTime = DateTime.UtcNow, EndTime = DateTime.UtcNow.AddMinutes(5), Dogsitter = dogsitter, Owner = owner, }; dogsitter.Appointments.Add(appointment); dogsitter.UserId = user.Id; owner.Appointments.Add(appointment); owner.UserId = user2.Id; await appointmentsService.CreateNewAppointment(appointment); var appointments = appointmentsService.GetOwnerAppointmentsToList(user2.Id); var comparedAppointments = String.Compare(appointment.Id, appointments.First().Id, StringComparison.Ordinal); Assert.Equal(0, comparedAppointments); }