コード例 #1
0
        public void TestCreateCandidate()
        {
            CreateCandidateAction action = new CreateCandidateAction();

            TestCandidate candidate = new TestCandidate();

            candidate.Name = "Chethan";
            TestContact contact = new TestContact();

            contact.PhoneNumber = "2500281123";
            Relation.Set(candidate, contact);

            action.Entity = candidate;

            MockAuthorizationProvider authorizationProvider = GetMockAuthorizationProvider();

            if (authorizationProvider != null)
            {
                authorizationProvider.Allow("Can_CreateCandidate");
            }


            action.Execute();
            candidate = action.Entity;

            Assert.AreEqual(Fetch(candidate).Name, "Chethan");
            Assert.AreEqual(Relation.Get <TestCandidate, TestContact>(candidate).PhoneNumber, "2500281123");
        }
コード例 #2
0
 private ContactFields ContactFieldsExtrator(TestContact contact)
 {
     return(new ContactFields()
     {
         Name = contact.FullName
     });
 }
コード例 #3
0
 protected void SaveSinglDataToDb(TestContact testContact)
 {
     if (testContact != null)
     {
         _db.AddRange(testContact);
         _db.SaveChanges();
     }
 }
コード例 #4
0
        public void BulkSmsSendDynamicTests()
        {
            if (string.IsNullOrWhiteSpace(TestContact.GetStringField(Fields.contact_.mobilephone)))
            {
                TestContact.SetField(Fields.contact_.mobilephone, "0438570301");
                TestContact = UpdateFieldsAndRetreive(TestContact, Fields.contact_.mobilephone);
            }
            if (!string.IsNullOrWhiteSpace(TestContact2.GetStringField(Fields.contact_.mobilephone)))
            {
                TestContact2.SetField(Fields.contact_.mobilephone, null);
                TestContact2 = UpdateFieldsAndRetreive(TestContact2, Fields.contact_.mobilephone);
            }

            var bulkSms = CreateTestRecord(Entities.jmcg_bulksms, new Dictionary <string, object>
            {
                { Fields.jmcg_bulksms_.jmcg_name, "Test Script Bulk SMS Content" },
                { Fields.jmcg_bulksms_.jmcg_smscontent, "Test Script Bulk SMS Content" },
                { Fields.jmcg_bulksms_.jmcg_marketinglist, TestDynamicContactMarketingList.ToEntityReference() },
                { Fields.jmcg_bulksms_.jmcg_sendmessages, true },
            });

            Assert.IsTrue(bulkSms.GetBoolean(Fields.jmcg_bulksms_.jmcg_sendingmessages));
            Assert.IsFalse(bulkSms.GetBoolean(Fields.jmcg_bulksms_.jmcg_sendmessages));
            WaitTillTrue(() => !Refresh(bulkSms).GetBoolean(Fields.jmcg_bulksms_.jmcg_sendingmessages), 60);

            var smsMessages = GetSmsMessagesSent(bulkSms);
            var smsErrors   = GetSmsErrorsActive(bulkSms);

            Assert.AreEqual(1, smsMessages.Count());
            Assert.AreEqual(TestContact.Id, smsMessages.First().GetActivityPartyReferences(Fields.jmcg_sms_.to).First().Id);
            Assert.AreEqual(1, smsErrors.Count());
            Assert.AreEqual(TestContact2.Id, smsErrors.First().GetLookupGuid(Fields.jmcg_bulksmserror_.jmcg_contact));

            //fix error and reprocess

            //populate mobile number
            TestContact2.SetField(Fields.contact_.mobilephone, "0438570301");
            TestContact2 = UpdateFieldsAndRetreive(TestContact2, Fields.contact_.mobilephone);
            //resend
            bulkSms.SetField(Fields.jmcg_bulksms_.jmcg_sendmessages, true);
            bulkSms = UpdateFieldsAndRetreive(bulkSms, Fields.jmcg_bulksms_.jmcg_sendmessages);
            Assert.IsTrue(bulkSms.GetBoolean(Fields.jmcg_bulksms_.jmcg_sendingmessages));
            Assert.IsFalse(bulkSms.GetBoolean(Fields.jmcg_bulksms_.jmcg_sendmessages));
            WaitTillTrue(() => !Refresh(bulkSms).GetBoolean(Fields.jmcg_bulksms_.jmcg_sendingmessages), 60);

            //verify now 2 sms messages
            //and no active errors
            smsMessages = GetSmsMessagesSent(bulkSms);
            smsErrors   = GetSmsErrorsActive(bulkSms);
            Assert.AreEqual(2, smsMessages.Count());
            Assert.AreEqual(1, smsMessages.Count(e => e.GetActivityPartyReferences(Fields.jmcg_sms_.to).First().Id == TestContact.Id));
            Assert.AreEqual(1, smsMessages.Count(e => e.GetActivityPartyReferences(Fields.jmcg_sms_.to).First().Id == TestContact2.Id));
            Assert.AreEqual(0, smsErrors.Count());

            DeleteMyToday();
        }
コード例 #5
0
        protected static void GivenStringDistanceAndExtractor_ExpectPositiveMatch <T>(T matcher) where T : IFuzzyMatcher <TestContact, string>
        {
            var nearest  = matcher.FindNearest("john B");
            var expected = new TestContact()
            {
                FirstName = "John",
                LastName  = "B",
                Id        = "7654321"
            };

            Assert.AreEqual(expected, nearest.Element);
        }
コード例 #6
0
        protected static void GivenContactFuzzyMatcher_ExpectPositiveMatch <T>(T matcher) where T : IFuzzyMatcher <TestContact, TestContact>
        {
            var match    = matcher.FindNearest(FullnameToTestContact("andrew smith"));
            var expected = new TestContact()
            {
                FirstName = "Andrew",
                LastName  = "Smith",
                Id        = "1234567"
            };

            Assert.AreEqual(expected, match.Element);
        }
コード例 #7
0
        public void GivenExactMatch_ExpectPositiveMatch()
        {
            var matcher = new EnContactMatcher <TestContact>(this.Targets, this.ContactFieldsExtrator);
            var results = matcher.Find("Andrew Smith");

            Assert.AreEqual(1, results.Count);
            var expected = new TestContact()
            {
                FirstName = "Andrew",
                LastName  = "Smith",
                Id        = "1234567"
            };

            Assert.AreEqual(expected, results[0]);
        }
コード例 #8
0
        public void TestAddCandidateAndContactTogether()
        {
            TestEmployee emp = new TestEmployee();

            emp.Name = "Mohan";

            TestContact contact = new TestContact();

            contact.PhoneNumber = "2500281";

            Relation.Set(emp, contact);

            emp = SaveAndReFetch(emp);

            Assert.AreEqual(Relation.Get <TestEmployee, TestContact>(emp).PhoneNumber, "2500281");
        }
コード例 #9
0
        public void SmsSetSentFieldOnRegardingTest()
        {
            if (JosephMSmsSettings.ActuallySendSms)
            {
                Assert.Inconclusive("Block Test Execution If Sending Of SMS Is On");
            }

            if (TestContact.GetBoolean(Fields.contact_.isbackofficecustomer))
            {
                TestContact.SetField(Fields.contact_.isbackofficecustomer, false);
                TestContact = UpdateFieldsAndRetreive(TestContact, Fields.contact_.isbackofficecustomer);
            }

            var sms = new Entity(Entities.jmcg_sms);

            sms.SetField(Fields.jmcg_sms_.subject, "Test Scipt Sms On Create");
            sms.SetField(Fields.jmcg_sms_.jmcg_sendandcomplete, true);
            sms.SetField(Fields.jmcg_sms_.description, "SMS Content");
            sms.SetLookupField(Fields.jmcg_sms_.regardingobjectid, TestContact);
            sms.SetField(Fields.jmcg_sms_.jmcg_setsentonregardingfield, Fields.contact_.isbackofficecustomer);
            sms.AddToParty(TestContact.LogicalName, TestContact.Id);
            sms = CreateAndRetrieve(sms);
            Assert.AreEqual(OptionSets.SMS.ActivityStatus.Completed, sms.GetOptionSetValue(Fields.jmcg_sms_.statecode));
            TestContact = Refresh(TestContact);
            Assert.IsTrue(TestContact.GetBoolean(Fields.contact_.isbackofficecustomer));

            if (TestContact.GetField(Fields.contact_.lastusedincampaign) != null)
            {
                TestContact.SetField(Fields.contact_.lastusedincampaign, null);
                TestContact = UpdateFieldsAndRetreive(TestContact, Fields.contact_.lastusedincampaign);
            }

            sms = new Entity(Entities.jmcg_sms);
            sms.SetField(Fields.jmcg_sms_.subject, "Test Scipt Sms On Create");
            sms.SetField(Fields.jmcg_sms_.jmcg_sendandcomplete, true);
            sms.SetField(Fields.jmcg_sms_.description, "SMS Content");
            sms.SetLookupField(Fields.jmcg_sms_.regardingobjectid, TestContact);
            sms.SetField(Fields.jmcg_sms_.jmcg_setsentonregardingfield, Fields.contact_.lastusedincampaign);
            sms.AddToParty(TestContact.LogicalName, TestContact.Id);
            sms = CreateAndRetrieve(sms);
            Assert.AreEqual(OptionSets.SMS.ActivityStatus.Completed, sms.GetOptionSetValue(Fields.jmcg_sms_.statecode));
            TestContact = Refresh(TestContact);
            Assert.IsNotNull(TestContact.GetField(Fields.contact_.lastusedincampaign));

            DeleteMyToday();
        }
コード例 #10
0
        public void TestAddCandidateAndContactTogether()
        {
            ICollection <TestCandidate> testCandidates = EntityRepository <TestCandidate> .FindAll();

            TestCandidate candidate = new TestCandidate();

            candidate.Name = "Mohan";

            TestContact contact = new TestContact();

            contact.PhoneNumber = "2500281";

            Relation.Set(candidate, contact);

            candidate = SaveAndReFetch(candidate);

            Assert.AreEqual(Relation.Get <TestCandidate, TestContact>(candidate).PhoneNumber, "2500281");
        }
コード例 #11
0
        protected void FullingProperties(TestContact testContact, Cell cell, WorkbookPart workbookPart)
        {
            var cellIndex = GetColumnIndexFromName(GetColumnName(cell.CellReference));

            switch (cellIndex)
            {
            case 1:
                testContact.FullName = GetCellValue(cell, workbookPart);
                break;

            case 2:
                testContact.BirthDate = GetCellValue(cell, workbookPart);
                break;

            case 3:
                testContact.Account = GetCellValue(cell, workbookPart);
                break;

            case 4:
                testContact.BusinessPhone = GetCellValue(cell, workbookPart);
                break;

            case 5:
                testContact.Address = GetCellValue(cell, workbookPart);
                break;

            case 6:
                testContact.Email = GetCellValue(cell, workbookPart);
                break;

            case 7:
                testContact.Gender = GetCellValue(cell, workbookPart);
                break;

            case 8:
                testContact.JobTitle = GetCellValue(cell, workbookPart);
                break;

            case 9:
                testContact.Department = GetCellValue(cell, workbookPart);
                break;
            }
        }
コード例 #12
0
        public void GivenSimilarPhoneticWeight_ExpectPositiveMatch()
        {
            var matcher = new EnContactMatcher <TestContact>(this.Targets, this.ContactFieldsExtrator);
            var results = matcher.Find("andru");

            Assert.AreEqual(2, results.Count);
            var expected = new TestContact()
            {
                FirstName = "Andrew",
                LastName  = string.Empty
            };

            Assert.IsTrue(results.Contains(expected));
            expected = new TestContact()
            {
                FirstName = "Andrew",
                LastName  = "Smith",
                Id        = "1234567"
            };
            Assert.IsTrue(results.Contains(expected));
        }
コード例 #13
0
        public void GivenDuplicateNames_ExpectPositiveMatch()
        {
            var matcher = new EnContactMatcher <TestContact>(this.Targets, this.ContactFieldsExtrator);
            var results = matcher.Find("john");

            Assert.AreEqual(2, results.Count);
            var expected = new TestContact()
            {
                FirstName = "John",
                LastName  = "B",
                Id        = "7654321"
            };

            Assert.IsTrue(results.Contains(expected));
            expected = new TestContact()
            {
                FirstName = "John",
                LastName  = "C",
                Id        = "2222222"
            };
            Assert.IsTrue(results.Contains(expected));
        }
コード例 #14
0
        public bool ParsingIntoDb(string filePath)
        {
            try
            {
                using (Stream swtream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(filePath, false))
                    {
                        WorkbookPart  workbookPart  = spreadsheetDocument.WorkbookPart;
                        WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();

                        SheetData sheetData = worksheetPart.Worksheet.GetFirstChild <SheetData>();

                        foreach (Row row in sheetData.Elements <Row>().Skip(1))
                        {
                            var testContact = new TestContact();

                            foreach (Cell cell in row.Elements <Cell>())
                            {
                                FullingProperties(testContact, cell, workbookPart);
                            }

                            listContacts.Add(testContact);
                        }

                        SaveItemsDataToDb();

                        return(true);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #15
0
 public void ContactExercise()
 {
     TestContact.ContactMain();
 }
コード例 #16
0
        public void BulkSmsSendStaticTests()
        {
            var bulkSms = CreateTestRecord(Entities.jmcg_bulksms);

            //validate sms content populated when send
            try
            {
                bulkSms.SetField(Fields.jmcg_bulksms_.jmcg_sendmessages, true);
                bulkSms = UpdateFieldsAndRetreive(bulkSms, Fields.jmcg_bulksms_.jmcg_sendmessages);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.IsFalse(ex is AssertFailedException);
            }
            bulkSms.SetField(Fields.jmcg_bulksms_.jmcg_smscontent, "Test Script Bulk SMS Content");
            bulkSms = UpdateFieldsAndRetreive(bulkSms, Fields.jmcg_bulksms_.jmcg_smscontent);
            //validate marketing list populated when send
            try
            {
                bulkSms.SetField(Fields.jmcg_bulksms_.jmcg_sendmessages, true);
                bulkSms = UpdateFieldsAndRetreive(bulkSms, Fields.jmcg_bulksms_.jmcg_sendmessages);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.IsFalse(ex is AssertFailedException);
            }
            bulkSms.SetLookupField(Fields.jmcg_bulksms_.jmcg_marketinglist, TestAccountMarketingList);
            bulkSms = UpdateFieldsAndRetreive(bulkSms, Fields.jmcg_bulksms_.jmcg_marketinglist);
            //validate marketing list for contacts when send
            try
            {
                bulkSms.SetField(Fields.jmcg_bulksms_.jmcg_sendmessages, true);
                bulkSms = UpdateFieldsAndRetreive(bulkSms, Fields.jmcg_bulksms_.jmcg_sendmessages);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.IsFalse(ex is AssertFailedException);
            }
            //okay now set to a contact marketing list
            //should be valid for send
            //lets add a contact with a mobile number
            //and one without a mobile number
            bulkSms.SetLookupField(Fields.jmcg_bulksms_.jmcg_marketinglist, TestContactMarketingList);
            bulkSms = UpdateFieldsAndRetreive(bulkSms, Fields.jmcg_bulksms_.jmcg_marketinglist);
            //clear the contact list
            var marketingListMembers = XrmService.GetMarketingListMemberIds(TestContactMarketingList.Id);

            foreach (var memberId in marketingListMembers)
            {
                RemoveListMember(memberId, TestContactMarketingList.Id);
            }
            //add test contact with mobile number
            if (string.IsNullOrWhiteSpace(TestContact.GetStringField(Fields.contact_.mobilephone)))
            {
                TestContact.SetField(Fields.contact_.mobilephone, "0438570301");
                TestContact = UpdateFieldsAndRetreive(TestContact, Fields.contact_.mobilephone);
            }
            AddListMember(TestContact.Id, TestContactMarketingList.Id);
            //add test contact2 without mobile number
            if (!string.IsNullOrWhiteSpace(TestContact2.GetStringField(Fields.contact_.mobilephone)))
            {
                TestContact2.SetField(Fields.contact_.mobilephone, null);
                TestContact2 = UpdateFieldsAndRetreive(TestContact2, Fields.contact_.mobilephone);
            }
            AddListMember(TestContact2.Id, TestContactMarketingList.Id);
            //send sms including error
            bulkSms.SetField(Fields.jmcg_bulksms_.jmcg_sendmessages, true);
            bulkSms = UpdateFieldsAndRetreive(bulkSms, Fields.jmcg_bulksms_.jmcg_sendmessages);
            Assert.IsTrue(bulkSms.GetBoolean(Fields.jmcg_bulksms_.jmcg_sendingmessages));
            Assert.IsFalse(bulkSms.GetBoolean(Fields.jmcg_bulksms_.jmcg_sendmessages));
            WaitTillTrue(() => !Refresh(bulkSms).GetBoolean(Fields.jmcg_bulksms_.jmcg_sendingmessages), 60);

            var smsMessages = GetSmsMessagesSent(bulkSms);
            var smsErrors   = GetSmsErrorsActive(bulkSms);

            Assert.AreEqual(1, smsMessages.Count());
            Assert.AreEqual(TestContact.Id, smsMessages.First().GetActivityPartyReferences(Fields.jmcg_sms_.to).First().Id);
            Assert.AreEqual(1, smsErrors.Count());
            Assert.AreEqual(TestContact2.Id, smsErrors.First().GetLookupGuid(Fields.jmcg_bulksmserror_.jmcg_contact));

            //fix error and reprocess

            //populate mobile number
            TestContact2.SetField(Fields.contact_.mobilephone, "0438570301");
            TestContact2 = UpdateFieldsAndRetreive(TestContact2, Fields.contact_.mobilephone);
            //resend
            bulkSms.SetField(Fields.jmcg_bulksms_.jmcg_sendmessages, true);
            bulkSms = UpdateFieldsAndRetreive(bulkSms, Fields.jmcg_bulksms_.jmcg_sendmessages);
            Assert.IsTrue(bulkSms.GetBoolean(Fields.jmcg_bulksms_.jmcg_sendingmessages));
            Assert.IsFalse(bulkSms.GetBoolean(Fields.jmcg_bulksms_.jmcg_sendmessages));
            WaitTillTrue(() => !Refresh(bulkSms).GetBoolean(Fields.jmcg_bulksms_.jmcg_sendingmessages), 60);

            //verify now 2 sms messages
            //and no active errors
            smsMessages = GetSmsMessagesSent(bulkSms);
            smsErrors   = GetSmsErrorsActive(bulkSms);
            Assert.AreEqual(2, smsMessages.Count());
            Assert.AreEqual(1, smsMessages.Count(e => e.GetActivityPartyReferences(Fields.jmcg_sms_.to).First().Id == TestContact.Id));
            Assert.AreEqual(1, smsMessages.Count(e => e.GetActivityPartyReferences(Fields.jmcg_sms_.to).First().Id == TestContact2.Id));
            Assert.AreEqual(0, smsErrors.Count());

            DeleteMyToday();
        }
コード例 #17
0
 protected double SimpleDistance(TestContact a, TestContact b)
 {
     return(this.StringDistance.Distance(a.FullName, b.FullName));
 }
コード例 #18
0
        public bool ParsingIntoDb(string filePath)
        {
            try
            {
                using (Stream swtream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(filePath, false))
                    {
                        WorkbookPart  workbookPart  = spreadsheetDocument.WorkbookPart;
                        WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();

                        OpenXmlReader reader = OpenXmlReader.Create(worksheetPart);

                        int i = 0;

                        while (reader.Read())
                        {
                            if (reader.ElementType == typeof(Row))
                            {
                                if (i < 2)
                                {
                                    i++;
                                    continue;
                                }

                                reader.ReadFirstChild();

                                var testContact = new TestContact();

                                do
                                {
                                    if (reader.ElementType == typeof(Cell))
                                    {
                                        Cell cell = (Cell)reader.LoadCurrentElement();

                                        var cellIndex = GetColumnIndexFromName(GetColumnName(cell.CellReference));

                                        FullingProperties(testContact, cell, workbookPart);
                                    }
                                } while (reader.ReadNextSibling());

                                //SaveSinglDataToDb(testObject);

                                if (listContacts.Count == CountInChunk)
                                {
                                    SaveItemsDataToDb();
                                }

                                listContacts.Add(testContact);
                            }
                        }

                        if (listContacts.Any())
                        {
                            SaveItemsDataToDb();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(true);
        }
コード例 #19
0
        public void EmailPluginTestMoveDocumentsToSharepointWhenRegardingCase()
        {
            var fileNames = new[]
            { "Sample Attachment.PNG", "Sample Attachment.PDF", "Sample Attachment.DOCX" };
            var documentContent = Convert.ToBase64String(File.ReadAllBytes("Test Document.txt"));

            //okay lets create a case, then an email regarding it with attachments and verify
            //the ones with our valid extensions are created in sharepoint
            var aCase = CreateTestRecord(Entities.incident, new Dictionary <string, object>
            {
                { Fields.incident_.customerid, TestContact.ToEntityReference() }
            });

            var email = CreateTestRecord(Entities.email, new Dictionary <string, object>()
            {
                { Fields.email_.regardingobjectid, aCase.ToEntityReference() },
                { Fields.email_.subject, "TESTATTACHMENTSCRIPT" },
                { Fields.email_.directioncode, false }
            });

            foreach (var filename in fileNames)
            {
                CreateTestRecord(Entities.activitymimeattachment, new Dictionary <string, object>()
                {
                    { Fields.activitymimeattachment_.activityid, email.ToEntityReference() },
                    { Fields.activitymimeattachment_.filename, filename },
                    { Fields.activitymimeattachment_.body, documentContent }
                });
            }

            WaitTillTrue(() =>
            {
                return(SharepointService.GetDocumentFolderRelativeUrl(aCase.LogicalName, aCase.Id) != null);
            }, 60);
            var sharePointFolder = SharepointService.GetDocumentFolderRelativeUrl(aCase.LogicalName, aCase.Id);

            WaitTillTrue(() =>
            {
                return(SharepointService.GetDocuments(sharePointFolder).Count() == 2);
            }, 60);

            var sharePointDocuments = SharepointService.GetDocuments(sharePointFolder);

            Assert.IsTrue(sharePointDocuments.Count(sd => sd.Name.EndsWith(".PDF")) == 1);
            Assert.IsTrue(sharePointDocuments.Count(sd => sd.Name.EndsWith(".DOCX")) == 1);

            //okay lets do the similar scenario but where an existing received email is set regarding the case
            //this is actually the scenario when created by case creation rules
            email = CreateTestRecord(Entities.email, new Dictionary <string, object>()
            {
                { Fields.email_.subject, "TESTATTACHMENTSCRIPT" },
                { Fields.email_.directioncode, false }
            });

            foreach (var filename in fileNames)
            {
                CreateTestRecord(Entities.activitymimeattachment, new Dictionary <string, object>()
                {
                    { Fields.activitymimeattachment_.activityid, email.ToEntityReference() },
                    { Fields.activitymimeattachment_.filename, filename },
                    { Fields.activitymimeattachment_.body, documentContent }
                });
            }

            email.SetLookupField(Fields.email_.regardingobjectid, aCase);
            email = UpdateFieldsAndRetreive(email, Fields.email_.regardingobjectid);

            WaitTillTrue(() =>
            {
                return(SharepointService.GetDocumentFolderRelativeUrl(aCase.LogicalName, aCase.Id) != null);
            }, 60);
            sharePointFolder = SharepointService.GetDocumentFolderRelativeUrl(aCase.LogicalName, aCase.Id);

            //this time we should have twice as many attachments for each thing
            //because the first email already added some
            WaitTillTrue(() =>
            {
                return(SharepointService.GetDocuments(sharePointFolder).Count() == 4);
            }, 60);

            sharePointDocuments = SharepointService.GetDocuments(sharePointFolder);
            Assert.IsTrue(sharePointDocuments.Count(sd => sd.Name.EndsWith(".PDF")) == 2);
            Assert.IsTrue(sharePointDocuments.Count(sd => sd.Name.EndsWith(".DOCX")) == 2);


            DeleteMyToday();
        }
コード例 #20
0
        public void SmsSendAndCompleteTest()
        {
            if (JosephMSmsSettings.ActuallySendSms)
            {
                Assert.Inconclusive("Block Test Execution If Sending Of SMS Is On");
            }

            //sms will send when send and complete field set true
            //go through the variuous validations performed prior to send
            //then verify the sms is set completed by the send and complete field
            //when validation for sending an sms passes
            var sms = CreateTestRecord(Entities.jmcg_sms, new Dictionary <string, object>
            {
                { Fields.jmcg_sms_.subject, "Test Scipt Sms" },
            });

            sms.SetField(Fields.jmcg_sms_.jmcg_sendandcomplete, true);
            try
            {
                sms = UpdateFieldsAndRetreive(sms, Fields.jmcg_sms_.to, Fields.jmcg_sms_.jmcg_sendandcomplete);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.IsFalse(ex is AssertFailedException);
            }
            sms.AddActivityParty(Fields.jmcg_sms_.to, TestContactAccount.LogicalName, TestContactAccount.Id);
            sms = UpdateFieldsAndRetreive(sms, Fields.jmcg_sms_.to);
            sms.SetField(Fields.jmcg_sms_.jmcg_sendandcomplete, true);
            try
            {
                sms = UpdateFieldsAndRetreive(sms, Fields.jmcg_sms_.to, Fields.jmcg_sms_.jmcg_sendandcomplete);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.IsFalse(ex is AssertFailedException);
            }
            TestContact.SetField(Fields.contact_.mobilephone, null);
            TestContact = UpdateFieldsAndRetreive(TestContact, Fields.contact_.mobilephone);

            sms.SetField(Fields.jmcg_sms_.to, null);
            sms.AddActivityParty(Fields.jmcg_sms_.to, TestContact.LogicalName, TestContact.Id);
            sms = UpdateFieldsAndRetreive(sms, Fields.jmcg_sms_.to);
            sms.SetField(Fields.jmcg_sms_.jmcg_sendandcomplete, true);
            try
            {
                sms = UpdateFieldsAndRetreive(sms, Fields.jmcg_sms_.to, Fields.jmcg_sms_.jmcg_sendandcomplete);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.IsFalse(ex is AssertFailedException);
            }
            TestContact.SetField(Fields.contact_.mobilephone, "61438570301");
            TestContact = UpdateFieldsAndRetreive(TestContact, Fields.contact_.mobilephone);
            sms.SetField(Fields.jmcg_sms_.jmcg_sendandcomplete, true);
            try
            {
                sms = UpdateFieldsAndRetreive(sms, Fields.jmcg_sms_.to, Fields.jmcg_sms_.jmcg_sendandcomplete);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.IsFalse(ex is AssertFailedException);
            }
            sms.SetField(Fields.jmcg_sms_.description, "SMS Content");
            sms = UpdateFieldsAndRetreive(sms, Fields.jmcg_sms_.description);

            sms.SetField(Fields.jmcg_sms_.jmcg_sendandcomplete, true);
            sms = UpdateFieldsAndRetreive(sms, Fields.jmcg_sms_.to, Fields.jmcg_sms_.jmcg_sendandcomplete);
            Assert.AreEqual(OptionSets.SMS.ActivityStatus.Completed, sms.GetOptionSetValue(Fields.jmcg_sms_.statecode));

            //sendimmediatelly
            sms = new Entity(Entities.jmcg_sms);
            sms.SetField(Fields.jmcg_sms_.subject, "Test Scipt Sms On Create");
            sms.SetField(Fields.jmcg_sms_.jmcg_sendandcomplete, true);
            sms.SetField(Fields.jmcg_sms_.description, "SMS Content");
            sms.AddToParty(TestContact.LogicalName, TestContact.Id);
            sms = CreateAndRetrieve(sms);
            Assert.AreEqual(OptionSets.SMS.ActivityStatus.Completed, sms.GetOptionSetValue(Fields.jmcg_sms_.statecode));

            DeleteMyToday();
        }