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);
        }
Пример #2
0
        public void InsertAttachedTo()
        {
            var         proxy = new ActivityProxy();
            ActivityDto dto   = GetActivityDto();

            dto.Owner          = ApiUserEmailAddress;
            dto.AttachedToType = "Sale";
            dto.AttachedToUid  = _sale1.Uid;

            proxy.Insert(dto);
            var result = (ActivityDto)proxy.GetByUid(dto.Uid);

            ReflectionTester.AssertAreEqual(dto, result, "LastModified", "UtcLastModified");

            dto                = GetActivityDto();
            dto.Owner          = ApiUserEmailAddress;
            dto.AttachedToType = "Purchase";
            dto.AttachedToUid  = _purchase1.Uid;

            proxy.Insert(dto);
            result = (ActivityDto)proxy.GetByUid(dto.Uid);
            ReflectionTester.AssertAreEqual(dto, result, "LastModified", "UtcLastModified");

            dto                = GetActivityDto();
            dto.Owner          = ApiUserEmailAddress;
            dto.AttachedToType = "Contact";
            dto.AttachedToUid  = MrSmith.Uid;

            proxy.Insert(dto);
            result = (ActivityDto)proxy.GetByUid(dto.Uid);
            ReflectionTester.AssertAreEqual(dto, result, "LastModified", "UtcLastModified");
        }
Пример #3
0
        public void Find()
        {
            var         proxy = new ActivityProxy();
            ActivityDto first = GetActivityDto();

            first.Owner = ApiUserEmailAddress;
            proxy.Insert(first);
            Assert.AreNotEqual(0, first.Uid);

            var firstGet = (ActivityDto)proxy.GetByUid(first.Uid);

            ReflectionTester.AssertAreEqual(first, firstGet, "LastModified");

            ActivityDto second = GetActivityDto();

            second.Owner          = ApiUserEmailAddress;
            second.AttachedToType = "Contact";
            second.AttachedToUid  = MrSmith.Uid;
            proxy.Insert(second);

            var secondGet = (ActivityDto)proxy.GetByUid(second.Uid);

            ReflectionTester.AssertAreEqual(second, secondGet, "LastModified");

            List <ActivityDto> activities = proxy.FindList <ActivityDto>(ActivityProxy.ResponseXPath, "Type", "Meeting");

            Assert.AreNotEqual(0, activities.Count);

            List <ActivityDto> kazActivities = proxy.FindList <ActivityDto>(ActivityProxy.ResponseXPath, "Type", "Meeting", "Owner",
                                                                            ApiUserEmailAddress);

            Assert.AreNotEqual(0, kazActivities.Count);

            // all api/kaz should be part of activities
            AssertInList(kazActivities, activities);

            // delete
            proxy.DeleteByUid(first.Uid);
            try
            {
                firstGet = (ActivityDto)proxy.GetByUid(first.Uid);
            }
            catch (RestException exception)
            {
                Assert.AreEqual("RecordNotFoundException", exception.Type);
            }

            proxy.DeleteByUid(second.Uid);
            try
            {
                secondGet = (ActivityDto)proxy.GetByUid(second.Uid);
            }
            catch (RestException exception)
            {
                Assert.AreEqual("RecordNotFoundException", exception.Type);
            }
        }
        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" });
        }
Пример #5
0
        public void TestInsertAndGetByUid()
        {
            var         proxy  = new ActivityProxy();
            ActivityDto insert = GetActivityDto();

            proxy.Insert(insert);

            Assert.IsTrue(insert.Uid > 0, "Uid must be > 0 after save.");

            var read = (ActivityDto)proxy.GetByUid(insert.Uid);

            ReflectionTester.AssertAreEqual("Activity", insert, read, new[] { "LastModified", "UtcLastModified", "Tags" });
        }
Пример #6
0
        public void TryGetByLastModified()
        {
            var proxy = new ActivityProxy();

            ActivityDto first = GetActivityDto();

            first.Owner = ApiUserEmailAddress;
            Thread.Sleep(2 * 1000);
            proxy.Insert(first);

            var      retrived    = (ActivityDto)proxy.GetByUid(first.Uid);
            DateTime firstInsert = retrived.LastModified.AddSeconds(-1); // go back once


            Thread.Sleep(5 * 1000);

            ActivityDto second = GetActivityDto();

            second.Owner = ApiUserEmailAddress;
            Thread.Sleep(2 * 1000);
            proxy.Insert(second);

            retrived = (ActivityDto)proxy.GetByUid(second.Uid);
            DateTime secondInsert = retrived.LastModified.AddSeconds(-1);             // go back once


            var dateFrom = secondInsert;
            var dateTo   = DateTime.UtcNow.AddMinutes(5);
            List <ActivityDto> secondOnly = proxy.FindList <ActivityDto>(ActivityProxy.ResponseXPath, "datetype", "modified",
                                                                         "Owner", ApiUserEmailAddress, "DateFrom",
                                                                         dateFrom.ToString("s"), "DateTo",
                                                                         dateTo.ToString("s"));

            Assert.IsTrue(secondOnly.Count >= 1);
            foreach (var activityDto in secondOnly)
            {
                Assert.IsTrue(activityDto.LastModified >= dateFrom && activityDto.LastModified <= dateTo, "Activity where last mod outside date range included. ActivityId: {0}.", activityDto.Uid);
            }

            ReflectionTester.AssertAreEqual(second, secondOnly[0], new[] { "LastModified", "UtcLastModified" });

            List <ActivityDto> firstAndSecond = proxy.FindList <ActivityDto>(ActivityProxy.ResponseXPath, "datetype", "modified",
                                                                             "Owner", ApiUserEmailAddress, "DateFrom",
                                                                             firstInsert.ToString("s"), "DateTo",
                                                                             DateTime.UtcNow.AddMinutes(5).ToString("s"));

            Assert.AreEqual(2, firstAndSecond.Count);
            ReflectionTester.AssertAreEqual(first, firstAndSecond[1], new[] { "LastModified", "UtcLastModified" });
            ReflectionTester.AssertAreEqual(second, firstAndSecond[0], new[] { "LastModified", "UtcLastModified" });
        }
        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" });
        }
Пример #9
0
        public void Update()
        {
            var         proxy = new ActivityProxy();
            ActivityDto dto   = GetActivityDto();

            proxy.Insert(dto);

            Assert.IsTrue(dto.Uid > 0, "Uid must be > 0 after save.");

            dto.Title = "A nee Title.";
            dto.Type  = "Note";

            proxy.Update(dto);

            var read = (ActivityDto)proxy.GetByUid(dto.Uid);

            ReflectionTester.AssertAreEqual("Activity", dto, read, "LastModified", "UtcLastModified");
        }
Пример #10
0
 private void AssertInList(List <ActivityDto> subList, List <ActivityDto> all)
 {
     foreach (ActivityDto activity in subList)
     {
         bool found = false;
         foreach (ActivityDto toTest in all)
         {
             if (toTest.Uid == activity.Uid)
             {
                 ReflectionTester.AssertAreEqual(toTest, activity, "LastModified");
                 all.Remove(toTest);
                 found = true;
                 break;
             }
         }
         if (!found)
         {
             Assert.Fail("Activity {0} for {1} was not found in the complete list of activities", activity.Uid, activity.Owner);
         }
     }
 }