Ejemplo n.º 1
0
        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となる
        }
Ejemplo n.º 2
0
        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();
                }
            };
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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("書籍名が空欄です。");
        }
Ejemplo n.º 5
0
        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);
 }