public void OnDeleteButtonClick_throws_exception_with_null_View() { //arrange var orderFactory = MockRepository.GenerateStub<IOrderFactory>(); var dataBinder = MockRepository.GenerateStub<IOrderListDataBinder>(); var viewFactory = MockRepository.GenerateStub<IViewFactory>(); var target = new OrderListPresenter(orderFactory, dataBinder, viewFactory); //act, assert target.OnDeleteButtonClick(); }
public void OnDeleteButtonClick_when_user_answers_no_to_prompt_nothing_else_happens() { //arrange var orderFactory = MockRepository.GenerateMock<IOrderFactory>(); var dataBinder = MockRepository.GenerateMock<IOrderListDataBinder>(); var viewFactory = MockRepository.GenerateStub<IViewFactory>(); var confirmView = MockRepository.GenerateMock<IMessageBoxView>(); var view = MockRepository.GenerateMock<IOrderListView>(); var target = new OrderListPresenter(orderFactory, dataBinder, viewFactory); target.View = view; viewFactory.Expect(x => x.CreateMessageBoxView()) .Return(confirmView); confirmView.Expect(x => x.ShowYesNo(Arg<string>.Is.Anything, Arg<string>.Is.Anything)) .Return(false); //act target.OnDeleteButtonClick(); //assert viewFactory.VerifyAllExpectations(); confirmView.VerifyAllExpectations(); }
public void OnDeleteButtonClick_when_user_answers_yes_to_prompt_deletes_selected_order_from_business_layer_and_binds_UI() { //arrange var orderFactory = MockRepository.GenerateMock<IOrderFactory>(); var dataBinder = MockRepository.GenerateMock<IOrderListDataBinder>(); var viewFactory = MockRepository.GenerateStub<IViewFactory>(); var confirmView = MockRepository.GenerateMock<IMessageBoxView>(); var view = MockRepository.GenerateMock<IOrderListView>(); var selectedOrder = MockRepository.GenerateStub<IOrderInfo>(); var target = new OrderListPresenter(orderFactory, dataBinder, viewFactory); target.View = view; viewFactory.Expect(x => x.CreateMessageBoxView()) .Return(confirmView); confirmView.Expect(x => x.ShowYesNo(Arg<string>.Is.Anything, Arg<string>.Is.Anything)) .Return(true); view.Expect(x => x.SelectedOrder) .Return(selectedOrder); selectedOrder.Stub(x => x.Id) .Return(1); orderFactory.Expect(x => x.Delete(1)); dataBinder.Expect(x => x.BindUI(target)); //act target.OnDeleteButtonClick(); //assert viewFactory.VerifyAllExpectations(); confirmView.VerifyAllExpectations(); view.VerifyAllExpectations(); orderFactory.VerifyAllExpectations(); dataBinder.VerifyAllExpectations(); }