Наследование: Twilio.TwiML.Mvc.TwilioController
        public void GivenAPlayAction_ThenTheResponseContainsPlay()
        {
            var controller = new BroadcastController();
            const string recordUrl = "record-url";
            var result = controller.Play(recordUrl);

            result.ExecuteResult(MockControllerContext.Object);
            var document = BuildDocument();

            Assert.That(document.SelectSingleNode("Response/Play").InnerText,
                Is.EqualTo(recordUrl));
        }
        public void GivenASendAction_When2PhoneNumbersAreProvided_ThenCallIsCalledTwice()
        {
            var mockClient = new Mock<IClient>();
            mockClient.Setup(c => c.Call(It.IsAny<CallOptions>()));
            var mockPhoneNumbers = new Mock<IPhoneNumbers>();
            mockPhoneNumbers.Setup(p => p.Twilio).Returns("twilio-number");
            var mockCustomRequest = new Mock<ICustomRequest>();
            mockCustomRequest.Setup(r => r.Url).Returns("http://example.com");

            var controller = new BroadcastController(
                mockClient.Object, mockPhoneNumbers.Object, mockCustomRequest.Object) {Url = Url};
            controller.Send("phone-one, phone-two", "recording-url");

            mockClient.Verify(c => c.Call(It.IsAny<CallOptions>()), Times.Exactly(2));
        }
 public void GivenAnIndexAction_ThenRenderTheDefaultView()
 {
     var controller = new BroadcastController();
     controller.WithCallTo(c => c.Index())
         .ShouldRenderDefaultView();
 }