AirTNG.Web.Tests.Controllers.ReservationsControllerTest.GivenAHandleAction_WhenThereAreNoPendingReservations_TheResponseContainsSorryMessage C# (CSharp) Method

GivenAHandleAction_WhenThereAreNoPendingReservations_TheResponseContainsSorryMessage() private method

        public void GivenAHandleAction_WhenThereAreNoPendingReservations_TheResponseContainsSorryMessage()
        {
            var host = new ApplicationUser {Id = "user-id"};
            var stubVacationPropertiesRepository = Mock.Of<IVacationPropertiesRepository>();
            var mockUsersRepository = new Mock<IUsersRepository>();
            var mockReservationsRepository = new Mock<IReservationsRepository>();
            mockReservationsRepository
                .Setup(r => r.FindFirstPendingReservationByHostAsync(host.Id))
                .ThrowsAsync(new InvalidOperationException()); // There are no reservations
            mockUsersRepository
                .Setup(r => r.FindByPhoneNumberAsync(It.IsAny<string>()))
                .ReturnsAsync(host);
            var stubNotifier = Mock.Of<INotifier>();

            var controller = new ReservationsController(
                stubVacationPropertiesRepository,
                mockReservationsRepository.Object,
                mockUsersRepository.Object,
                stubNotifier);

            controller.WithCallTo(c => c.Handle("from-number", "yes"))
                .ShouldReturnTwiMLResult(data =>
                {
                    StringAssert.Contains("Sorry", data.XPathSelectElement("Response/Message").Value);
                });
        }