Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }