public void CreateInValidBookingAlreadyBooked() { // Arrange IAcmeRepository repo = new AcmeRepository(); var mockLogger = new Mock <ILogger>(); BookingsController controller = new BookingsController(repo, mockLogger.Object); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); BookingModel bm = new BookingModel { PassengerName = "Karen Lom", Date = new DateTime(2018, 3, 5), FlightNo = 2 }; // Act var result = controller.Post(bm); // Assert Assert.IsNotNull(result); Assert.IsTrue(result.StatusCode == System.Net.HttpStatusCode.BadRequest); HttpError err; Assert.IsTrue(result.TryGetContentValue <HttpError>(out err)); Assert.IsTrue(err.Message.IndexOf("Booking already exists for this passenger for flight 2 on date") != -1); }
//[ExpectedException(typeof(Exception))] public void TestGetBooking() { new Booking() { BookingId = 1, User = "******", Service = "Service1", BookedFrom = DateTime.Now, BookedTo = DateTime.Now.AddDays(1), Deleted = false }; var mockBookingValidator = new Mock <IBookingValidator>(); var controller = new BookingsController(mockBookingValidator.Object); var controllerContext = new HttpControllerContext(); var request = new HttpRequestMessage(); request.Headers.Add("TODO_PAGOS_TOKEN", "1"); controllerContext.Request = request; controller.ControllerContext = controllerContext; IHttpActionResult actionResult = controller.GetBooking("1"); var contentResult = actionResult as OkNegotiatedContentResult <IEnumerable <Booking> >; Assert.IsNotNull(actionResult); }
public async Task Shoud_Not_Book_A_Room_When_Room_Already_Book() { //var fixture = new Fixture(); var booking = new Booking { User = fixture.Create <User>(), StartSlot = 5, EndSlot = 3, Room = fixture.Create <Room>() }; var createdBooking = new CreatedBooking { AvaialbleBookingsForDateAndRoom = fixture.CreateMany <Booking>(10) }; var bookingsBusiness = Substitute.For <IBookingsBusiness>(); bookingsBusiness.BookARoomAsync(Arg.Any <Booking>()).Returns(createdBooking); var roomsBusiness = Substitute.For <IRoomsBusiness>(); roomsBusiness.GetRoomsAsync().Returns(new List <Room> { booking.Room }); var bookingsController = new BookingsController(bookingsBusiness, roomsBusiness); IActionResult response = await bookingsController.BookARoomAsync(booking); Assert.IsInstanceOf(typeof(OkObjectResult), response); var objectResult = (OkObjectResult)response; Assert.AreEqual(200, objectResult.StatusCode); }
public void CreateInValidBookingFlightNo() { // Arrange IAcmeRepository repo = new AcmeRepository(); var mockLogger = new Mock <ILogger>(); BookingsController controller = new BookingsController(repo, mockLogger.Object); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); BookingModel bm = new BookingModel { PassengerName = "John SMith", Date = new DateTime(2018, 3, 7), FlightNo = 53 }; // Act var result = controller.Post(bm); // Assert Assert.IsNotNull(result); Assert.IsTrue(result.StatusCode == System.Net.HttpStatusCode.BadRequest); HttpError err; Assert.IsTrue(result.TryGetContentValue <HttpError>(out err)); Assert.IsTrue(err.Message == "Invalid flight number in booking."); }
public void GetBookingByPassenger() { List <BookingModel> expectedResult = new List <BookingModel> { new BookingModel { BookingNo = 2, Date = new DateTime(2018, 3, 2), FlightNo = 1, PassengerName = "Max Haler" }, new BookingModel { BookingNo = 8, Date = new DateTime(2018, 3, 5), FlightNo = 3, PassengerName = "Max Haler" } }; // Arrange IAcmeRepository repo = new AcmeRepository(); var mockLogger = new Mock <ILogger>(); BookingsController controller = new BookingsController(repo, mockLogger.Object); // Act var result = controller.Get("Max Haler"); // Assert Assert.IsNotNull(result); Assert.AreEqual(2, result.Count()); Assert.IsTrue(result.SequenceEqual(expectedResult, new BookingModelComparer()), "Comparison of bookings failed"); }
public void GetBookingByFlightNo() { List <BookingModel> expectedResult = new List <BookingModel> { new BookingModel { BookingNo = 4, Date = new DateTime(2018, 3, 5), FlightNo = 2, PassengerName = "Karen Lom" }, new BookingModel { BookingNo = 5, Date = new DateTime(2018, 3, 2), FlightNo = 2, PassengerName = "Mike Rom" }, new BookingModel { BookingNo = 6, Date = new DateTime(2018, 3, 2), FlightNo = 2, PassengerName = "James B" }, new BookingModel { BookingNo = 7, Date = new DateTime(2018, 3, 2), FlightNo = 2, PassengerName = "Linda A" } }; // Arrange IAcmeRepository repo = new AcmeRepository(); var mockLogger = new Mock <ILogger>(); BookingsController controller = new BookingsController(repo, mockLogger.Object); // Act var result = controller.Get("", null, "", "", 2); // Assert Assert.IsNotNull(result); Assert.AreEqual(4, result.Count()); Assert.IsTrue(result.SequenceEqual(expectedResult, new BookingModelComparer()), "Comparison of bookings failed"); }
public void CreateValidBooking() { // Arrange IAcmeRepository repo = new AcmeRepository(); var mockLogger = new Mock <ILogger>(); BookingsController controller = new BookingsController(repo, mockLogger.Object); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); BookingModel bm = new BookingModel { PassengerName = "James B", Date = new DateTime(2018, 3, 7), FlightNo = 5 }; // Act var result = controller.Post(bm); // Assert Assert.IsNotNull(result); BookingModel newBookingModel; Assert.IsTrue(result.StatusCode == System.Net.HttpStatusCode.Created); Assert.IsTrue(result.TryGetContentValue <BookingModel>(out newBookingModel)); Assert.AreEqual("James B", newBookingModel.PassengerName); Assert.AreEqual(5, newBookingModel.FlightNo); Assert.AreEqual(10, newBookingModel.BookingNo); }
public async void GetBookingsByBookingId_ValidDetails_NoContent() { try { //Arrange //auto mapper configuration var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new AutoMapperProfiles()); }); var mapper = mockMapper.CreateMapper(); BookingsController controller = new BookingsController(repo: mockRepo.Object, mapper: mapper); //Act var result = await controller.GetBookings(2); //Assert var notFoundResult = result as NotFoundResult; if (notFoundResult != null) { Assert.NotNull(notFoundResult); } } catch (Exception ex) { //Assert Assert.False(false, ex.Message); } }
public BookingsControllerTests(ITestOutputHelper output) { var mockCatalogRepo = new Mock <ICatalogRepository>(); mockCatalogRepo.Setup(repo => repo.GetTenantAsync("testTenant")).Returns(GetTenantModel()); var mockUtilities = new Mock <IUtilities>(); var mockTenantRepo = new Mock <ITenantRepository>(); var mockDnsClient = new Mock <ILookupClient>(); var mockConfig = new Mock <IConfiguration>(); var mockBaseLocalizer = new Mock <IStringLocalizer <BaseController> >(); //var mocklogger = new Mock<ILogger<BookingsController>>(); logger = new XunitLogger <BookingsController>(output); var mockLocalizer = new Mock <IStringLocalizer <BaseController> >(); IStringLocalizer <BaseController> stringLocalizer = mockLocalizer.Object; mockTenantRepo.Setup(repo => repo.GetHotelDetailsAsync(12345)).Returns(GetHotel()); mockTenantRepo.Setup(repo => repo.GetHotelTypeAsync("Classic", 12345)).Returns(GetHotelType()); mockTenantRepo.Setup(repo => repo.GetAllCitiesAsync(12345)).Returns(GetCities()); mockTenantRepo.Setup(repo => repo.GetRoomsAsync(new List <int> { 506, 503 }, 1)).Returns(GetRooms()); mockTenantRepo.Setup(repo => repo.GetRoomAsync(506, 1)).Returns(GetRoom); mockTenantRepo.Setup(repo => repo.GetCityAsync("HYD", 1)).Returns(GetCity); mockTenantRepo.Setup(repo => repo.GetGuest("*****@*****.**", 1)).Returns(GetGuest); mockTenantRepo.Setup(repo => repo.GetOffer(1, 1)).Returns(GetOffer); mockTenantRepo.Setup(repo => repo.GetOffersForTenant(1)).Returns(GetOffersForTenant); mockTenantRepo.Setup(repo => repo.GetRoomPricesAsync(506, 1)).Returns(GetRoomPrices); mockTenantRepo.Setup(repo => repo.GetBookingsSold(506, 1, 1)).Returns(GetBookingsSolds); _bookingsController = new BookingsController(mockTenantRepo.Object, mockCatalogRepo.Object, stringLocalizer, logger, mockConfig.Object, mockDnsClient.Object, mockUtilities.Object); }
public async void GetBookingsByUser_ValidDetails_NoContent() { try { //Arrange _httpContextAccessor.Setup(x => x.HttpContext.User.FindFirst(It.IsAny <string>())) .Returns(new Claim(ClaimTypes.NameIdentifier, "5")); //auto mapper configuration var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new AutoMapperProfiles()); }); var mapper = mockMapper.CreateMapper(); BookingsController controller = new BookingsController(repo: mockRepo.Object, mapper: mapper); //Act var result = await controller.GetBookings(); //Assert var notFoundResult = result as NotFoundResult; if (notFoundResult != null) { Assert.NotNull(notFoundResult); } } catch (Exception ex) { //Assert Assert.False(false, ex.Message); } }
public async void BookMovie_ValidDetails_ShowBookedMovie() { try { //Arrange UserBookingDto userBookingDto = new UserBookingDto() { UserId = 1, ShowId = 1, Seat = new List <SeatDto>() { new SeatDto() { SeatId = 1 }, new SeatDto() { SeatId = 2 } }, MultiplexId = 1, BookingDate = DateTime.Now }; //auto mapper configuration var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new AutoMapperProfiles()); }); var mapper = mockMapper.CreateMapper(); BookingsController controller = new BookingsController(repo: mockRepo.Object, mapper: mapper); //Act var result = await controller.BookMovie(userBookingDto); //Assert var okResult = result as OkObjectResult; if (okResult != null) { Assert.NotNull(okResult); } var model = okResult.Value as IEnumerable <UserBookingReturnDto>; if (model.Count() > 0) { Assert.NotNull(model); Assert.NotNull(model?.FirstOrDefault().Id); var expected = userBookingDto?.UserId; var actual = model?.FirstOrDefault().UserId; Assert.Equal(expected: expected, actual: actual); } } catch (Exception ex) { //Assert Assert.False(false, ex.Message); } }
public void BookingController_SEARCHBOOKING_IS_NOT_NUll() { //Arrange var mockRepository = new Mock <IBookingManager>(); SearchBookingModel moqdata = new SearchBookingModel(); List <Booking> returnData = new List <Booking>(); returnData.Add(new Booking() { DepartureCityCode = "DXB", ArrivalCityCode = "DEL", FlightNumber = "101", }); mockRepository.Setup(x => x.SearchBooking(moqdata)).ReturnsAsync(returnData); var controller = new BookingsController(mockRepository.Object); //Act var result = controller.SearchBooking(moqdata); var contentResult = result.Result as OkNegotiatedContentResult <List <Booking> >; //Assert Assert.IsNotNull(contentResult); Assert.IsNotNull(contentResult.Content); Assert.AreEqual(contentResult.Content.Count, 1); Assert.AreEqual(contentResult.Content[0].DepartureCityCode, "DXB"); }
public BookingsControllerTests() { start = DateTime.Today.AddDays(TenDays); end = DateTime.Today.AddDays(TwentyDays); var bookingList = new Booking[] { new Booking() { StartDate = start, EndDate = end } }; var roomsList = new Room[] { new Room() { Description = "1", Id = 1 }, new Room() { Description = "2", Id = 2 } }; mockBookingRepository = new Mock <IRepository <Booking> >(); mockRoomRepository = new Mock <IRepository <Room> >(); mockCustomerRepository = new Mock <IRepository <Customer> >(); mockBookingManager = new Mock <IBookingManager>(); //mockRoomRepository.Setup(x => x.GetAll()).Returns(() => roomsList); mockBookingRepository.Setup(x => x.GetAll()).Returns(() => bookingList); //mockBookingManager.Setup(x => x.FindAvailableRoom(start, end)).Returns(() => 1); controller = new BookingsController(mockBookingRepository.Object, mockRoomRepository.Object, mockCustomerRepository.Object, mockBookingManager.Object); }
public async Task Shoud_Not_Book_A_Room_When_Unvalid_Data() { //var fixture = new Fixture(); var booking = new Booking { User = fixture.Create <User>(), StartSlot = 5, EndSlot = 3, Room = fixture.Create <Room>() }; var bookingsBusiness = Substitute.For <IBookingsBusiness>(); var roomsBusiness = Substitute.For <IRoomsBusiness>(); roomsBusiness.GetRoomsAsync().Returns(new List <Room> { booking.Room }); var bookingsController = new BookingsController(bookingsBusiness, roomsBusiness); bookingsController.ModelState.AddModelError("", ""); IActionResult response = await bookingsController.BookARoomAsync(booking); Assert.IsInstanceOf(typeof(BadRequestResult), response); var objectResult = (BadRequestResult)response; Assert.AreEqual(400, objectResult.StatusCode); }
public async Task Shoud_Not_Book_A_Room_When_Room_Does_Not_Exist() { //var fixture = new Fixture(); var booking = new Booking { User = fixture.Create <User>(), StartSlot = 5, EndSlot = 3, Room = fixture.Build <Room>() .With(r => r.Name, "room50") .Create() }; var rooms = fixture.Build <Room>() .With(r => r.Name, "room4") .CreateMany(1); var bookingsBusiness = Substitute.For <IBookingsBusiness>(); var roomsBusiness = Substitute.For <IRoomsBusiness>(); roomsBusiness.GetRoomsAsync().Returns(rooms); var bookingsController = new BookingsController(bookingsBusiness, roomsBusiness); IActionResult response = await bookingsController.BookARoomAsync(booking); Assert.IsInstanceOf(typeof(BadRequestResult), response); var objectResult = (BadRequestResult)response; Assert.AreEqual(400, objectResult.StatusCode); }
public void Setup() { contextBuilder = InitializeDBContext(); _queries = new Service.Queries.QueriesService(contextBuilder); _commands = new Service.Commands.CommandsService(contextBuilder); bookingsController = new Controllers.BookingsController(_commands, _queries); bookings = _queries.GetAllBookings(); }
public void Setup() { bookingsController = new BookingsController() { Request = new System.Net.Http.HttpRequestMessage(), Configuration = new HttpConfiguration() }; }
public async Task Request_Returns_ErrorCode_400_If_Model_Validation_Fails() { //Arrange Mock <IBookingRepository> repositoryMock = new Mock <IBookingRepository>(); repositoryMock .Setup(m => m.Update(It.IsAny <Booking>())) .ReturnsAsync(204); //Emulates no concurrency error. var validationResult = new ValidationResult(); validationResult.Errors.Add(new ValidationFailure("test", "testerror")); Mock <IValidator> validatorMock = new Mock <IValidator>(); validatorMock .Setup(m => m.ValidateBooking(It.IsAny <Booking>())) .Returns(validationResult); //Emulates test validation error. BookingsController bookingsController = new BookingsController(repositoryMock.Object, validatorMock.Object); var testID = 11; var testBooking = new Booking { BookingID = 11, BookingStatus = 0, CustomerID = 1, FromDate = null, //should fail validation ToDate = "2021-05-30", Location = "Esbjerg", BookingRessources = new List <BookingRessource> { new BookingRessource { BookingRessourceID = 1, Ressource = new Ressource { RessourceID = 2, ModelNR = 4444, ItemName = "Traktor", NumberOfItems = 2 } } }, RowVersion = Encoding.ASCII.GetBytes("AAAAAAAAB9Y=") }; //Act var result = await bookingsController.PutBooking(testID, testBooking); var status = result as StatusCodeResult; //Assert Assert.Equal(400, status.StatusCode); }
public void GetFromNumber() { var controller = new BookingsController(_bookingService); var getResponse = controller.Get("WO-291470"); Assert.IsNotNull(getResponse); Assert.IsInstanceOfType(getResponse, typeof(FormattedContentResult <Booking>)); }
public void GetPassengerCountInFlight() { var controller = new BookingsController(_bookingService); var passengersInFlight = controller.GetPassengerCountInFlight("PZ696"); Assert.IsNotNull(passengersInFlight); Assert.IsInstanceOfType(passengersInFlight, typeof(FormattedContentResult <PassengersInFlightViewModel>)); }
// Constructor public BookingControllerTest() { // Dates startDate = DateTime.Today.AddDays(1).AddMonths(2); endDate = DateTime.Today.AddDays(8).AddMonths(2); // Create a Booking List List <Booking> bookings = new List <Booking> { new Booking { Id = 1, StartDate = startDate, EndDate = endDate, IsActive = true, CustomerId = 1, RoomId = 1 }, new Booking { Id = 2, StartDate = startDate, EndDate = endDate, IsActive = true, CustomerId = 2, RoomId = 2 }, }; // Create a Customer List List <Customer> customers = new List <Customer> { new Customer { Id = 1, Name = "Adam", Email = "*****@*****.**" }, new Customer { Id = 2, Name = "Linda", Email = "*****@*****.**" } }; // Create a Room List List <Room> rooms = new List <Room> { new Room { Id = 1, Description = "A" }, new Room { Id = 2, Description = "B" }, }; // Instantiations fakeRoomRepository = new Mock <IRepository <Room> >(); fakeCustomerRepository = new Mock <IRepository <Customer> >(); fakeBookingRepository = new Mock <IRepository <Booking> >(); bookingManager = new Mock <IBookingManager>(); bookingViewModel = new Mock <IBookingViewModel>(); // Setup --calling to get data method. fakeBookingRepository.Setup(x => x.GetAll()).Returns(bookings); fakeBookingRepository.Setup(x => x.Get(1)).Returns(bookings[1]); fakeBookingRepository.Setup(x => x.Get(2)).Returns(bookings[1]); fakeRoomRepository.Setup(x => x.GetAll()).Returns(rooms); fakeCustomerRepository.Setup(x => x.GetAll()).Returns(customers); // Create RoomsController controller = new BookingsController(fakeBookingRepository.Object, fakeRoomRepository.Object, fakeCustomerRepository.Object, bookingManager.Object, bookingViewModel.Object); }
public async System.Threading.Tasks.Task TestClosingABooking() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseSqlite(connection) .Options; var operationalStoreOptionsMock = new Mock <OperationalStoreOptions>(); operationalStoreOptionsMock.Object.ConfigureDbContext = dbContext => dbContext.UseSqlite(connection); var iOptionsMock = Options.Create <OperationalStoreOptions>(operationalStoreOptionsMock.Object); // Create the schema in the database using (var context = new ApplicationDbContext(options, iOptionsMock)) { context.Database.EnsureCreated(); } // Run the test against one instance of the context using (var context = new ApplicationDbContext(options, iOptionsMock)) { var bookingController = new BookingsController(context); var locationController = new LocationsController(context); var parkingLotController = new ParkingLotsController(context); Location location = new Location() { LocationLocality = "Whitefield", LocationBuilding = "TestBuilding", LocationCity = "Bangalore", LocationPinCode = 560000 }; await locationController.PostLocation(location); ParkingLot newParkingLot = new ParkingLot() { ParkingDisplayName = "TestPL", LocationLocality = "Whitefield", LocationBuilding = "TestBuilding", LocationCity = "Bangalore", LocationPinCode = 560000 }; await parkingLotController.PostParkingLot(newParkingLot); context.SaveChanges(); await bookingController.PostBooking(1); context.SaveChanges(); bookingController.CloseBooking(1); context.SaveChanges(); var booking = await bookingController.GetBooking(1); Assert.True(booking.Value.IsOccupied == false); } } finally { connection.Close(); } }
public void GetBooking_ValidInput_OkRequest() { var mock = new Mock <bookingrepo>(db); BookingsController obj = new BookingsController(mock.Object); var data = obj.GetBooking(); var res = data as ObjectResult; Assert.AreEqual(200, res.StatusCode); }
public void GetBooking_ReturnNotNullList() { var mock = new Mock <bookingrepo>(db); BookingsController obj = new BookingsController(mock.Object); var data = obj.GetBooking(); var res = data as ObjectResult; Assert.IsNotNull(data); }
public BookingController_Test() { bookingRepository = new Mock <IBookingRepository>(); facilityRepository = new Mock <IFacilityRepository>(); venueRepository = new Mock <IVenueRepository>(); sportRepository = new Mock <ISportRepository>(); var config = new ConfigurationBuilder().Build(); Controller = new BookingsController(config, facilityRepository.Object, venueRepository.Object, sportRepository.Object, bookingRepository.Object, apiClient, auditLogger); }
public void Index() { // Arrange BookingsController controller = new BookingsController(); // Act ViewResult result = controller.Bookings() as ViewResult; // Assert Assert.IsNotNull(result); }
public void TestInitialize() { _mockBookingRepo = new Mock <IBookingRepository>(); _mockRoomRepo = new Mock <IRoomRepository>(); _mockUserRepo = new Mock <IUserRepository>(); _mockContext = new Mock <HotelContext>(); Mock <IGuestRepository> guestRepo = new Mock <IGuestRepository>(); Mock <IDiscountRepository> discountRepo = new Mock <IDiscountRepository>(); _bookingController = new BookingsController(_mockBookingRepo.Object, _mockRoomRepo.Object, _mockUserRepo.Object, _mockContext.Object, guestRepo.Object, discountRepo.Object); }
public void Setup() { var loggerMock = new Mock <ILogger <Booking> >(); _personRepositoryAsync = new PersonAsyncRepository(); _bookingRepositoryAsync = new BookingAsyncRepository(); _flightRepositoryAsync = new FlightAsyncRepository(); var bookingService = new BookingService(_bookingRepositoryAsync, _flightRepositoryAsync, _personRepositoryAsync); _controller = new BookingsController(loggerMock.Object, bookingService); }
public void GetBookings() { var mockService = new Mock <IBookingService>(); mockService.Setup(m => m.GetAll()).Returns(new List <Booking>()); var controller = new BookingsController(mockService.Object); var result = controller.Get(); Assert.Equal(result.ToList().Count, 0); }
public void AddDetail_ValidInput_OkRequest() { var mock = new Mock <bookingrepo>(db); BookingsController obj = new BookingsController(mock.Object); Booking book = new Booking { Id = 1, FullName = "SB", RoomType = "Single", AdhaarCardNo = 253624 }; var data = obj.AddDetail(book); var res = data as ObjectResult; Assert.AreEqual(200, res.StatusCode); }