public async Task AddReservationTest() { var stateManager = new MockReliableStateManager(); var testShowDate = new DateTime(2012, 10, 10); var showService = new MockShowService { TryAddReservationToShowFunc = reservationItem => Task.FromResult(true), GetByIdFunc = id => Task.FromResult(new ShowItem { Id = id, ShowDateTime = testShowDate }) }; var showServiceFactory = new MockShowServiceFactory(showService); var reservationService = new ReservationService(TestUtils.StatefulServiceContext, stateManager, showServiceFactory); var item = new Domain.ReservationItem { ShowItemId = new ItemId(Guid.NewGuid()), }; var result = await reservationService.GetByIdAsync(item.Id); Assert.AreEqual(null, result); var addResult = await reservationService.AddAsync(item); Assert.IsTrue(addResult); result = await reservationService.GetByIdAsync(item.Id); Assert.AreEqual(item, result); Assert.IsTrue(item.ReservationDateTime.HasValue); }
public async Task AddAsync_WhenCalledWithExisting_ShouldUpdate() { int existingId = 0; using (var context = new ApplicationContext(options)) { var reservation = context.Add( new Reservation { GuestNumber = 1, GuestNames = "Guest1" } ); await context.SaveChangesAsync(); existingId = reservation.Entity.ReservationId; } using (var context = new ApplicationContext(options)) { var reservationService = new ReservationService(context, localizerMock.Object, emailServiceMock.Object); var reservation = await reservationService.AddAsync( new Reservation { ReservationId = existingId, GuestNumber = 2, GuestNames = "Guest1, Guest2" } ); Assert.True(context.Reservations.Contains(reservation)); Assert.Equal(2, context.Reservations.Find(reservation.ReservationId).GuestNumber); Assert.Equal("Guest1, Guest2", context.Reservations.Find(reservation.ReservationId).GuestNames); } }
public async Task GetByTimeAsync() { var stateManager = new MockReliableStateManager(); var showService = new MockShowService { TryAddReservationToShowFunc = reservationItem => Task.FromResult(true), GetByIdFunc = id => Task.FromResult(new ShowItem { Id = id, ShowDateTime = new DateTime(2010, 10, 10, 10, 10, 10) }) }; var showServiceFactory = new MockShowServiceFactory(showService); var reservationService = new ReservationService(TestUtils.StatefulServiceContext, stateManager, showServiceFactory); var testMovieName = "testMovie"; var item = new Domain.ReservationItem { ShowItemId = new ItemId(Guid.NewGuid()), Movie = testMovieName, ReservationDateTime = new DateTime(2010, 10, 10, 10, 10, 10) }; var item2 = new Domain.ReservationItem { ShowItemId = new ItemId(Guid.NewGuid()), Movie = testMovieName, ReservationDateTime = new DateTime(2010, 10, 11, 10, 10, 10) }; var item3 = new Domain.ReservationItem { ShowItemId = new ItemId(Guid.NewGuid()), Movie = "anotherMovie", ReservationDateTime = new DateTime(2010, 10, 3, 10, 10, 10) }; await reservationService.AddAsync(item); await reservationService.AddAsync(item2); await reservationService.AddAsync(item3); var result = await reservationService.GetByTimeAsync(new TimeRange( new DateTime(2010, 10, 9, 10, 10, 10), new DateTime(2010, 10, 12, 10, 10, 10))); Assert.IsTrue(result.Contains(item)); Assert.IsTrue(result.Contains(item2)); Assert.IsFalse(result.Contains(item3)); }
public void AddReservationCorrectly() { var dbContext = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var repoRelaxProgram = new EfDeletableEntityRepository <RelaxProgram>(new ApplicationDbContext(dbContext.Options)); repoRelaxProgram.SaveChangesAsync().GetAwaiter().GetResult(); var repoPayment = new EfDeletableEntityRepository <Payment>(new ApplicationDbContext(dbContext.Options)); repoPayment.SaveChangesAsync().GetAwaiter().GetResult(); var repoPeriod = new EfDeletableEntityRepository <Period>(new ApplicationDbContext(dbContext.Options)); repoPeriod.SaveChangesAsync().GetAwaiter().GetResult(); var repoReservation = new EfDeletableEntityRepository <Reservation>(new ApplicationDbContext(dbContext.Options)); repoReservation.SaveChangesAsync().GetAwaiter().GetResult(); Payment payment = new Payment { AmountPaid = 1000, DocumentNumber = "Plategno 125/15.04.2020", }; repoPayment.AddAsync(payment); repoPayment.SaveChangesAsync().GetAwaiter().GetResult(); RelaxProgram relaxProgram = new RelaxProgram { EcoTrail = "Yes", Party = "Yes", SwimmingPool = "Yes", }; repoRelaxProgram.AddAsync(relaxProgram); repoRelaxProgram.SaveChangesAsync().GetAwaiter().GetResult(); Period period = new Period { ArrivalDate = new DateTime(2020, 5, 1), DepartDate = new DateTime(2020, 5, 5), }; repoPeriod.AddAsync(period); repoPeriod.SaveChangesAsync().GetAwaiter().GetResult(); var service = new ReservationService(repoRelaxProgram, repoPayment, repoPeriod, repoReservation); _ = service.AddAsync("cb6c61f0-4134-4450-8203-aaee05081d45", 5); var list = repoReservation.All().ToList(); Assert.Single(list); Assert.Equal(5, list[0].NoOfPeople); }
public async Task GetByMovieAsyncTest() { var stateManager = new MockReliableStateManager(); var showService = new MockShowService { TryAddReservationToShowFunc = reservationItem => Task.FromResult(true) }; var showServiceFactory = new MockShowServiceFactory(showService); var reservationService = new ReservationService(TestUtils.StatefulServiceContext, stateManager, showServiceFactory); var testMovieName = "testMovie"; var item = new Domain.ReservationItem { ShowItemId = new ItemId(Guid.NewGuid()), Movie = testMovieName, ReservationDateTime = new DateTime(2010, 10, 10, 10, 10, 10) }; var item2 = new Domain.ReservationItem { ShowItemId = new ItemId(Guid.NewGuid()), Movie = testMovieName, ReservationDateTime = new DateTime(2010, 10, 10, 10, 10, 10) }; var item3 = new Domain.ReservationItem { ShowItemId = new ItemId(Guid.NewGuid()), Movie = "anotherMovie", ReservationDateTime = new DateTime(2010, 10, 10, 10, 10, 10) }; await reservationService.AddAsync(item); await reservationService.AddAsync(item2); await reservationService.AddAsync(item3); var result = await reservationService.GetByMovieAsync(testMovieName); result.ForEach(i => Assert.IsTrue(i.Movie.Equals(testMovieName))); }
public async Task GetAllAsyncTest() { var stateManager = new MockReliableStateManager(); var showService = new MockShowService { TryAddReservationToShowFunc = reservationItem => Task.FromResult(true) }; var showServiceFactory = new MockShowServiceFactory(showService); var reservationService = new ReservationService(TestUtils.StatefulServiceContext, stateManager, showServiceFactory); var item = new Domain.ReservationItem { ShowItemId = new ItemId(Guid.NewGuid()), ReservationDateTime = new DateTime(2010, 10, 10, 10, 10, 10) }; var item2 = new Domain.ReservationItem { ShowItemId = new ItemId(Guid.NewGuid()), ReservationDateTime = new DateTime(2010, 10, 10, 10, 10, 10) }; var item3 = new Domain.ReservationItem { ShowItemId = new ItemId(Guid.NewGuid()), ReservationDateTime = new DateTime(2010, 10, 10, 10, 10, 10) }; await reservationService.AddAsync(item); await reservationService.AddAsync(item2); await reservationService.AddAsync(item3); var result = await reservationService.GetAllReservationsAsync(); Assert.IsTrue(result.ToList().Contains(item)); Assert.IsTrue(result.ToList().Contains(item2)); Assert.IsTrue(result.ToList().Contains(item3)); }
public async Task AddAsync_WhenCalledWithNew_ShouldAdd() { using (var context = new ApplicationContext(options)) { var reservationService = new ReservationService(context, localizerMock.Object, emailServiceMock.Object); var guestNames = "Guest Name"; var reservation = await reservationService.AddAsync( new Reservation { GuestNumber = 1, GuestNames = guestNames } ); Assert.True(context.Reservations.Contains(reservation)); Assert.Equal(1, context.Reservations.Find(reservation.ReservationId).GuestNumber); Assert.Equal(guestNames, context.Reservations.Find(reservation.ReservationId).GuestNames); } }