Example #1
0
        public void GivenAnIndexAction_WhenClientHasRecordings_ThenShowsTheRecordings()
        {
            var mockClient = new Mock <IClient>();

            var recordingsFromApi = new List <RecordingResource>
            {
                RecordingResource.FromJson("{\"date_created\": \"Mon, 22 Aug 2011 20:58:45 +0000\", \"uri\": \"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json\"}")
            };

            mockClient.Setup(c => c.Recordings()).ReturnsAsync(recordingsFromApi);

            var stubPhoneNumbers = Mock.Of <IPhoneNumbers>();
            var controller       = new RecordingsController(mockClient.Object, stubPhoneNumbers);
            var result           = controller.WithCallTo(c => c.Index()).ShouldReturnJson();
            var recordings       = (result.Data as IEnumerable <object>).ToList();

            Assert.That(recordings.Count(), Is.EqualTo(1));
        }
Example #2
0
        public void GivenACreateAction_ThenCallIsCalledOnce()
        {
            var mockClient       = new Mock <IClient>();
            var mockPhoneNumbers = new Mock <IPhoneNumbers>();

            mockPhoneNumbers.Setup(p => p.Twilio).Returns("twilio-phone-number");

            var mockCustomRequest = new Mock <ICustomRequest>();

            mockCustomRequest.Setup(r => r.Url).Returns("http://example.com");

            var controller = new RecordingsController(
                mockClient.Object, mockPhoneNumbers.Object, mockCustomRequest.Object)
            {
                Url = Url
            };

            controller.WithCallTo(c => c.Create("phone-number")).ShouldReturnEmptyResult();

            mockClient.Verify(
                c => c.Call("phone-number", "twilio-phone-number", "http://example.com/Recordings/Record"));
        }