public async Task SaveButtonClicked_Test_Success(string runningTimeFieldEntry, string notesFieldEntry, string imageFilePathFieldEntry) { // arrange var fakeView = A.Fake <IAddMediaItemForm>(); A.CallTo(() => fakeView.TitleFieldText).Returns("title"); A.CallTo(() => fakeView.NumberFieldText).Returns("0123456789"); A.CallTo(() => fakeView.RunningTimeFieldEntry).Returns(runningTimeFieldEntry); A.CallTo(() => fakeView.YearFieldEntry).Returns("2021"); A.CallTo(() => fakeView.NotesFieldText).Returns(notesFieldEntry); A.CallTo(() => fakeView.ImageFilePathFieldText).Returns(imageFilePathFieldEntry); A.CallTo(() => fakeView.SelectedCategory).Returns("Dvd"); A.CallTo(() => fakeView.SelectedTags).Returns(new List <string> { "tag" }); var fakeMediaItemService = A.Fake <IMediaItemService>(); A.CallTo(() => fakeMediaItemService.ExistsWithTitle("title")).Returns(false); var fakeTagService = A.Fake <ITagService>(); var fakeImageFileReader = A.Fake <IImageFileReader>(); MockPresenter presenter = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader); // act await presenter.HandleSaveButtonClicked(null, null); // assert A.CallTo(() => fakeMediaItemService.Add(A <MediaItem> .That.Matches(i => i.Title == "title" && i.Number == 0123456789 && i.ReleaseYear == 2021 && i.Notes == notesFieldEntry && i.Type == ItemType.Dvd))).MustHaveHappened(); A.CallTo(() => fakeView.CloseDialog()).MustHaveHappened(); }
public async Task SaveButtonClicked_Test_ErrorAddingItem(string runningTimeFieldEntry, string notesFieldEntry, string imageFilePathFieldEntry) { // arrange var fakeView = A.Fake <IAddMediaItemForm>(); A.CallTo(() => fakeView.TitleFieldText).Returns("title"); A.CallTo(() => fakeView.NumberFieldText).Returns("0123456789"); A.CallTo(() => fakeView.RunningTimeFieldEntry).Returns(runningTimeFieldEntry); A.CallTo(() => fakeView.YearFieldEntry).Returns("2021"); A.CallTo(() => fakeView.NotesFieldText).Returns(notesFieldEntry); A.CallTo(() => fakeView.ImageFilePathFieldText).Returns(imageFilePathFieldEntry); A.CallTo(() => fakeView.SelectedCategory).Returns("Dvd"); A.CallTo(() => fakeView.SelectedTags).Returns(new List <string> { "tag" }); var fakeMediaItemService = A.Fake <IMediaItemService>(); A.CallTo(() => fakeMediaItemService.ExistsWithTitle("title")).Returns(false); var fakeTagService = A.Fake <ITagService>(); var fakeImageFileReader = A.Fake <IImageFileReader>(); MockPresenter presenter = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader); A.CallTo(() => fakeMediaItemService.Add(A <MediaItem> .That.Matches(i => i.Title == "title"))).Throws(new Exception("error")); // act await presenter.HandleSaveButtonClicked(null, null); // assert A.CallTo(() => fakeView.ShowErrorDialog("Error creating item", "error")).MustHaveHappened(); Assert.IsTrue(fakeView.SaveButtonEnabled); Assert.IsTrue(fakeView.CancelButtonEnabled); }
public async Task SaveButtonClicked_Test_ErrorWhenCheckingIfExists(string runningTimeFieldEntry, string notesFieldEntry, string imageFilePathFieldEntry) { // arrange var fakeView = A.Fake <IAddMediaItemForm>(); A.CallTo(() => fakeView.TitleFieldText).Returns("title"); A.CallTo(() => fakeView.NumberFieldText).Returns("0123456789"); A.CallTo(() => fakeView.RunningTimeFieldEntry).Returns(runningTimeFieldEntry); A.CallTo(() => fakeView.YearFieldEntry).Returns("2021"); A.CallTo(() => fakeView.NotesFieldText).Returns(notesFieldEntry); A.CallTo(() => fakeView.ImageFilePathFieldText).Returns(imageFilePathFieldEntry); var fakeMediaItemService = A.Fake <IMediaItemService>(); A.CallTo(() => fakeMediaItemService.ExistsWithTitle("title")).Throws(new Exception("error")); var fakeTagService = A.Fake <ITagService>(); var fakeImageFileReader = A.Fake <IImageFileReader>(); MockPresenter presenter = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader); // act await presenter.HandleSaveButtonClicked(null, null); // assert A.CallTo(() => fakeView.ShowErrorDialog("Error checking title.", "error")).MustHaveHappened(); Assert.IsTrue(fakeView.SaveButtonEnabled); Assert.IsTrue(fakeView.CancelButtonEnabled); }