ConferenceBroadcast.Web.Controllers.BroadcastController.Send C# (CSharp) Метод

Send() публичный Метод

public Send ( string numbers, string recordingUrl ) : System.Web.Mvc.ActionResult
numbers string
recordingUrl string
Результат System.Web.Mvc.ActionResult
        public ActionResult Send(string numbers, string recordingUrl)
        {
            var url = string.Format("{0}{1}", _customRequest.Url, Url.Action("Play", new {recordingUrl}));
            VolunteersNumbers(numbers).ForEach(number =>
                _client.Call(new CallOptions
                {
                    From = _phoneNumbers.Twilio,
                    To = number,
                    Url = string.Format("{0}{1}", _customRequest.Url, Url.Action("Play", new {recordingUrl}))
                }));

            return View();
        }

Usage Example

        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));
        }