public async Task Two_Bed_Two_Pets() { IMotelRoomsRepository repo = new MotelRoomsRepository(); BookingProcessor proc = new BookingProcessor(repo); MotelRoom room = await proc.BookAvailableRoomAsync(2, 2, false); Assert.AreEqual(room.TotalCost, 115); }
public async Task Book_Room_By_Number_With_Pets_With_Accessability_Available() { IMotelRoomsRepository repo = new MotelRoomsRepository(); IMotelDataAdapter da = new MotelDataAdapter(new BookingProcessor(repo), repo); BookingController controller = new BookingController(da); IActionResult a = await controller.BookRoomByNumber(101, 1, true); Assert.AreEqual(((ObjectResult)a).StatusCode, 201); }
public async Task Remove_Reservation_Not_Booked() { IMotelRoomsRepository repo = new MotelRoomsRepository(); IMotelDataAdapter da = new MotelDataAdapter(new BookingProcessor(repo), repo); BookingController controller = new BookingController(da); IActionResult a = await controller.RemoveReservation(101); //remove reservation from room 101, ex will be thrown which will be caught by controller Assert.AreEqual(((ObjectResult)a).StatusCode, 400); //check for OK status }
public async Task Rooms_Are_Available() { IMotelRoomsRepository repo = new MotelRoomsRepository(); IMotelDataAdapter da = new MotelDataAdapter(new BookingProcessor(repo), repo); BookingController controller = new BookingController(da); List <MotelRoom> rooms = await controller.GetRoomsAvailable(); Assert.IsTrue(rooms.Count > 0); }
public async Task Book_Room_By_Props_1_Bed_No_Pets_No_Accessability_Available() { IMotelRoomsRepository repo = new MotelRoomsRepository(); IMotelDataAdapter da = new MotelDataAdapter(new BookingProcessor(repo), repo); BookingController controller = new BookingController(da); IActionResult a = await controller.BookRoomByProperties(1, 0, false); Assert.AreEqual(((ObjectResult)a).StatusCode, 201); }
public async Task Remove_Reservation_Booked() { IMotelRoomsRepository repo = new MotelRoomsRepository(); IMotelDataAdapter da = new MotelDataAdapter(new BookingProcessor(repo), repo); BookingController controller = new BookingController(da); await controller.BookRoomByNumber(101, 0, false); //book room 101 IActionResult a = await controller.RemoveReservation(101); //remove its reservation Assert.AreEqual(((ObjectResult)a).StatusCode, 200); //check for OK status }
public async Task Book_Room_By_Number_With_Pets_With_Accessability_Not_Available() { IMotelRoomsRepository repo = new MotelRoomsRepository(); IMotelDataAdapter da = new MotelDataAdapter(new BookingProcessor(repo), repo); BookingController controller = new BookingController(da); //book the whole first floor List <Task> tasks = new List <Task>(); for (int i = 0; i < 6; i++) { tasks.Add(controller.BookRoomByNumber(100 + i, 1, true)); } //wait for all the bookings to finish await Task.WhenAll(tasks); IActionResult a = await controller.BookRoomByNumber(101, 1, true); Assert.AreEqual(((ObjectResult)a).StatusCode, 400); }