예제 #1
0
        public async Task BookingsByCustomerID_Returns_A_BookingViewModel()
        {
            // Arrange
            var returnedValues = new List <Booking>()
            {
                new Booking()
                {
                    BookingID = 1
                },
                new Booking()
                {
                    BookingID = 1
                }
            };

            int testId = 1;
            var mock   = new Mock <IDelpinHttpClientHandler <Booking> >();

            mock.Setup(m => m.CallHttpGet(It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(returnedValues);

            var sut = new BookingController(Configuration(), mock.Object);

            // Act
            var result = await sut.BookingsByCustomerID(testId) as ViewResult;

            // Assert
            var model = Assert.IsType <BookingViewModel>(result.Model);

            int bookingId = model.bookings.Select(c => c.BookingID).FirstOrDefault();

            Assert.Equal(returnedValues, model.bookings);
            Assert.Equal(returnedValues.Count, model.bookings.Count);
            Assert.Equal(1, bookingId);
        }