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();
 }