public async Task CheckGettingStylistsDetailsAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <ApplicationUser>(db); var rolesRepository = new EfDeletableEntityRepository <ApplicationRole>(db); var service = new StylistsService( repository, rolesRepository, this.procedureStylistsRepository.Object, this.proceduresRepository.Object, this.cloudinaryService.Object); var stylist = new ApplicationUser() { Id = "1" }; await db.Users.AddAsync(stylist); await db.SaveChangesAsync(); var stylistDetails = await service.GetStylistDetailsAsync <TestStylistModel>(stylist.Id); Assert.Equal(stylist.Id, stylistDetails.Id); }
// GET: Stylist public ActionResult Index() { var svc = new StylistsService(Guid.Parse(User.Identity.GetUserId())); var model = svc.GetListOfStylists(); return(View(model)); }
public async Task CheckAddingRoleToExistingNonStylistAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <ApplicationUser>(db); var rolesRepository = new EfDeletableEntityRepository <ApplicationRole>(db); var service = new StylistsService( repository, rolesRepository, this.procedureStylistsRepository.Object, this.proceduresRepository.Object, this.cloudinaryService.Object); var role = new ApplicationRole() { Id = "1", Name = GlobalConstants.StylistRoleName, }; await db.Roles.AddAsync(role); await db.SaveChangesAsync(); var stylistId = await service.AddRoleStylistAsync("*****@*****.**"); Assert.Null(stylistId); }
public ActionResult Create() { var service = new StylistsService(Guid.Parse(User.Identity.GetUserId())); var stylists = service.GetListOfStylists(); ViewBag.GetListOfStylists = stylists; return(View(new AppointmentCreate())); }
public async Task CheckGettingAllUsersWithRoleStylistAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <ApplicationUser>(db); var rolesRepository = new EfDeletableEntityRepository <ApplicationRole>(db); var service = new StylistsService( repository, rolesRepository, this.procedureStylistsRepository.Object, this.proceduresRepository.Object, this.cloudinaryService.Object); var firstStylist = new ApplicationUser() { Id = "1", Email = "*****@*****.**" }; var secondStylist = new ApplicationUser() { Id = "2", Email = "*****@*****.**" }; var thirdStylist = new ApplicationUser() { Id = "3", Email = "*****@*****.**" }; var role = new ApplicationRole() { Id = "1", Name = GlobalConstants.StylistRoleName, }; await db.Users.AddAsync(firstStylist); await db.Users.AddAsync(secondStylist); await db.Users.AddAsync(thirdStylist); await db.Roles.AddAsync(role); await db.SaveChangesAsync(); await service.AddRoleStylistAsync(firstStylist.Email); await service.AddRoleStylistAsync(secondStylist.Email); await service.AddRoleStylistAsync(thirdStylist.Email); var stylists = await service.GetAllAsync <TestStylistModel>(); Assert.Equal(3, stylists.Count()); Assert.Contains(firstStylist.Roles, r => r.RoleId == role.Id); Assert.Contains(secondStylist.Roles, r => r.RoleId == role.Id); Assert.Contains(thirdStylist.Roles, r => r.RoleId == role.Id); }
public ActionResult Details(Guid id) { var svc = new StylistsService(Guid.Parse(User.Identity.GetUserId())); var model = svc.GetStylistById(id); var profilesvc = new ProfilesService(Guid.Parse(User.Identity.GetUserId())); var userreviewsvc = new UserReviewService(Guid.Parse(User.Identity.GetUserId())); model.UserReviewListItem = userreviewsvc.GetUserReviewsByStylistID(id.ToString()).ToList(); model.StylistProfile = profilesvc.GetProfileByUserID(id.ToString()); return(View(model)); }
public async Task CheckRemovingProcedureAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <ApplicationUser>(db); var procedureStylistsRepository = new EfRepository <ProcedureStylist>(db); var service = new StylistsService( repository, this.rolesRepository.Object, procedureStylistsRepository, this.proceduresRepository.Object, this.cloudinaryService.Object); var firstStylist = new ApplicationUser() { Id = "1" }; var secondStylist = new ApplicationUser() { Id = "2" }; var firstProcedure = new Procedure() { Id = "1" }; var secondProcedure = new Procedure() { Id = "2" }; await db.Users.AddAsync(firstStylist); await db.Users.AddAsync(secondStylist); await db.Procedures.AddAsync(firstProcedure); await db.Procedures.AddAsync(secondProcedure); await db.SaveChangesAsync(); await service.AddProcedureToStylistAsync(firstStylist.Id, firstProcedure.Id); await service.AddProcedureToStylistAsync(secondStylist.Id, firstProcedure.Id); await service.AddProcedureToStylistAsync(secondStylist.Id, secondProcedure.Id); await service.RemoveProcedureAsync(firstStylist.Id, firstProcedure.Id); await service.RemoveAllProceduresAsync(secondStylist.Id); Assert.Empty(firstStylist.StylistProcedures); Assert.Empty(secondStylist.StylistProcedures); }
public async Task CheckAddingProcedureToStylistAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <ApplicationUser>(db); var procedureStylistsRepository = new EfRepository <ProcedureStylist>(db); var service = new StylistsService( repository, this.rolesRepository.Object, procedureStylistsRepository, this.proceduresRepository.Object, this.cloudinaryService.Object); var stylist = new ApplicationUser() { Id = "1" }; var procedure = new Procedure() { Id = "1" }; await db.Users.AddAsync(stylist); await db.Procedures.AddAsync(procedure); await db.SaveChangesAsync(); var isAddedTrueCase = await service.AddProcedureToStylistAsync(stylist.Id, procedure.Id); var isAddedFalseCase = await service.AddProcedureToStylistAsync(stylist.Id, procedure.Id); Assert.True(isAddedTrueCase); Assert.True(!isAddedFalseCase); }
public async Task CheckUpdatingStylistAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <ApplicationUser>(db); var procedureStylistsRepostory = new EfRepository <ProcedureStylist>(db); var proceduresRepostory = new EfDeletableEntityRepository <Procedure>(db); var service = new StylistsService( repository, this.rolesRepository.Object, procedureStylistsRepostory, proceduresRepostory, this.cloudinaryService.Object); var category = new Category() { Id = "1", Name = "Hair", }; var newCategory = new Category() { Id = "2", Name = "Makeup", }; var jobType = new JobType() { Id = "1", Name = "Stylist", }; var firstProcedure = new Procedure() { Id = "1", CategoryId = newCategory.Id, }; var secondProcedure = new Procedure() { Id = "2", CategoryId = newCategory.Id, }; var stylist = new ApplicationUser() { Id = "1", Email = "*****@*****.**", FirstName = "stylistFirstName", LastName = "stylistLastName", Description = "stylistTestDescription", CategoryId = category.Id, JobTypeId = jobType.Id, }; await db.Users.AddAsync(stylist); await db.Categories.AddAsync(category); await db.Categories.AddAsync(newCategory); await db.Procedures.AddAsync(firstProcedure); await db.Procedures.AddAsync(secondProcedure); await db.JobTypes.AddAsync(jobType); await db.SaveChangesAsync(); var picture = this.mockPicture.Object; var updatedStylist = await service.UpdateStylistProfileAsync(stylist.Id, "newFirstName", stylist.LastName, "123", newCategory.Id, stylist.JobType.Id, "newStylistDescription", picture); var pictureAsUrl = await service.GetPictureUrlAsync(updatedStylist.Id); Assert.Equal("newFirstName", updatedStylist.FirstName); Assert.Equal(stylist.LastName, updatedStylist.LastName); Assert.Equal("123", updatedStylist.PhoneNumber); Assert.Equal(newCategory.Name, updatedStylist.Category.Name); Assert.Equal(stylist.JobType.Name, updatedStylist.JobType.Name); Assert.Equal("newStylistDescription", updatedStylist.Description); Assert.Equal(pictureAsUrl, updatedStylist.Picture); Assert.Equal(2, updatedStylist.StylistProcedures.Count()); }
public async Task CheckSearchingStylistByCategoryAsync() { ApplicationDbContext db = GetDb(); var repository = new EfDeletableEntityRepository <ApplicationUser>(db); var rolesRepository = new EfDeletableEntityRepository <ApplicationRole>(db); var service = new StylistsService( repository, rolesRepository, this.procedureStylistsRepository.Object, this.proceduresRepository.Object, this.cloudinaryService.Object); var firstCategory = new Category() { Id = "1", Name = "Hair", }; var secondCategory = new Category() { Id = "2", Name = "Makeup", }; var firstStylist = new ApplicationUser() { Id = "1", Email = "*****@*****.**", CategoryId = firstCategory.Id }; var secondStylist = new ApplicationUser() { Id = "2", Email = "*****@*****.**", CategoryId = firstCategory.Id }; var thirdStylist = new ApplicationUser() { Id = "3", Email = "*****@*****.**", CategoryId = secondCategory.Id }; var role = new ApplicationRole() { Id = "1", Name = GlobalConstants.StylistRoleName, }; await db.Users.AddAsync(firstStylist); await db.Users.AddAsync(secondStylist); await db.Users.AddAsync(thirdStylist); await db.Categories.AddAsync(firstCategory); await db.Categories.AddAsync(secondCategory); await db.Roles.AddAsync(role); await db.SaveChangesAsync(); await service.AddRoleStylistAsync(firstStylist.Email); await service.AddRoleStylistAsync(secondStylist.Email); await service.AddRoleStylistAsync(thirdStylist.Email); var stylists = await service.SearchByCategoryAsync <TestStylistModel>(firstCategory.Id); Assert.Equal(2, stylists.Count()); }