public void BookApplicationService_データ登録シナリオ() { var viewModelMock = new Mock <BookSaveViewModel>() { CallBase = true }; //CallBase trueの設定を忘れずにする viewModelMock.Setup(x => x.GetDatetime()).Returns("2019/01/01".ToDate()); //現在時刻を取得する処理をSetup内で上書きし固定値を設定する var viewModel = viewModelMock.Object; viewModel.BookName = "書籍A"; var bookRepositoryMock = new Mock <IBookRepository>(); bookRepositoryMock.Setup(x => x.SaveData(It.IsAny <BookEntity>())) .Callback <BookEntity>(saveValue => { saveValue.Name.Is("書籍A"); saveValue.PurchasedDate.Is("2019/01/01".ToDate()); }); var bookService = new BookApplicationService(bookRepositoryMock.Object); bookService.SaveData(viewModel.BookName, viewModel.PurchasedDate); bookRepositoryMock.VerifyAll(); //テスト未通過があればNGとなる }
public BookListView(BookApplicationService bookService) { InitializeComponent(); _bookService = bookService; _viewModel = new BookListViewModel(bookService.GetData()); DgvBookList.DataBindings.Add("DataSource", _viewModel, nameof(_viewModel.Books)); //Click event[一覧データ表示] ButtonShowData.Click += (sender, e) => { _viewModel.Books.Clear(); foreach (var entity in _bookService.GetData()) { _viewModel.Books.Add(new BookListViewModelBook(entity)); } }; //Click event[登録画面表示] ButtonShowSaveForm.Click += (save, e) => { using (var frm = new BookSaveView(_bookService)) { var ret = frm.ShowDialog(); } }; }
public BookSaveView(BookApplicationService bookService) { InitializeComponent(); _bookService = bookService; //Binding _viewModel = new BookSaveViewModel(); PurchasedDatePicker.DataBindings.Add("Value", _viewModel, nameof(_viewModel.PurchasedDate)); BookNameTextBox.DataBindings.Add("Text", _viewModel, nameof(_viewModel.BookName)); //Click event[登録] ButtonSave.Click += ButtonSave_Click; }
public void BookApplicationService_データ登録シナリオ_エラーチェック() { var viewModelMock = new Mock <BookSaveViewModel>() { CallBase = true }; viewModelMock.Setup(x => x.GetDatetime()).Returns("2019/01/01".ToDate()); var viewModel = viewModelMock.Object; viewModel.BookName = ""; var bookRepositoryMock = new Mock <IBookRepository>(); var bookService = new BookApplicationService(bookRepositoryMock.Object); var ex = AssertEx.Throws <MessageException>(() => bookService.SaveData(viewModel.BookName, viewModel.PurchasedDate)); ex.Message.Is("書籍名が空欄です。"); }
public void BookApplicationService_データ取得シナリオ() { var bookRepositoryMock = new Mock <IBookRepository>(); var dummyBooks = new List <BookEntity>() { new BookEntity("00001", "書籍A", "2019/06/14 13:00".ToDate()), new BookEntity("00002", "書籍B", "2019/06/13".ToDate()) }; bookRepositoryMock.Setup(x => x.GetData()).Returns(dummyBooks); var bookService = new BookApplicationService(bookRepositoryMock.Object); var bookList = bookService.GetData(); bookList.Count.Is(2); bookList[0].Name.Is("書籍A"); bookList[0].PurchasedDate.DisplayValue.Is("2019年06月14日"); bookList[1].Name.Is("書籍B"); bookList[1].PurchasedDate.DisplayValue.Is("2019年06月13日"); }
public BookController() { _context = new NewLibraryDbContext(); _bookRepository = new EfRepository <Book>(_context); _bookService = new BookApplicationService(_bookRepository); }