public void TestSavingIsValid_TransferIsInvalid() { SavingBookContract saving = new SavingBookContract(ApplicationSettings.GetInstance(""), new User(), TimeProvider.Today, null) { InterestRate = 0.13, Product = _savingsProduct }; SavingBookContract savingTarget = new SavingBookContract(ApplicationSettings.GetInstance(""), new User(), TimeProvider.Today, null) { InterestRate = 0.13, Product = _savingsProduct, Status = OSavingsStatus.Closed }; _savingServices = new SavingServices(null, null, new User { Id = 6 }); try { _savingServices.Transfer(saving, saving, TimeProvider.Today, 99, 0, "transfer", new User(), false); Assert.Fail("Saving Contract shouldn't pass validation test before transfer (Saving source = Saving Target)."); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.SavingsContractForTransferIdenticals, (int)exception.Code); } try { _savingServices.Transfer(saving, savingTarget, TimeProvider.Today, 99, 0, "transfer", new User(), false); Assert.Fail("Saving Contract shouldn't pass validation test before transfer (Saving Target is Closed)."); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.CreditTransferAccountInvalid, (int)exception.Code); } }
public void TestSavingIsValid_TransferAmountIsInvalid() { Assert.Ignore(); SavingBookContract saving = new SavingBookContract(ApplicationSettings.GetInstance(""), new User(), TimeProvider.Today, null) { Id = 1, InterestRate = 0.13, Product = _savingsProduct }; SavingBookContract savingTarget = new SavingBookContract(ApplicationSettings.GetInstance(""), new User(), TimeProvider.Today, null) { Id = 2, InterestRate = 0.13, Product = _savingsProduct }; _savingManagerMock = new DynamicMock(typeof(SavingManager)); _savingServices = new SavingServices((SavingManager)_savingManagerMock.MockInstance, null, new User { Id = 6 }); _savingManagerMock.Expect("UpdateAccountsBalance", saving, null); _savingManagerMock.Expect("UpdateAccountsBalance", savingTarget, null); try { _savingServices.Transfer(saving, savingTarget, TimeProvider.Today, 99, 0, "transfer", new User(), false); Assert.Fail("Saving Contract shouldn't pass validation test before transfer (transfer amount < transfer.min)."); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.TransferAmountIsInvalid, (int)exception.Code); } _savingManagerMock.Expect("UpdateAccountsBalance", saving, null); _savingManagerMock.Expect("UpdateAccountsBalance", savingTarget, null); try { _savingServices.Transfer(saving, savingTarget, TimeProvider.Today, 301, 0, "transfer", new User(), false); Assert.Fail("Saving Contract shouldn't pass validation test before transfer (transfer amount > transfer.max)."); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.TransferAmountIsInvalid, (int)exception.Code); } _savingManagerMock.Expect("UpdateAccountsBalance", saving, null); _savingManagerMock.Expect("UpdateAccountsBalance", savingTarget, null); try { _savingServices.Transfer(saving, savingTarget, TimeProvider.Today, 200, 0, "transfer", new User(), false); Assert.Fail("Saving Contract shouldn't pass validation test before transfer (balance < balance.min)."); } catch (OpenCbsSavingException exception) { Assert.AreEqual((int)OpenCbsSavingExceptionEnum.BalanceIsInvalid, (int)exception.Code); } }