コード例 #1
0
        public async void Get_valid_booking_returns_booking_details()
        {
            // Act
            var actual = await _controller.Get("sometoken");

            // Assert
            Assert.IsType <BookingDetailsDTO>(actual.Value);
        }
コード例 #2
0
        public async void Test_Controller_Get()
        {
            var resultMany = await _controller.Get();

            var resultFail = await _controller.Get(0);

            var resultOne = await _controller.Get(1);

            Assert.NotNull(resultMany);
            Assert.NotNull(resultFail);
            Assert.NotNull(resultOne);
        }
コード例 #3
0
        public void GetBookingsUsingSearchWithNoResults()
        {
            var options = new DbContextOptionsBuilder <FlightsContext>()
                          .UseInMemoryDatabase(databaseName: "GetBookingsUsingSearchWithNoResults")
                          .Options;

            using (var flightContext = new FlightsContext(options))
            {
                flightContext.AddRange(
                    new Booking {
                    Id = 1, PassengerName = "Joe Bloggs", Date = new DateTime(2018, 5, 10)
                },
                    new Booking {
                    Id = 2, PassengerName = "Joe Bloggs", Date = new DateTime(2018, 4, 10)
                });
                flightContext.SaveChanges();
            }

            using (var flightContext = new FlightsContext(options))
            {
                var bookingController = new BookingController(flightContext);
                var result            = bookingController.Get("John", DateTime.MinValue, null, string.Empty, string.Empty);
                Assert.IsTrue(result is NotFoundResult);
            }
        }
コード例 #4
0
        public void GetBookingsUsingSearch()
        {
            var options = new DbContextOptionsBuilder <FlightsContext>()
                          .UseInMemoryDatabase(databaseName: "GetBookingsUsingSearch")
                          .Options;

            using (var flightContext = new FlightsContext(options))
            {
                flightContext.AddRange(
                    new Booking {
                    Id = 1, PassengerName = "Joe Bloggs", Date = new DateTime(2018, 5, 10)
                },
                    new Booking {
                    Id = 2, PassengerName = "Joe Bloggs", Date = new DateTime(2018, 4, 10)
                });
                flightContext.SaveChanges();
            }

            using (var flightContext = new FlightsContext(options))
            {
                var bookingController = new BookingController(flightContext);
                var result            = bookingController.Get("Bloggs", DateTime.MinValue, null, string.Empty, string.Empty);
                Assert.IsTrue(result is ObjectResult);
                var objectResult = result as ObjectResult;
                Assert.IsTrue(objectResult.Value is IList <Booking>);
                var bookings = (objectResult.Value as IList <Booking>).ToList();
                Assert.AreEqual(2, bookings.Count);
                Assert.AreEqual(1, bookings[0].Id);
                Assert.AreEqual("Joe Bloggs", bookings[0].PassengerName);
                Assert.AreEqual(new DateTime(2018, 5, 10), bookings[0].Date);
                Assert.AreEqual(2, bookings[1].Id);
                Assert.AreEqual("Joe Bloggs", bookings[1].PassengerName);
                Assert.AreEqual(new DateTime(2018, 4, 10), bookings[1].Date);
            }
        }
コード例 #5
0
        public void GetReturnsCorrectModelType(BookingController sut,
                                               DateViewModel id)
        {
            ViewResult actual = sut.Get(id);

            Assert.IsAssignableFrom <BookingViewModel>(actual.Model);
        }
コード例 #6
0
        public void GetBooking()
        {
            var options = new DbContextOptionsBuilder <FlightsContext>()
                          .UseInMemoryDatabase(databaseName: "GetBooking")
                          .Options;

            using (var flightContext = new FlightsContext(options))
            {
                flightContext.AddRange(
                    new Booking {
                    Id = 1, PassengerName = "Joe Bloggs", Date = new DateTime(2018, 5, 10)
                });
                flightContext.SaveChanges();
            }

            using (var flightContext = new FlightsContext(options))
            {
                var bookingController = new BookingController(flightContext);
                var result            = bookingController.Get(1);
                Assert.IsTrue(result is ObjectResult);
                var objectResult = result as ObjectResult;
                Assert.IsTrue(objectResult.Value is Booking);
                var booking = objectResult.Value as Booking;
                Assert.AreEqual(1, booking.Id);
                Assert.AreEqual("Joe Bloggs", booking.PassengerName);
                Assert.AreEqual(new DateTime(2018, 5, 10), booking.Date);
            }
        }
コード例 #7
0
        public async void Test_Controller_Get()
        {
            var resultMany = await _controller.Get();

            var resultFail = await _controller.Get(0);

            var resultOne = await _controller.Get(1);

            var resultSearch = await _controller.Get(new BookingSearchQueries());


            Assert.NotNull(resultMany);
            Assert.NotNull(resultFail);
            Assert.NotNull(resultOne);
            Assert.NotNull(resultSearch);
        }
コード例 #8
0
        public void TestGetAllBookingsOK()
        {
            Tourist tourist = new Tourist
            {
                Email    = "*****@*****.**",
                Id       = 1,
                Name     = "s",
                LastName = "b"
            };
            Booking booking = new Booking
            {
                Id         = 5,
                TotalPrice = 10,
                CheckIn    = DateTime.Now.AddDays(1),
                CheckOut   = DateTime.Now.AddDays(2),
                HeadGuest  = tourist
            };
            List <Booking> list = new List <Booking>
            {
                booking
            };
            var mockBooking = new Mock <IBookingLogic>(MockBehavior.Strict);

            mockBooking.Setup(p => p.GetAll()).Returns(list);
            var controller = new BookingController(mockBooking.Object);

            var result = controller.Get() as OkObjectResult;

            mockBooking.VerifyAll();
            Assert.AreEqual(200, result.StatusCode);
        }
コード例 #9
0
        private void secondBooking()
        {
            //Arrange
            CustomerController   cusctr2  = new CustomerController();
            EmployeeController   empctr2  = new EmployeeController();
            EscapeRoomController escctr2  = new EscapeRoomController();
            BookingController    bookctr2 = new BookingController();
            Customer             cus2     = cusctr2.Get("Anorak");
            Employee             emp2     = empctr2.Get(1);
            EscapeRoom           er2      = escctr2.GetForOwner(3);
            Booking checkBook2;
            Booking book2 = new Booking {
                amountOfPeople = 2,
                bookingTime    = new TimeSpan(16, 00, 0000),
                cus            = cus2,
                date           = DateTime.Now.AddDays(14).Date,
                emp            = emp2,
                er             = er2,
            };

            //Act
            bookctr2.Create(book2.emp.employeeID, book2.cus.username, book2.er.escapeRoomID, book2.bookingTime, book2.amountOfPeople, book2.date);
            checkBook2 = bookctr2.Get(er2.escapeRoomID, cus2.username, book2.date);

            //Assert
            Assert.AreEqual(book2.amountOfPeople, checkBook2.amountOfPeople);
            autoEvent.Set();
            autoEvent.WaitOne();
            bookctr2.Delete(book2.emp.employeeID, book2.cus.username, book2.er.escapeRoomID, book2.bookingTime, book2.amountOfPeople, book2.date);
        }
コード例 #10
0
        private void firstBooking()
        {
            //Arrange
            CustomerController   cusctr  = new CustomerController();
            EmployeeController   empctr  = new EmployeeController();
            EscapeRoomController escctr  = new EscapeRoomController();
            BookingController    bookctr = new BookingController();
            Customer             cus     = cusctr.Get("SirLol");
            Employee             emp     = empctr.Get(1);
            EscapeRoom           er      = escctr.GetForOwner(3);
            Booking checkBook;
            Booking book = new Booking
            {
                amountOfPeople = 5,
                bookingTime    = new TimeSpan(16, 00, 0000),
                cus            = cus,
                date           = DateTime.Now.AddDays(14).Date,
                emp            = emp,
                er             = er,
            };

            //Act
            autoEvent.WaitOne();
            bookctr.Create(book.emp.employeeID, book.cus.username, book.er.escapeRoomID, book.bookingTime, book.amountOfPeople, book.date);
            checkBook = bookctr.Get(er.escapeRoomID, cus.username, book.date);

            //Assert
            Assert.AreNotEqual(book.amountOfPeople, checkBook.amountOfPeople);
            autoEvent.Set();
        }
コード例 #11
0
        public async Task ServiceTestGetBookingsNoData()
        {
            SampleData Data = new SampleData(false);

            Mock <BookingSystemDb>                    MockDb                     = Data.Context();
            Mock <DbSet <Company> >                   MockCompanySet             = data.Companies;
            Mock <DbSet <Restaurant> >                MockRestaurantsSet         = data.Restaurants;
            Mock <DbSet <RestaurantMenuItem> >        MockRestaurantMenuItemsSet = data.RestaurantMenuItems;
            Mock <DbSet <MenuItem> >                  MockMenuItemsSet           = data.MenuItems;
            Mock <DbSet <MenuItemDietInfo> >          MockMenuItemDietInfoSet    = data.MenuItemDietInfos;
            Mock <DbSet <DietInfo> >                  MockDietInfoSet            = data.DietInfos;
            Mock <DbSet <MenuItemType> >              MockMenuItemTypeSet        = data.MenuItemTypes;
            Mock <DbSet <DatabaseContext.Data.Type> > MockTypesSet               = data.Types;
            Mock <DbSet <Table> >           MockTablesSet           = data.Tables;
            Mock <DbSet <TableBooking> >    MockTableBookingSet     = data.TableBookings;
            Mock <DbSet <Booking> >         MockBookingSet          = data.Bookings;
            Mock <DbSet <BookingMenuItem> > MockBookingMenuItemsSet = data.BookingMenuItems;
            Mock <DbSet <Payment> >         MockPaymentsSet         = data.Payments;
            Mock <DbSet <PaymentMethod> >   MockPaymentMethodsSet   = data.PaymentMethods;
            Mock <DbSet <Customer> >        MockCustomersSet        = data.Customers;

            BookingController Controller = new BookingController(MockDb.Object)
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };

            HttpResponseMessage response = await Controller.Get();

            Assert.IsTrue(response.IsSuccessStatusCode);
            Assert.AreEqual(response.StatusCode, HttpStatusCode.NoContent);
        }
コード例 #12
0
        public void Get()
        {
            BookingController     controller = new BookingController();
            IEnumerable <Booking> result     = controller.Get(paging_Index, paging_MaxForPage, 1);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count() >= 0);
        }
コード例 #13
0
        public void GetByBookingIdNegative()
        {
            var repo = new Mock <BookingRep>(db);
            BookingController controller = new BookingController(repo.Object);
            var data   = controller.Get(5);
            var result = data as ObjectResult;

            Assert.AreEqual(400, result.StatusCode);
        }
コード例 #14
0
        public void GetReturnModelWithCorrectDate(BookingController sut,
                                                  DateViewModel id)
        {
            var actual = sut.Get(id);

            var expected = id.ToDateTime();
            var model    = Assert.IsAssignableFrom <BookingViewModel>(actual.Model);

            Assert.Equal(expected, model.Date);
        }
コード例 #15
0
        public void TestGetByIdBookingsOK()
        {
            Tourist tourist = new Tourist
            {
                Email    = "*****@*****.**",
                Id       = 1,
                Name     = "s",
                LastName = "b"
            };
            Accommodation accommodation = new Accommodation
            {
                Id            = 5,
                Name          = "a",
                Address       = "a",
                ContactNumber = "2"
            };
            Booking booking = new Booking
            {
                Id            = 5,
                TotalPrice    = 10,
                CheckIn       = DateTime.Now.AddDays(1),
                CheckOut      = DateTime.Now.AddDays(2),
                HeadGuest     = tourist,
                Accommodation = accommodation
            };
            Guest guest = new Guest
            {
                Amount     = 1,
                Multiplier = 1
            };
            List <Guest> guestList = new List <Guest>
            {
                guest,
                guest,
                guest
            };

            booking.Guests = guestList;
            var mockBooking = new Mock <IBookingLogic>(MockBehavior.Strict);

            mockBooking.Setup(p => p.GetById(It.IsAny <int>())).Returns(booking);
            var controller = new BookingController(mockBooking.Object);

            var result = controller.Get(5) as OkObjectResult;

            mockBooking.VerifyAll();
            Assert.AreEqual(200, result.StatusCode);
        }
コード例 #16
0
        public void GetReturnsModelWithCorrectRemainingCapacity(
            [Frozen] Mock <IReader <DateTime, int> > readerStub,
            BookingController sut,
            DateViewModel id,
            int expected)
        {
            readerStub
            .Setup(r => r.Query(id.ToDateTime()))
            .Returns(expected);

            var actual = sut.Get(id);

            var model = Assert.IsAssignableFrom <BookingViewModel>(actual.Model);

            Assert.Equal(expected, model.RemainingCapacity);
        }
コード例 #17
0
        public async Task GetByIdCallsMediatRWithExpectedNotFoundResult()
        {
            // Arrange
            mediatR = new Mock <IMediator>();
            mediatR.Setup(m => m.Send(It.IsAny <GetMovieCruiserByIdRequest>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult <MovieByIdResponse>(null));
            controller = new BookingController(mediatR.Object);

            // Act
            var result = await controller.Get(123) as NotFoundObjectResult;

            // Assert
            mediatR.Verify(m => m.Send(It.IsAny <GetMovieCruiserByIdRequest>(), It.IsAny <CancellationToken>()), Times.Once());
            Assert.NotNull(result);
            Assert.Equal("No movie found for given movie id", result.Value);
            Assert.Equal(404, result.StatusCode);
        }
コード例 #18
0
        public void Post()
        {
            BookingController controller = new BookingController();

            try
            {
                controller.Post(498, "Customer 18", DateTime.Parse("1/22/2018 12:00:00 AM"), DateTime.Parse("1/31/2018 12:00:00 AM"));
                controller.Post(DummyBooking.CarId, DummyBooking.CustomerName, DateTime.Now, DateTime.Now.AddDays(5));
                IEnumerable <Booking> result = controller.Get(paging_Index, paging_MaxForPage, DummyBooking.CarId);
                Assert.IsNotNull(result);
                Assert.IsTrue(result.Count() > 0);
            }
            catch (Exception)
            {
                controller.Delete(DummyBooking.CustomerName);
            }
        }
コード例 #19
0
        public async Task GetByIdCallsMediatRWithExpectedResult()
        {
            // Arrange
            mediatR = new Mock <IMediator>();
            mediatR.Setup(m => m.Send(It.IsAny <GetMovieCruiserByIdRequest>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(MockMovieByIdResponse()));
            controller = new BookingController(mediatR.Object);

            // Act
            var result = await controller.Get(123) as OkObjectResult;

            // Assert
            Assert.NotNull(result);
            Assert.Equal(200, result.StatusCode);
            var movieCruiser = result.Value as MovieByIdResponse;

            Assert.NotNull(movieCruiser);
            Assert.Equal(2, movieCruiser.RecommendationsMovies.results.Count);
            Assert.Equal("Avengers: Infinity War", movieCruiser.MovieByIdModel.Title);
            Assert.Equal("Avengers: Infinity War movie was good", movieCruiser.MovieByIdModel.Comments);
        }
コード例 #20
0
        public async Task GetCallsMediatRWithExpectedResult()
        {
            // Arrange
            mediatR = new Mock <IMediator>();
            mediatR.Setup(m => m.Send(It.IsAny <GetBookinggRequest>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(GetMovieApiResponse()));
            controller = new BookingController(mediatR.Object);

            // Act
            var result = await controller.Get() as OkObjectResult;

            // Assert
            Assert.NotNull(result);
            Assert.Equal(200, result.StatusCode);
            var movieCruiser = result.Value as MovieApiResponse;

            Assert.NotNull(movieCruiser);
            Assert.Equal(2, movieCruiser.total_results);
            Assert.Equal(1, movieCruiser.page);
            Assert.Equal(2, movieCruiser.results.Count);
        }
コード例 #21
0
        public void GetBookingInvalidId()
        {
            var options = new DbContextOptionsBuilder <FlightsContext>()
                          .UseInMemoryDatabase(databaseName: "GetBookingInvalidId")
                          .Options;

            using (var flightContext = new FlightsContext(options))
            {
                flightContext.AddRange(
                    new Booking {
                    Id = 1, PassengerName = "Joe Bloggs", Date = new DateTime(2018, 5, 10)
                });
                flightContext.SaveChanges();
            }

            using (var flightContext = new FlightsContext(options))
            {
                var bookingController = new BookingController(flightContext);
                var result            = bookingController.Get(2);
                Assert.IsTrue(result is NotFoundResult);
            }
        }
コード例 #22
0
        public void BookingControllerUnitTest_IsAvailable_return_false_on_seat_unavailable()
        {
            //given
            string date            = DateTime.Now.AddDays(1).ToString("dd-MM-yyyy");
            var    bookingResponse = new BookingResponse {
                IsAvailable = false
            };
            var moqBookingService = new Mock <IBookingService>();

            moqBookingService.Setup(m => m.IsAvailable(It.IsAny <Booking>())).Returns(Task.FromResult(bookingResponse));
            var sut = new BookingController(moqBookingService.Object);

            //when
            var result   = sut.Get(date, date, "1");
            var okResult = result.Result as OkObjectResult;
            var response = okResult.Value as BookingResponse;

            //then
            Assert.IsInstanceOfType(result, typeof(Task <IActionResult>));
            Assert.IsNotNull(okResult);
            Assert.AreEqual(200, okResult.StatusCode);
            Assert.IsNotNull(response);
            Assert.IsFalse(response.IsAvailable);
        }
コード例 #23
0
        /// <summary>
        /// the method to get a booking for a customer whit the date and escape-room id
        /// </summary>
        /// <param name="EmpID">escape-room id</param>
        /// <param name="username">customers user-name</param>
        /// <param name="Bdate">the date for the booking</param>
        /// <returns> return the booking whit the right attributes  </returns>
        public Booking Get(int EmpID, string username, DateTime Bdate)
        {
            BookingController BCon = new BookingController();

            return(BCon.Get(EmpID, username, Bdate));
        }
コード例 #24
0
        public async void Test_Controller_Get_Null_DateRange()
        {
            IActionResult resultAll = await _controller.Get(null, null);

            Assert.IsAssignableFrom <OkObjectResult>(resultAll);
        }