public void Test_Expenses_CreditCardStatementFileTests_CreateItem() { try { using (var db = new Context()) { db.Database.EnsureCreated(); var owner = Factories.NewAccount("mr bean"); db.Accounts.Add(owner); db.SaveChanges(); var card = new Financier.Common.Expenses.Models.Card { Owner = owner, Id = Guid.NewGuid(), Number = "1234", Statements = new List <Statement>() }; db.Cards.Add(card); db.SaveChanges(); var newStatement = new Statement { Card = card, Id = Guid.NewGuid(), PostedAt = new DateTime(2019, 2, 1), Items = new List <Item>() }; db.Statements.Add(newStatement); db.SaveChanges(); var record = new CreditCardStatementRecord { Amount = "10.00", Number = "1234", Description = "Some new item", ItemId = "123", PostedAt = "20181103", TransactedAt = "20181104" }; record.CreateItem(newStatement.Id); var dbItem = db.Items.First(i => i.Amount == 10.00M); Assert.That(dbItem.Statement, Is.EqualTo(newStatement)); } } catch (Exception exception) { Assert.Fail(exception.StackTrace); Assert.Fail(exception.Message); } }
public void Test_Expenses_CreditCardStatementRecord_FindOrCreateStatement_Creates_New_Statement() { int previousStatementCount; using (var db = new Context()) { previousStatementCount = db.Statements.Count(); } var createdStatement = new CreditCardStatementRecord().FindOrCreateStatement(AllCards[CardIdentifier].Id, PostedAt); Assert.That(createdStatement.Id, Is.Not.AnyOf(AllCards.Select(card => card.Value.Id))); int newStatementCount; using (var db = new Context()) { newStatementCount = db.Statements.Count(); } Assert.That(newStatementCount, Is.EqualTo(previousStatementCount + 1)); }
public void Test_Expenses_CreditCardStatementRecord_FindOrCreateStatement_Creates_Same_Statement() { var newStatementId = Guid.NewGuid(); int previousStatementCount; using (var db = new Context()) { previousStatementCount = db.Statements.Count(); } var createdStatement = new CreditCardStatementRecord().FindOrCreateStatement(AllCards[CardIdentifier].Id, PostedAt); Assert.That(createdStatement.Id, Is.EqualTo(ExpectedStatementId)); int newStatementCount; using (var db = new Context()) { newStatementCount = db.Statements.Count(); } Assert.That(newStatementCount, Is.EqualTo(previousStatementCount)); }