public void SearchButtonClicked_Test_OtherError() { // arrange string isbn = "0123456789"; var fakeSearchByIsbnDialog = A.Fake <ISearchByIsbn>(); A.CallTo(() => fakeSearchByIsbnDialog.IsbnFieldText).Returns(isbn); var fakeRepo = A.Fake <IBookService>(); A.CallTo(() => fakeRepo.ExistsWithIsbn("0123456789")).Returns(false); var fakeApiServiceProvider = A.Fake <IApiServiceProvider>(); var fakeApiService = A.Fake <IBookApiService>(); A.CallTo(() => fakeApiServiceProvider.Get()).Returns(fakeApiService); A.CallTo(() => fakeApiService.GetBookByIsbnAsync("0123456789")).Throws(new Exception("error")); var presenter = new MockPresenter(fakeSearchByIsbnDialog, null, null, fakeRepo, fakeApiServiceProvider); presenter.AddBookPresenter = this._addBookPresenter; // act presenter.SearchButtonClicked(null, null); // assert A.CallTo(() => fakeSearchByIsbnDialog.ShowErrorDialog("error")).MustHaveHappened(); }
public void SearchButtonClicked_Test_Success() { // arrange string isbn = "0123456789"; var fakeSearchByIsbnDialog = A.Fake <ISearchByIsbn>(); A.CallTo(() => fakeSearchByIsbnDialog.IsbnFieldText).Returns(isbn); var fakeRepo = A.Fake <IBookService>(); A.CallTo(() => fakeRepo.ExistsWithIsbn("0123456789")).Returns(false); var fakeApiServiceProvider = A.Fake <IApiServiceProvider>(); var fakeApiService = A.Fake <IBookApiService>(); A.CallTo(() => fakeApiServiceProvider.Get()).Returns(fakeApiService); A.CallTo(() => fakeApiService.GetBookByIsbnAsync("0123456789")).Returns(new Book { Title = "book", Publisher = new Publisher { Name = "publisher" } }); var fakeAddBookDialog = A.Fake <IAddBookForm>(); var presenter = new MockPresenter(fakeSearchByIsbnDialog, null, fakeAddBookDialog, fakeRepo, fakeApiServiceProvider); presenter.AddBookPresenter = this._addBookPresenter; // act presenter.SearchButtonClicked(null, null); // assert A.CallTo(() => fakeAddBookDialog.ShowAsDialog()).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 void HandleTagCheckedChanged_Test() { // arrange var fakeView = A.Fake <IAddMediaItemForm>(); List <string> selectedTags = new List <string> { "tag1" }; List <string> unselectedTags = new List <string> { "tag2" }; A.CallTo(() => fakeView.SelectedTags).Returns(selectedTags); A.CallTo(() => fakeView.UnselectedTags).Returns(unselectedTags); var fakeMediaItemService = A.Fake <IMediaItemService>(); var fakeTagService = A.Fake <ITagService>(); var fakeImageFileReader = A.Fake <IImageFileReader>(); MockPresenter presenter = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader); Dictionary <string, bool> allTags = new Dictionary <string, bool>(); allTags.Add("tag1", false); allTags.Add("tag2", true); presenter.SetAllTags(allTags); // act presenter.HandleTagCheckedChanged(null, null); // assert Assert.IsTrue(presenter.GetAllTagsValueByKey("tag1")); Assert.IsFalse(presenter.GetAllTagsValueByKey("tag2")); }
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_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); }
public void HandleAddNewTagClicked_Test_NoEntry() { // arrange var fakeView = A.Fake <IAddMediaItemForm>(); A.CallTo(() => fakeView.ShowNewTagDialog()).Returns(""); var fakeMediaItemService = A.Fake <IMediaItemService>(); var fakeTagService = A.Fake <ITagService>(); var fakeImageFileReader = A.Fake <IImageFileReader>(); MockPresenter presenter = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader); // act presenter.HandleAddNewTagClicked(null, null); // assert A.CallTo(() => fakeView.ShowTagAlreadyExistsDialog("")).MustNotHaveHappened(); }
public void SearchButtonClicked_Test_AlreadyExists() { // arrange string isbn = "0123456789"; var fakeSearchByIsbnDialog = A.Fake <ISearchByIsbn>(); A.CallTo(() => fakeSearchByIsbnDialog.IsbnFieldText).Returns(isbn); var fakeRepo = A.Fake <IBookService>(); A.CallTo(() => fakeRepo.ExistsWithIsbn("0123456789")).Returns(true); var presenter = new MockPresenter(fakeSearchByIsbnDialog, null, null, fakeRepo, null); presenter.AddBookPresenter = this._addBookPresenter; // act presenter.SearchButtonClicked(null, null); // assert A.CallTo(() => fakeSearchByIsbnDialog.ShowAlreadyExistsWithIsbnDialog(isbn)).MustHaveHappened(); }
public void HandleAddNewTagClicked_Test_TagDoesNotYetExist() { // arrange var fakeView = A.Fake <IAddMediaItemForm>(); A.CallTo(() => fakeView.ShowNewTagDialog()).Returns("tag2"); var fakeMediaItemService = A.Fake <IMediaItemService>(); var fakeTagService = A.Fake <ITagService>(); var fakeImageFileReader = A.Fake <IImageFileReader>(); MockPresenter presenter = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader); Dictionary <string, bool> allTags = new Dictionary <string, bool>(); allTags.Add("tag1", true); presenter.SetAllTags(allTags); // act presenter.HandleAddNewTagClicked(null, null); // assert Assert.IsTrue(presenter.GetAllTagsValueByKey("tag2")); }
public void HandleAddNewTagClicked_Test_TagAlreadyExists() { // arrange var fakeView = A.Fake <IAddMediaItemForm>(); A.CallTo(() => fakeView.ShowNewTagDialog()).Returns("tag1"); var fakeMediaItemService = A.Fake <IMediaItemService>(); var fakeTagService = A.Fake <ITagService>(); var fakeImageFileReader = A.Fake <IImageFileReader>(); MockPresenter presenter = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader); Dictionary <string, bool> allTags = new Dictionary <string, bool>(); allTags.Add("tag1", true); presenter.SetAllTags(allTags); // act presenter.HandleAddNewTagClicked(null, null); // assert A.CallTo(() => fakeView.ShowTagAlreadyExistsDialog("tag1")).MustHaveHappened(); }
public void InputFieldsValidated_Test_Valid_NoImageFilePath(string notesFieldEntry, string runningTimeFieldEntry) { // arrange var fakeView = A.Fake <IAddMediaItemForm>(); A.CallTo(() => fakeView.TitleFieldText).Returns("new item"); 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(""); var fakeMediaItemService = A.Fake <IMediaItemService>(); var fakeTagService = A.Fake <ITagService>(); var fakeImageFileReader = A.Fake <IImageFileReader>(); MockPresenter presenter = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader); // act presenter.InputFieldsUpdated(null, null); // assert Assert.IsTrue(fakeView.SaveButtonEnabled); }
public async Task PopulateTagsList_Test() { // arrange var fakeView = A.Fake <IAddMediaItemForm>(); var fakeMediaItemService = A.Fake <IMediaItemService>(); var fakeTagService = A.Fake <ITagService>(); List <Tag> tags = new List <Tag> { new Tag { Name = "tag" } }; A.CallTo(() => fakeTagService.GetAll()).Returns(tags); var fakeImageFileReader = A.Fake <IImageFileReader>(); MockPresenter presenter = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader); // act await presenter.PopulateTagsList(); // assert Assert.IsFalse(presenter.GetAllTagsValueByKey("tag")); }
public void InputFieldsUpdated_Test_Invalid_HasImageFilePath(string titleFieldEntry, string numberFieldEntry, string runningTimeFieldEntry, string releaseYearFieldEntry, string notesFieldEntry, string ext) { // arrange var fakeView = A.Fake <IAddMediaItemForm>(); A.CallTo(() => fakeView.TitleFieldText).Returns(titleFieldEntry); A.CallTo(() => fakeView.NumberFieldText).Returns(numberFieldEntry); A.CallTo(() => fakeView.RunningTimeFieldEntry).Returns(runningTimeFieldEntry); A.CallTo(() => fakeView.YearFieldEntry).Returns(releaseYearFieldEntry); A.CallTo(() => fakeView.NotesFieldText).Returns(notesFieldEntry); A.CallTo(() => fakeView.ImageFilePathFieldText).Returns(@"C:\path\to\file" + ext); var fakeMediaItemService = A.Fake <IMediaItemService>(); var fakeTagService = A.Fake <ITagService>(); var fakeImageFileReader = A.Fake <IImageFileReader>(); MockPresenter presenter = new MockPresenter(fakeMediaItemService, fakeTagService, fakeView, fakeImageFileReader); // act presenter.InputFieldsUpdated(null, null); // assert Assert.IsFalse(fakeView.SaveButtonEnabled); }