コード例 #1
0
        public void AddToBooking_PositiveTestCases_TestResults()
        {
            Book toBeBooked = new Book();

            toBeBooked.RenterId = 2;
            toBeBooked.RoomId   = 3;

            Book booked = new Book();

            booked.BookId   = 1;
            booked.RenterId = 2;
            booked.RoomId   = 3;

            BookingReceived bookingReceived = new BookingReceived();

            bookingReceived.RenterId = 2;
            bookingReceived.RoomId   = 3;

            Acknowledgement <Book> bookAcknowledgement = new Acknowledgement <Book>();
            List <Book>            bookingList         = new List <Book>();

            bookingList.Add(booked);

            bookAcknowledgement.code    = 1;
            bookAcknowledgement.Set     = bookingList;
            bookAcknowledgement.Message = "successfully booked the room";


            //Assign
            var _mockBusinessMethod = new Mock <BookingManager>();

            //  var Wish_List = RemoveFromWishList_Mock_Negative();
            _mockBusinessMethod.Setup(p => p.AddToBooking(toBeBooked)).Returns(bookAcknowledgement);
            BookingController _bookingController = new BookingController(_mockBusinessMethod.Object);
            //Act
            var _returnedBooking = _bookingController.AddToBooking(bookingReceived);

            var _returnedBookingAck         = _returnedBooking as OkObjectResult;
            var _originalReturnedBookingAck = bookAcknowledgement;

            //Assert
            Assert.IsNotNull(_returnedBookingAck);
            Assert.ReferenceEquals(_returnedBookingAck.Value, _originalReturnedBookingAck);
        }
コード例 #2
0
        public void AddToBooking_NegativeTestCases_UserStatusInvalid()
        {
            Book toBeBooked = new Book();

            toBeBooked.RenterId = 2;
            toBeBooked.RoomId   = 3;

            Book booked = new Book();

            booked.BookId   = 1;
            booked.RenterId = 2;
            booked.RoomId   = 3;

            BookingReceived bookingReceived = new BookingReceived();

            bookingReceived.RenterId = 2;
            bookingReceived.RoomId   = 3;

            Acknowledgement <Book> bookAcknowledgement = new Acknowledgement <Book>();


            bookAcknowledgement.code    = 0;
            bookAcknowledgement.Set     = null;
            bookAcknowledgement.Message = "failed to book";


            //Assign
            var _mockBusinessMethod = new Mock <BookingManager>();

            //  var Wish_List = RemoveFromWishList_Mock_Negative();
            _mockBusinessMethod.Setup(p => p.AddToBooking(toBeBooked)).Throws(new UserStatusInvalid());
            BookingController _bookingController = new BookingController(_mockBusinessMethod.Object);
            //Act
            var _returnedBooking = _bookingController.AddToBooking(bookingReceived);

            var _returnedBookingAck         = _returnedBooking as OkObjectResult;
            var _originalReturnedBookingAck = bookAcknowledgement;

            //Assert
            Assert.IsNotNull(_returnedBookingAck);
            Assert.ReferenceEquals(_returnedBookingAck.Value, _originalReturnedBookingAck);
        }
コード例 #3
0
        public IActionResult AddToBooking(BookingReceived toBeBookedRecieved)
        {
            Book toBeBooked = new Book();

            toBeBooked.RenterId = toBeBookedRecieved.RenterId;
            toBeBooked.RoomId   = toBeBookedRecieved.RoomId;

            //BookingManager bookingManager = new BookingManager();
            string wrongMessage = "Sorry, something went wrong";
            Acknowledgement <Book> returnData = new Acknowledgement <Book>();

            if (!ModelState.IsValid)
            {
                returnData.code    = 0;
                returnData.Message = "model state invalid";
                return(Ok(returnData));
            }

            try
            {
                returnData = search.AddToBooking(toBeBooked);
            }
            //renterIdNotThereException
            //    roomIdNotThereException

            catch (UserStatusInvalid userStatusInvalidEx)
            {
                returnData.code    = 0;
                returnData.Message = userStatusInvalidEx.Message;
                return(Ok(returnData));
            }
            catch (UserIsNotRenter userIsNotRenterEx)
            {
                returnData.code    = 0;
                returnData.Message = userIsNotRenterEx.Message;
                return(Ok(returnData));
            }
            catch (RoomIdNotThere roomIdNotThereEx)
            {
                returnData.code    = 0;
                returnData.Message = roomIdNotThereEx.Message;
                return(Ok(returnData));
            }
            catch (RenterIdNotThere renterIdNotThereEx)
            {
                returnData.code    = 0;
                returnData.Message = renterIdNotThereEx.Message;
                return(Ok(returnData));
            }
            catch (RoomAlreadyBooked roomAlreadyBookedEx)
            {
                returnData.code    = 0;
                returnData.Message = roomAlreadyBookedEx.Message;
                return(Ok(returnData));
            }
            catch (Exception)
            {
                returnData.code    = 0;
                returnData.Message = wrongMessage;
                return(Ok(returnData));
            }

            return(Ok(returnData));
        }