public void Save_TransferTransaction_CorrectlySaved() { var accountRepoSetup = new Mock<IDataAccess<Account>>(); accountRepoSetup.Setup(x => x.LoadList(null)).Returns(new List<Account>()); var transactionDataAccessMock = new TransactionDataAccessMock(); var repository = new TransactionRepository(transactionDataAccessMock, new RecurringTransactionDataAccessMock()); var account = new Account { Name = "TestAccount" }; var targetAccount = new Account { Name = "targetAccount" }; var transaction = new FinancialTransaction { ChargedAccount = account, TargetAccount = targetAccount, Amount = 20, Type = (int) TransactionType.Transfer }; repository.Save(transaction); transactionDataAccessMock.FinancialTransactionTestList[0].ShouldBeSameAs(transaction); transactionDataAccessMock.FinancialTransactionTestList[0].ChargedAccount.ShouldBeSameAs(account); transactionDataAccessMock.FinancialTransactionTestList[0].TargetAccount.ShouldBeSameAs(targetAccount); transactionDataAccessMock.FinancialTransactionTestList[0].Type.ShouldBe((int) TransactionType.Transfer); }
public void Save_DifferentTransactionTypes_CorrectlySaved(TransactionType type) { var transactionDataAccessMock = new TransactionDataAccessMock(); var repository = new TransactionRepository(transactionDataAccessMock, new RecurringTransactionDataAccessMock()); var account = new Account { Name = "TestAccount" }; var transaction = new FinancialTransaction { ChargedAccount = account, TargetAccount = null, Amount = 20, Type = (int) type }; repository.Save(transaction); transactionDataAccessMock.FinancialTransactionTestList[0].ShouldBeSameAs(transaction); transactionDataAccessMock.FinancialTransactionTestList[0].ChargedAccount.ShouldBeSameAs(account); transactionDataAccessMock.FinancialTransactionTestList[0].TargetAccount.ShouldBeNull(); transactionDataAccessMock.FinancialTransactionTestList[0].Type.ShouldBe((int) type); }
public void TransactionRepository_Delete() { var transactionDataAccessMock = new TransactionDataAccessMock(); var repository = new TransactionRepository(transactionDataAccessMock); var account = new Account { Name = "TestAccount" }; var transaction = new FinancialTransaction { ChargedAccount = account, Amount = 20, AmountWithoutExchange = 20 }; repository.Save(transaction); Assert.AreSame(transaction, transactionDataAccessMock.FinancialTransactionTestList[0]); repository.Delete(transaction); Assert.IsFalse(transactionDataAccessMock.FinancialTransactionTestList.Any()); Assert.IsFalse(repository.Data.Any()); }
public void TransactionRepository_Delete() { var accountRepoSetup = new Mock<IDataAccess<Account>>(); accountRepoSetup.Setup(x => x.LoadList(null)).Returns(new List<Account>()); var transactionDataAccessMock = new TransactionDataAccessMock(); var repository = new TransactionRepository(transactionDataAccessMock, new RecurringTransactionDataAccessMock()); var account = new Account { Name = "TestAccount" }; var transaction = new FinancialTransaction { ChargedAccount = account, Amount = 20 }; repository.Save(transaction); transactionDataAccessMock.FinancialTransactionTestList[0].ShouldBeSameAs(transaction); repository.Delete(transaction); transactionDataAccessMock.FinancialTransactionTestList.Any().ShouldBeFalse(); repository.Data.Any().ShouldBeFalse(); }
public void TransactionRepository_Delete() { var transactionDataAccessMock = new TransactionDataAccessMock(); var repository = new TransactionRepository(transactionDataAccessMock, new RecurringTransactionDataAccessMock()); var account = new Account { Name = "TestAccount" }; var transaction = new FinancialTransaction { ChargedAccount = account, Amount = 20 }; repository.Save(transaction); transactionDataAccessMock.FinancialTransactionTestList[0].ShouldBeSameAs(transaction); repository.Delete(transaction); transactionDataAccessMock.FinancialTransactionTestList.Any().ShouldBeFalse(); repository.Data.Any().ShouldBeFalse(); }
public void Init() { _transactionDataAccessMock = new TransactionDataAccessMock(); }
public void TransactionRepository_SaveWithouthAccount() { try { var transactionDataAccessMock = new TransactionDataAccessMock(); var repository = new TransactionRepository(transactionDataAccessMock); var transaction = new FinancialTransaction { Amount = 20, AmountWithoutExchange = 20 }; repository.Save(transaction); } catch (InvalidDataException) { return; } catch (Exception) { Assert.Fail("wrong exception."); } Assert.Fail("No excpetion thrown"); }
public void TransactionRepository_SaveTransfer() { var transactionDataAccessMock = new TransactionDataAccessMock(); var repository = new TransactionRepository(transactionDataAccessMock); var account = new Account { Name = "TestAccount" }; var targetAccount = new Account { Name = "targetAccount" }; var transaction = new FinancialTransaction { ChargedAccount = account, TargetAccount = targetAccount, Amount = 20, AmountWithoutExchange = 20, Type = (int) TransactionType.Transfer }; repository.Save(transaction); Assert.IsTrue(transaction == transactionDataAccessMock.FinancialTransactionTestList[0]); Assert.IsTrue(account == transactionDataAccessMock.FinancialTransactionTestList[0].ChargedAccount); Assert.IsTrue(targetAccount == transactionDataAccessMock.FinancialTransactionTestList[0].TargetAccount); }