private async Task PrepareAppointmentsAndStatusAsync(AppointmentsService service) { string firstAppId = await service.CreateAsync(this.client.Id, this.stylist.Id, this.procedure.Id, DateTime.UtcNow, "11:00", "test comment"); string secondAppId = await service.CreateAsync(this.client.Id, this.stylist.Id, this.procedure.Id, DateTime.UtcNow, "12:00", "test comment"); string thirdAppId = await service.CreateAsync(this.client.Id, this.stylist.Id, this.procedure.Id, DateTime.UtcNow, "13:00", "test comment"); await service.DoneAsync(firstAppId); await service.DoneAsync(secondAppId); await service.CancelAsync(thirdAppId); }
public async Task CheckGettingAppointmentsHistoryUserAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <Appointment>(db); var usersService = new Mock <IUsersService>(); var cardsService = new Mock <ICardsService>(); var categoriesRepository = new EfDeletableEntityRepository <Category>(db); var categoryService = new CategoriesService(categoriesRepository); var proceduresRepository = new EfDeletableEntityRepository <Procedure>(db); var procedureReviewsRepository = new EfDeletableEntityRepository <Review>(db); var procedureProductsRepository = new EfRepository <ProcedureProduct>(db); var procedureStylistsRepository = new EfRepository <ProcedureStylist>(db); var skinProblemProcedureRepository = new EfRepository <SkinProblemProcedure>(db); var proceduresService = new ProceduresService( proceduresRepository, procedureReviewsRepository, procedureProductsRepository, procedureStylistsRepository, skinProblemProcedureRepository, repository, categoryService); var service = new AppointmentsService( repository, usersService.Object, cardsService.Object, proceduresService, categoryService); await db.Procedures.AddAsync(this.procedure); await db.Categories.AddAsync(this.category); await db.SaveChangesAsync(); string appId = await this.GetAppointmentIdAsync(service); await service.DoneAsync(appId); var firstApp = await GetAppointmentAsync(repository, appId); firstApp.IsReview = true; repository.Update(firstApp); await repository.SaveChangesAsync(); var resultAppointments = await service.GetHistoryUserAsync <TestAppointmentModel>(this.client.Id); Assert.Single(resultAppointments); }
private async Task <AppointmentsService> PrepareAppointmentReviewAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <Appointment>(db); var usersService = new Mock <IUsersService>(); var cardsService = new Mock <ICardsService>(); var categoriesRepository = new EfDeletableEntityRepository <Category>(db); var categoryService = new CategoriesService(categoriesRepository); var proceduresRepository = new EfDeletableEntityRepository <Procedure>(db); var procedureReviewsRepository = new EfDeletableEntityRepository <Review>(db); var procedureProductsRepository = new EfRepository <ProcedureProduct>(db); var procedureStylistsRepository = new EfRepository <ProcedureStylist>(db); var skinProblemProcedureRepository = new EfRepository <SkinProblemProcedure>(db); var proceduresService = new ProceduresService( proceduresRepository, procedureReviewsRepository, procedureProductsRepository, procedureStylistsRepository, skinProblemProcedureRepository, repository, categoryService); var service = new AppointmentsService( repository, usersService.Object, cardsService.Object, proceduresService, categoryService); await db.Procedures.AddAsync(this.procedure); await db.Categories.AddAsync(this.category); await db.SaveChangesAsync(); var pastDate = DateTime.ParseExact("12/10/2020", "dd/MM/yyyy", CultureInfo.InvariantCulture); string firstAppId = await service.CreateAsync(this.client.Id, this.stylist.Id, this.procedure.Id, pastDate, "11:00", "test comment"); string secondAppId = await service.CreateAsync(this.client.Id, this.stylist.Id, this.procedure.Id, pastDate, "12:00", "test comment"); string thirdAppId = await service.CreateAsync(this.client.Id, this.stylist.Id, this.procedure.Id, DateTime.UtcNow, "13:00", "test comment"); await service.DoneAsync(firstAppId); await service.DoneAsync(secondAppId); await service.DoneAsync(thirdAppId); var firstApp = await GetAppointmentAsync(repository, firstAppId); firstApp.IsReview = true; repository.Update(firstApp); await repository.SaveChangesAsync(); return(service); }