Exemplo n.º 1
0
        public async void Update_ValidObjectPassedReturnedResponseNoContent()
        {
            // Arrange
            var existingId = 1;
            var newName    = "Hello world";
            var booking    = new Booking {
                Id = existingId, Name = newName
            };

            // Act
            var actionResult = await _controller.PutBooking(existingId, booking);

            // Assert
            Assert.IsType <NoContentResult>(actionResult);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public void ShouldNot_PutBooking_IdMismatch()
        {
            Booking testBooking = new Booking {
                Id = 1
            };

            Mock <IUnitOfWork> mock = new Mock <IUnitOfWork>();

            mock.Setup(f => f.Bookings.Update(testBooking)).Returns(true);

            BookingsController controller = new BookingsController(mock.Object, null, null);
            var bookings = controller.PutBooking(2, testBooking);

            Assert.IsType <BadRequestResult>(bookings);
        }
Exemplo n.º 4
0
        public void ShouldNot_PutBooking_ModelStateError()
        {
            Booking testBooking = new Booking {
                Id = 1
            };

            Mock <IUnitOfWork> mock = new Mock <IUnitOfWork>();

            mock.Setup(f => f.Bookings.Update(testBooking)).Returns(true);

            BookingsController controller = new BookingsController(mock.Object, null, null);

            controller.ModelState.AddModelError("TestError", "Error");
            var bookings = controller.PutBooking(1, testBooking);

            Assert.IsType <BadRequestObjectResult>(bookings);
        }
Exemplo n.º 5
0
        public async Task Request_Returns_BadRequest_If_Id_MisMatch()
        {
            //Arrange

            Mock <IBookingRepository> repositoryMock     = new Mock <IBookingRepository>();
            Mock <IValidator>         validatorMock      = new Mock <IValidator>();
            BookingsController        bookingsController = new BookingsController(repositoryMock.Object, validatorMock.Object);

            var testID = 11;

            var testBooking = new Booking
            {
                BookingID         = 12,
                BookingStatus     = 0,
                CustomerID        = 1,
                FromDate          = "2021-05-27",
                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);
        }