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); }