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 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 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 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 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);
        }
        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 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" });
        }
Пример #10
0
        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));
		}