private static async Task SeedDogsitterAsync(UserManager <ApplicationUser> userManager, string username) { var user = await userManager.FindByNameAsync(username); if (user != null) { if (user.Dogsitter == null) { var dogsitter = new Dogsitter { UserId = user.Id, DateOfBirth = new DateTime(1990, 2, 10), Description = "Харесвам кученцата адски много. Занимавам се от малък с тях и се хваля с това.", Address = "Младост 3, ул. Радичков", Gender = Gender.Male, FirstName = "Георги", MiddleName = "Петров", LastName = "Христов", ImageUrl = "https://res.cloudinary.com/add cloud name here/image/upload/v1586883029/hbmi3wn7j7o4m7jrx2n5.jpg", PhoneNumber = user.PhoneNumber, WageRate = 10, }; user.Dogsitter = dogsitter; } } }
public async Task AddDogsitterAsync(string id) { var user = this.usersRepository.All().FirstOrDefault(u => u.Id == id); var dogsitter = new Dogsitter(); user.Dogsitter = dogsitter; user.Dogsitter.PhoneNumber = user.PhoneNumber; user.Dogsitter.DateOfBirth = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day); await this.usersRepository.SaveChangesAsync(); }
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); }
public void DogsitterCommentsShouldReturnProperData() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var commentsRepository = new EfDeletableEntityRepository <Comment>(new ApplicationDbContext(options.Options)); var ratingsRepository = new EfDeletableEntityRepository <Rating>(new ApplicationDbContext(options.Options)); var ownersRepository = new EfDeletableEntityRepository <Owner>(new ApplicationDbContext(options.Options)); var commentsService = new CommentsService(commentsRepository, ratingsRepository, ownersRepository); var dogsitter = new Dogsitter { UserId = Guid.NewGuid().ToString(), }; var owner = new Owner { UserId = Guid.NewGuid().ToString(), }; var rating = new Rating { Score = 5, Dogsitter = dogsitter, DogsitterId = dogsitter.Id, SentBy = SentByOwner, Owner = owner, OwnerId = owner.Id, }; var comment = new Comment { Content = CommentContent, RatingScore = rating.Score, Dogsitter = dogsitter, DogsitterId = dogsitter.Id, OwnerId = owner.Id, SentBy = SentByOwner, }; ownersRepository.AddAsync(owner); ownersRepository.SaveChangesAsync(); commentsService.SubmitFeedback(comment, rating); var dogsitterComments = commentsService.DogsitterComments(dogsitter.UserId); Assert.Equal(dogsitterComments.FirstOrDefault().Content, comment.Content); }
public async void SendNotificationShouldSaveNotificationAccordingly() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var userRepository = new EfDeletableEntityRepository <ApplicationUser>(new ApplicationDbContext(options.Options)); var dogsitterRepository = new EfDeletableEntityRepository <Dogsitter>(new ApplicationDbContext(options.Options)); var ownerRepository = new EfDeletableEntityRepository <Owner>(new ApplicationDbContext(options.Options)); var ownersService = new OwnersService(userRepository, ownerRepository, dogsitterRepository); var dogsitter = new Dogsitter(); var owner = new Owner(); await dogsitterRepository.AddAsync(dogsitter); await dogsitterRepository.SaveChangesAsync(); await ownersService.SendNotification(dogsitter.Id, owner, DateTime.UtcNow, DateTime.UtcNow, DateTime.UtcNow); Assert.Equal(1, dogsitter.Notifications.Count); }
public async void DogsitterDetailsByIdTemplateShouldReturnProperType() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var userRepository = new EfDeletableEntityRepository <ApplicationUser>(new ApplicationDbContext(options.Options)); var dogsitterRepository = new EfDeletableEntityRepository <Dogsitter>(new ApplicationDbContext(options.Options)); var ownerRepository = new EfDeletableEntityRepository <Owner>(new ApplicationDbContext(options.Options)); AutoMapperConfig.RegisterMappings(typeof(ErrorViewModel).GetTypeInfo().Assembly); var ownersService = new OwnersService(userRepository, ownerRepository, dogsitterRepository); var dogsitter = new Dogsitter(); await dogsitterRepository.AddAsync(dogsitter); await dogsitterRepository.SaveChangesAsync(); var dogsitterDb = ownersService.DogsitterDetailsById <DogsitterInfoViewModel>(dogsitter.Id); Assert.IsType <DogsitterInfoViewModel>(dogsitterDb); }
public async void SendNotificationShouldHaveCorrectOwnerAndDogsitter() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var userRepository = new EfDeletableEntityRepository <ApplicationUser>(new ApplicationDbContext(options.Options)); var dogsitterRepository = new EfDeletableEntityRepository <Dogsitter>(new ApplicationDbContext(options.Options)); var ownerRepository = new EfDeletableEntityRepository <Owner>(new ApplicationDbContext(options.Options)); var ownersService = new OwnersService(userRepository, ownerRepository, dogsitterRepository); var dogsitter = new Dogsitter(); var owner = new Owner(); await dogsitterRepository.AddAsync(dogsitter); await dogsitterRepository.SaveChangesAsync(); await ownersService.SendNotification(dogsitter.Id, owner, DateTime.UtcNow, DateTime.UtcNow, DateTime.UtcNow); var trueOwnerDogsitter = dogsitter.Notifications.FirstOrDefault().OwnerId == owner.Id; Assert.True(trueOwnerDogsitter); }
public async void GetDogsitterByDogsitterIdShouldThrowNullReferenceExceptionWhenWrongId() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var dogsitterRepository = new EfDeletableEntityRepository <Dogsitter>(new ApplicationDbContext(options.Options)); var dogsittersService = new DogsittersService(dogsitterRepository); var dogsitterBase = new Dogsitter { UserId = Guid.NewGuid().ToString(), }; await dogsitterRepository.AddAsync(dogsitterBase); await dogsitterRepository.SaveChangesAsync(); await dogsittersService.CurrentUserAddInfo(dogsitterBase.UserId, FillInfo, FillInfo, FillInfo, FillInfo, FillInfo, FillInfo, 5); var dogsitter = dogsittersService.GetDogsitterByDogsitterId(""); Assert.Throws <NullReferenceException>(() => dogsitter.Id); }
public async void GetDogsitterByUserIdShouldReturnProperValue() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var dogsitterRepository = new EfDeletableEntityRepository <Dogsitter>(new ApplicationDbContext(options.Options)); var dogsittersService = new DogsittersService(dogsitterRepository); var dogsitterBase = new Dogsitter { UserId = Guid.NewGuid().ToString(), }; await dogsitterRepository.AddAsync(dogsitterBase); await dogsitterRepository.SaveChangesAsync(); await dogsittersService.CurrentUserAddInfo(dogsitterBase.UserId, FillInfo, FillInfo, FillInfo, FillInfo, FillInfo, FillInfo, 5); var dogsitter = dogsittersService.GetDogsitterByUserId(dogsitterBase.UserId); Assert.Equal(dogsitterBase.Id, dogsitter.Id); }
public async void CurrentUserAddInfoShouldAddDetailsAccordingly() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var dogsitterRepository = new EfDeletableEntityRepository <Dogsitter>(new ApplicationDbContext(options.Options)); var dogsittersService = new DogsittersService(dogsitterRepository); var dogsitterBase = new Dogsitter { UserId = Guid.NewGuid().ToString(), }; await dogsitterRepository.AddAsync(dogsitterBase); await dogsitterRepository.SaveChangesAsync(); await dogsittersService.CurrentUserAddInfo(dogsitterBase.UserId, FillInfo, FillInfo, FillInfo, FillInfo, FillInfo, FillInfo, 5); var dogsitter = await dogsitterRepository.All().FirstOrDefaultAsync(); Assert.Equal(FillInfo, dogsitter.FirstName); }
public async void OwnerCommentsShouldReturnProperCount() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var commentsRepository = new EfDeletableEntityRepository <Comment>(new ApplicationDbContext(options.Options)); var ratingsRepository = new EfDeletableEntityRepository <Rating>(new ApplicationDbContext(options.Options)); var ownersRepository = new EfDeletableEntityRepository <Owner>(new ApplicationDbContext(options.Options)); var dogsittersRepository = new EfDeletableEntityRepository <Dogsitter>(new ApplicationDbContext(options.Options)); var usersRepository = new EfDeletableEntityRepository <ApplicationUser>(new ApplicationDbContext(options.Options)); var commentsService = new CommentsService(commentsRepository, ratingsRepository, ownersRepository); var ownersService = new OwnersService(usersRepository, ownersRepository, dogsittersRepository); var dogsitter = new Dogsitter(); var user = new ApplicationUser { Dogsitter = dogsitter, UserName = User, Email = User, }; var user2 = new ApplicationUser { UserName = User2, Email = User2, }; dogsitter.UserId = user.Id; var rating = new Rating { Score = 5, Dogsitter = dogsitter, DogsitterId = dogsitter.Id, SentBy = SentByDogsitter, }; var comment = new Comment { Content = CommentContent, RatingScore = rating.Score, Dogsitter = dogsitter, DogsitterId = dogsitter.Id, SentBy = SentByDogsitter, }; await ownersService.CreateOwnerAsync(user2, FillInfo, FillInfo, FillInfo, FillInfo, Gender.Female, FillInfo, FillInfo, user2.Id, FillInfo); var owner = ownersRepository.All().FirstOrDefault(); rating.Owner = owner; rating.OwnerId = owner.Id; comment.Owner = owner; comment.OwnerId = owner.Id; user2.Owner = owner; await commentsService.SubmitFeedback(comment, rating); var ownerComments = commentsService.OwnerComments(user2.Id); Assert.Single(ownerComments); }