public void TestInsertAndUpdateByUid() { JournalProxy proxy = new JournalProxy(); JournalDto insert = CreateJournalDto(); proxy.Insert(insert); Assert.IsTrue(insert.Uid > 0, "Uid must be > 0 after save."); JournalDto read = (JournalDto)proxy.GetByUid(insert.Uid); read.Notes = "Updated"; // change Total and Flip Them Around read.Items[0].Amount = 345.78M; read.Items[0].Type = DebitCreditType.Debit; read.Items[1].Amount = 345.78M; read.Items[1].Type = DebitCreditType.Credit; proxy.Update(read); JournalDto updated = (JournalDto)proxy.GetByUid(insert.Uid); ReflectionTester.AssertAreEqual("Journal", read, updated); }
public void FindJournalsByLastModifiedDate() { JournalProxy proxy = new JournalProxy(); JournalDto first = CreateJournalDto(); first.Date = DateTime.Parse("01-Jan-2010"); Thread.Sleep(5 * 1000); proxy.Insert(first); DateTime firstInsert = first.UtcLastModified; Thread.Sleep(10 * 1000); JournalDto second = CreateJournalDto(); second.Date = DateTime.Parse("01-Jan-2010"); Thread.Sleep(5 * 1000); proxy.Insert(second); DateTime secondInsert = second.UtcLastModified.AddSeconds(-1); List <JournalDto> secondOnly = proxy.FindList <JournalDto>(JournalProxy.ResponseXPath, "UtcLastModifiedFrom", secondInsert.ToString("s"), "UtcLastModifiedTo", DateTime.UtcNow.AddMinutes(5).ToString("s")); Assert.AreEqual(1, secondOnly.Count); // ReflectionTester.AssertAreEqual(second, secondOnly[0], "UtcLastModified"); List <JournalDto> firstAndSecond = proxy.FindList <JournalDto>(JournalProxy.ResponseXPath, "UtcLastModifiedFrom", firstInsert.ToString("s"), "UtcLastModifiedTo", DateTime.UtcNow.AddMinutes(5).ToString("s")); Assert.AreEqual(2, firstAndSecond.Count); //ReflectionTester.AssertAreEqual(first, firstAndSecond[0], "UtcLastModified"); //ReflectionTester.AssertAreEqual(second, firstAndSecond[1], "UtcLastModified"); }
public void InvalidAccountAndTaxCodeCombination() { JournalProxy proxy = new JournalProxy(); JournalDto dto = CreateJournalDto(); dto.Items[0].AccountUid = StGeorge.Uid; dto.Items[0].TaxCode = TaxCode.SaleInclGst; proxy.Insert(dto); }
public void GetSingleJournalWithJournalId() { var response = new JournalProxy().GetJournal(_testJournalTranId1); Assert.NotNull(response); Assert.True(response.IsSuccessfull); Assert.NotNull(response.DataObject); Assert.NotNull(response.DataObject._links); Assert.True(response.DataObject._links.Count > 0); }
private void CreateJournals() { var proxy = new JournalProxy(); var journal1 = new JournalDetail { TransactionDate = DateTime.Now, Summary = string.Format("test Summary_{0}", _testIdentifier), Currency = "AUD", Items = new List <JournalItem> { new JournalItem { AccountId = _assetAccountId, Type = "debit", Amount = 10.00M }, new JournalItem { AccountId = _liabilityAccountId, Type = "credit", Amount = 10.00M } } }; var journal2 = new JournalDetail { TransactionDate = DateTime.Now, Summary = string.Format("test Summary_{0}", _testIdentifier), Currency = "AUD", Items = new List <JournalItem> { new JournalItem { AccountId = _assetAccountId, Type = "debit", Amount = 10.00M }, new JournalItem { AccountId = _liabilityAccountId, Type = "credit", Amount = 10.00M } } }; //Create journals. _DeletedJournalTranId = proxy.InsertJournal(journal1).DataObject.InsertedEntityId; _NotDeletedJournalTranId = proxy.InsertJournal(journal2).DataObject.InsertedEntityId; //Delete only first journal. proxy.DeleteJournal(_DeletedJournalTranId); }
public void TestInsertAndGetByUid() { JournalProxy proxy = new JournalProxy(); JournalDto insert = CreateJournalDto(); proxy.Insert(insert); Assert.IsTrue(insert.Uid > 0, "Uid must be > 0 after save."); JournalDto read = (JournalDto)proxy.GetByUid(insert.Uid); ReflectionTester.AssertAreEqual("Journal", insert, read, new[] { "Tags" }); }
public void TestInsertAndGetByUidUnbalanced() { JournalProxy proxy = new JournalProxy(); JournalDto insert = CreateJournalDto(); insert.Items[0].Amount = 1999; try { proxy.Insert(insert); Assert.Fail("No error was thrown."); } catch (RestException ex) { Assert.AreEqual("The debit and credit total for the transaction items in this transaction do not match. Out of balance: -1,875.55.", ex.Message, "Incorrect error message."); } }
public void Update() { JournalProxy proxy = new JournalProxy(); JournalDto dto = CreateJournalDto(); proxy.Insert(dto); Assert.IsTrue(dto.Uid > 0, "Uid must be > 0 after save."); dto.Summary = "Add some summary."; dto.Notes = "Updated journal."; proxy.Update(dto); JournalDto read = (JournalDto)proxy.GetByUid(dto.Uid); ReflectionTester.AssertAreEqual("Journal", dto, read, new[] { "LastModified", "Tags" }); }
public void FindJournalsByTags() { JournalProxy proxy = new JournalProxy(); JournalDto dto = CreateJournalDto(); string tag1 = "Journal" + System.Guid.NewGuid().ToString().Substring(0, 12); string tag2 = "Journal" + System.Guid.NewGuid().ToString().Substring(0, 12); dto.Tags = string.Format("{0},{1}", tag1, tag2); proxy.Insert(dto); Assert.IsTrue(dto.Uid > 0, "Uid must be > 0 after save."); dto = CreateJournalDto(); dto.Tags = string.Format("{0},{1}", tag1, tag2); proxy.Insert(dto); Assert.IsTrue(dto.Uid > 0, "Uid must be > 0 after save."); }
public void TestInsertMultiCcy1() { JournalProxy proxy = new JournalProxy(); JournalDto insert = CreateJournalDto2(); proxy.Insert(insert); Assert.IsTrue(insert.Uid > 0, "Uid must be > 0 after save."); JournalDto read = (JournalDto)proxy.GetByUid(insert.Uid); Assert.IsTrue(read.FCToBCFXRate > 0, "FX Rate should have been auto-populated."); // For comparison, set the original rate to the one set by Saasu. insert.FCToBCFXRate = read.FCToBCFXRate; ReflectionTester.AssertAreEqual("Journal", insert, read, new[] { "LastModified", "Tags" }); }
public void Delete() { JournalProxy proxy = new JournalProxy(); JournalDto dto = CreateJournalDto(); proxy.Insert(dto); proxy.DeleteByUid(dto.Uid); try { JournalDto fromDB = (JournalDto)proxy.GetByUid(dto.Uid); Assert.Fail("The Journal Entry was not deleted successfully."); } catch (RestException ex) { Assert.IsTrue(ex.Type == "RecordNotFoundException"); } }
public void TestRemovalOfAsciiControlCharacters() { var proxy = new JournalProxy(); var dto = CreateJournalDto(); proxy.Insert(dto); Assert.IsTrue(dto.Uid > 0, "Uid must be > 0 after save."); // Ascii control characters in the summary string below are not visible in visual studio. you need to copy this string to notepad++ to view the non printable characters const string summaryTextWithControlCharacters = "Control characters start between these hashes ## ## control characters end"; const string summaryTextWithoutControlCharacters = "Control characters start between these hashes ## ## control characters end"; dto.Summary = summaryTextWithControlCharacters; proxy.Update(dto); var read = (JournalDto)proxy.GetByUid(dto.Uid); Assert.IsTrue(read.Summary.Equals(summaryTextWithoutControlCharacters, StringComparison.OrdinalIgnoreCase)); }
public void FindJournalsForAPeriod() { JournalProxy proxy = new JournalProxy(); JournalDto dto1 = CreateJournalDto(); dto1.Date = DateTime.Parse("01-Jan-2010"); proxy.Insert(dto1); JournalDto dto2 = CreateJournalDto(); dto2.Date = DateTime.Parse("30-Jan-2010"); proxy.Insert(dto2); NameValueCollection queries = new NameValueCollection(); queries.Add("JournalDateFrom", "2010/01/01"); queries.Add("JournalDateTo", "2010/01/30"); XmlDocument list = proxy.Find(queries); }