Пример #1
0
        public void FindAttachedToContact()
        {
            var         proxy  = new ActivityProxy();
            ActivityDto entity = GetActivityDto();

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

            List <ActivityDto> apiActivities = proxy.FindList <ActivityDto>(ActivityProxy.ResponseXPath, "Type", "Meeting", "Owner",
                                                                            ApiUserEmailAddress, "AttachedToType", "Contact",
                                                                            "AttachedToUid", MrSmith.Uid.ToString());

            Assert.AreNotEqual(0, apiActivities.Count);

            bool found = false;

            foreach (ActivityDto activity in apiActivities)
            {
                Assert.AreEqual(entity.AttachedToUid, activity.AttachedToUid);
                Assert.AreEqual(entity.AttachedToType, activity.AttachedToType);

                if (activity.Uid == entity.Uid)
                {
                    found = true;
                }
            }
            if (!found)
            {
                Assert.Fail("Could not find entity {0} attached to contact.", entity.Uid);
            }

            proxy.DeleteByUid(entity.Uid);
        }
Пример #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
        private void CreateTestActivities()
        {
            var activity1 = GetActivityDetail(done: true, tags: "blue");
            var activity2 = GetActivityDetail(ownerEmail: TestConfig.TestUser, tags: "blue, red");
            var activity3 = GetActivityDetail(type: "Task");
            var activity4 = GetActivityDetail(attachedToId: _saleInvoiceTranId2, due: DateTime.Now.AddDays(1), tags: "yellow");
            var activity5 = GetActivityDetail(attachedToId: _saleInvoiceTranId2, due: DateTime.Now.AddDays(1), tags: "orange");

            var activityProxy = new ActivityProxy();

            var response = activityProxy.InsertActivity(activity1);

            _testActivityId1 = response.DataObject.InsertedEntityId;

            response         = activityProxy.InsertActivity(activity2);
            _testActivityId2 = response.DataObject.InsertedEntityId;

            response = activityProxy.InsertActivity(activity3);
            _testActivityToBeDeletedId = response.DataObject.InsertedEntityId;

            response = activityProxy.InsertActivity(activity4);

            response = activityProxy.InsertActivity(activity4);
            _testActivityToBeUpdated = response.DataObject.InsertedEntityId;
        }
Пример #4
0
        public void GetActivity()
        {
            var proxy    = new ActivityProxy();
            var response = proxy.GetActivity(_testActivityId1);

            Assert.True(response.IsSuccessfull, "Call to GetActivity was not successful");
            Assert.NotNull(response.DataObject);
            Assert.Equal(_testActivityId1, response.DataObject.Id);
        }
Пример #5
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);
            }
        }
Пример #6
0
        public void GetActivity()
        {
            var proxy    = new ActivityProxy();
            var response = proxy.GetActivity(_testActivityId1);

            Assert.IsTrue(response.IsSuccessfull, "Call to GetActivity was not successful");
            Assert.IsNotNull(response.DataObject, "Call to GetActivity returned no data");
            Assert.AreEqual(response.DataObject.Id, _testActivityId1);
        }
Пример #7
0
        public void TryInsertAttachedToDifferentFileUid()
        {
            var         proxy = new ActivityProxy();
            ActivityDto dto   = GetActivityDto();

            dto.Owner          = ApiUserEmailAddress;
            dto.AttachedToType = "Contact";
            dto.AttachedToUid  = 186600;            // this contact is not part of this file!!!
            proxy.Insert(dto);
        }
Пример #8
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" });
        }
Пример #9
0
        public void DeleteActivity()
        {
            var proxy    = new ActivityProxy();
            var response = proxy.DeleteActivity(_testActivityToBeDeletedId);

            Assert.True(response.IsSuccessfull, "Call to DeleteActivity was not successful");
            Assert.True(response.DataObject != null, "Call to DeleteActivity returned no data");

            var verifyDeleted = proxy.GetActivity(_testActivityToBeDeletedId);

            Assert.False(verifyDeleted.IsSuccessfull, "Call to Get deleted activity was successful");
            Assert.Null(verifyDeleted.DataObject);
        }
Пример #10
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" });
        }
Пример #11
0
        public void TestIsDoneFlagUpdate()
        {
            var         proxy  = new ActivityProxy();
            ActivityDto insert = GetActivityDto();

            proxy.Insert(insert);

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

            read.Done = true;
            proxy.Update(read);

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

            Assert.IsTrue(doneActivity.Done);
        }
Пример #12
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");
        }
Пример #13
0
        public void TryInsertAttachedToTransactionFromDifferentFileUid()
        {
            var         proxy = new ActivityProxy();
            ActivityDto dto   = GetActivityDto();

            dto.Owner          = ApiUserEmailAddress;
            dto.AttachedToType = "Sale";
            dto.AttachedToUid  = 72599;            // this sale is not part of this file!!!

            try
            {
                proxy.Insert(dto);
            }
            catch (RestException ex)
            {
                StringAssert.Contains("Invalid attachedToUid", ex.Message);
            }
        }
Пример #14
0
        public void UpdateActivity()
        {
            var proxy    = new ActivityProxy();
            var activity = proxy.GetActivity(_testActivityToBeUpdated);

            var uniqueId       = Guid.NewGuid().ToString().Substring(0, 5);
            var title          = "Test activity " + uniqueId;
            var details        = "Details of test activity " + uniqueId;
            var done           = !activity.DataObject.Done;
            var due            = activity.DataObject.Due.AddDays(1);
            var ownerEmail     = string.IsNullOrWhiteSpace(activity.DataObject.OwnerEmail) ? TestConfig.TestUser : null;
            var attachedToType = string.IsNullOrWhiteSpace(activity.DataObject.AttachedToType) ? null : "Sale";
            int?attachedToId   = null;

            if (activity.DataObject.AttachedToId != null && activity.DataObject.AttachedToId > 0)
            {
                attachedToId = _saleInvoiceTranId;
            }

            var updateActivty = new ActivityDetail
            {
                Title          = title,
                Details        = details,
                Done           = done,
                Due            = due,
                OwnerEmail     = ownerEmail,
                AttachedToType = attachedToType,
                AttachedToId   = attachedToId,
                LastUpdatedId  = activity.DataObject.LastUpdatedId
            };

            var updateResponse = proxy.UpdateActivity(_testActivityToBeUpdated, updateActivty);

            Assert.True(updateResponse.IsSuccessfull, "Call to UpdateActivity was not successful");
            Assert.True(updateResponse.DataObject != null, "Call to InsertActivity returned no data");
            Assert.Equal(_testActivityToBeUpdated, updateResponse.DataObject.UpdatedActivityId);

            var activityGet = proxy.GetActivity(_testActivityToBeUpdated);

            Assert.True(activityGet.DataObject != null, "No row returned from Get after update.");

            VerifyDetailsAreSame(updateActivty, activityGet.DataObject);
        }
Пример #15
0
        public void InsertActivity()
        {
            var uniqueId = Guid.NewGuid().ToString().Substring(0, 5);
            var title    = "Test activity " + uniqueId;
            var details  = "Details of test activity " + uniqueId;
            var tag      = "tag_" + uniqueId;

            var activity = GetActivityDetail(title: title, details: details, tags: tag, ownerEmail: TestConfig.TestUser, done: true, due: DateTime.Now.AddDays(10));
            var proxy    = new ActivityProxy();
            var response = proxy.InsertActivity(activity);

            Assert.True(response.IsSuccessfull, "Call to InsertActivity was not successful");
            Assert.NotNull(response.DataObject);
            Assert.True(response.DataObject.InsertedEntityId > 0, "Call to InsertActivity returned 0 entity Id");

            var activityGet = proxy.GetActivity(response.DataObject.InsertedEntityId);

            Assert.True(activityGet.DataObject != null, "No row returned from Get after insert.");

            VerifyDetailsAreSame(activity, activityGet.DataObject);
            Assert.True(activityGet.DataObject.CreatedDateUtc > DateTime.UtcNow.AddHours(-1) && activityGet.DataObject.CreatedDateUtc < DateTime.UtcNow.AddHours(1));
            Assert.True(activityGet.DataObject.LastModifiedDateUtc > DateTime.UtcNow.AddHours(-1) && activityGet.DataObject.LastModifiedDateUtc < DateTime.UtcNow.AddHours(1));
        }
Пример #16
0
 public static ActivityProxy DateFrom(this ActivityProxy proxy, DateTime dateFrom)
 {
     proxy.DateFrom = dateFrom;
     return(proxy);
 }
Пример #17
0
 public static ActivityProxy Space(this ActivityProxy proxy, string spaceId)
 {
     proxy.SpaceId = spaceId;
     return(proxy);
 }
Пример #18
0
 public ActivityController()
 {
     _activityProxy = new ActivityProxy();
     _clientyProxy  = new ClientProxy();
 }
Пример #19
0
 public static ActivityProxy DateTo(this ActivityProxy proxy, DateTime dateTo)
 {
     proxy.DateTo = dateTo;
     return(proxy);
 }