public void GivenACreateAction_ThenCallIsCalledOnce() { 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-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 }; var result = controller.Create("phone-number"); result.ExecuteResult(MockControllerContext.Object); mockClient.Verify(c => c.Call(It.IsAny <CallOptions>()), Times.Once); }
public void GivenAnIndexAction_WhenClientHasRecordings_ThenShowsTheRecordings() { var mockClient = new Mock <IClient>(); mockClient.Setup(c => c.Recordings()).Returns(new List <Recording> { new Recording { Uri = new Uri("/recording", UriKind.Relative), DateCreated = new DateTime(2015, 01, 01) }, new Recording { Uri = new Uri("/recording", UriKind.Relative), DateCreated = new DateTime(2015, 01, 01) } }); var stubPhoneNumbers = Mock.Of <IPhoneNumbers>(); var controller = new RecordingsController(mockClient.Object, stubPhoneNumbers); var result = controller.Index(); result.ExecuteResult(MockControllerContext.Object); var recordings = Json.Decode <IList <IDictionary <string, string> > >(Result.ToString()); Assert.That(recordings.Count, Is.EqualTo(2)); }
public void GivenAHangupAction_ThenTheResponseContainsHangup() { var controller = new RecordingsController(); var result = controller.Hangup(); result.ExecuteResult(MockControllerContext.Object); var document = BuildDocument(); Assert.That(document.SelectSingleNode("Response/Hangup"), Is.Not.Null); }
public void GivenARecordAction_ThenTheResponseContainsRecord() { var controller = new RecordingsController { Url = Url }; var result = controller.Record(); result.ExecuteResult(MockControllerContext.Object); var document = BuildDocument(); Assert.That(document.SelectSingleNode("Response/Record").Attributes["finishOnKey"].Value, Is.EqualTo("*")); }
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)); }
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")); }
public void SetUp() { _controller = new RecordingsController(_repos); _vr = _controller.Index() as ViewResult; }
public void ParentSetUp() { //不要データを残さない var service = RecordingService.GetInstance(_repos); service.DeleteAll(); //コントローラーのテストで使用 _controller = new RecordingsController(_repos); //参照テストで使用 var newrec = new Recording() { Title = "Are You Experienced", ReleaseDate = new DateTime(1967, 5, 12), Artist = new Artist() { Name = "Jimi Hendrix" }, Label = new Label() { Name = "Track Record" }, Tracks = new List <Track>() { new Track() { Title = "Foxy Lady", Duration = 199 }, new Track() { Title = "Manic Depression", Duration = 210 }, new Track() { Title = "Red House", Duration = 224 } } }; _repos.Add(newrec); _repos.Save(); _repos.Reload(); _initial = newrec; //更新のテストで使用 _vm = new CreateViewModel() { Title = "Sgt. Peppers Lonely Hearts Club Band", ReleaseDate = new DateTime(1967, 5, 26), TrackTitles = new List <string>() { "Sgt. Pepper's Lonely Hearts Club Band", "With a Little Help from My Friends", "Lucy in the Sky with Diamonds" }, Durations = new List <int?>() { 122, 163, 208 }, SelectedArtistId = 1, SelectedLabelId = 2 }; }