public void OnViewLoadedCallsControllerTransferFounds()
        {
            MockEFTController controller = new MockEFTController();
            CreateTransferViewPresenter presenter = new CreateTransferViewPresenter(controller);

            presenter.OnViewLoaded();

            Assert.IsTrue(controller.TransferFundsCalled);
        }
        public void AddIsDisabledAfterFiveItemsAdded()
        {
            MockEFTController controller = new MockEFTController();
            NewTransferViewPresenter presenter = new NewTransferViewPresenter(controller);
            MockNewTransferView view = new MockNewTransferView();
            presenter.View = view;

            Assert.IsTrue(view.EnableAddTransfer);

            presenter.OnTransferInserted(GetNewTransfer());
            presenter.OnTransferInserted(GetNewTransfer());
            presenter.OnTransferInserted(GetNewTransfer());
            presenter.OnTransferInserted(GetNewTransfer());
            presenter.OnTransferInserted(GetNewTransfer());

            presenter.OnViewLoaded();
            Assert.IsFalse(view.EnableAddTransfer);
        }
        public void UpdateTransferCallsControllerUpdateTransferInBatch()
        {
            MockEFTController controller = new MockEFTController();
            NewTransferViewPresenter presenter = new NewTransferViewPresenter(controller);
            MockNewTransferView view = new MockNewTransferView();
            presenter.View = view;
            Transfer updatedTransfer = GetNewTransfer();

            presenter.OnTransferUpdated(updatedTransfer);

            Assert.IsTrue(controller.UpdateTransferInBatchCalled);
            Assert.AreSame(updatedTransfer, controller.TransferUpdatedInBatch);
        }
        public void OnViewLoadedCallsControllerGetTransfersAndSetsTransfersInView()
        {
            MockEFTController controller = new MockEFTController();
            Transfer transfer = GetNewTransfer();
            controller.Transfers = new Transfer[] { transfer };
            NewTransferViewPresenter presenter = new NewTransferViewPresenter(controller);
            MockNewTransferView view = new MockNewTransferView();
            presenter.View = view;

            presenter.OnViewLoaded();

            Assert.IsTrue(controller.GetTransfersCalled);
            Assert.IsTrue(view.TransfersSet);
            Assert.AreSame(transfer, view.Transfers[0]);
            Assert.AreEqual(1, view.Transfers.Length);
        }
        public void OnViewLoadedCallsControllerGetAccountsAndSetsAccountsInView()
        {
            MockEFTController controller = new MockEFTController();
            Account account = new Account();
            controller.Accounts = new Account[] { account };
            NewTransferViewPresenter presenter = new NewTransferViewPresenter(controller);
            MockNewTransferView view = new MockNewTransferView();
            presenter.View = view;

            presenter.OnViewLoaded();

            Assert.IsTrue(controller.GetAccountsCalled);
            Assert.IsTrue(view.AccountsSet);
            Assert.AreSame(account, view.Accounts[0]);
            Assert.AreEqual(1, view.Accounts.Length);
        }
        public void NextButtonClickedCallsControllerConfirmTransfers()
        {
            MockEFTController controller = new MockEFTController();
            NewTransferViewPresenter presenter = new NewTransferViewPresenter(controller);

            presenter.OnNext();

            Assert.IsTrue(controller.ConfirmTransfersCalled);
        }
        public void InsertTransferCallsControllerAddTransferToBatch()
        {
            MockEFTController controller = new MockEFTController();
            NewTransferViewPresenter presenter = new NewTransferViewPresenter(controller);
            MockNewTransferView view = new MockNewTransferView();
            Transfer insertedTransfer = GetNewTransfer();
            presenter.View = view;

            presenter.OnTransferInserted(insertedTransfer);

            Assert.IsTrue(controller.AddTransferToBatchCalled);
            Assert.AreSame(insertedTransfer, controller.TransferAddedToBatch);
        }
        public void DeleteTransferCallsControllerRemoveTransferFromBatch()
        {
            MockEFTController controller = new MockEFTController();
            NewTransferViewPresenter presenter = new NewTransferViewPresenter(controller);
            MockNewTransferView view = new MockNewTransferView();
            Transfer deletedTransfer = GetNewTransfer();
            presenter.View = view;

            presenter.OnTransferDeleted(deletedTransfer);

            Assert.IsTrue(controller.RemoveTransferFromBatchCalled);
            Assert.AreSame(deletedTransfer, controller.TransferRemovedFromBatch);
        }