コード例 #1
0
        public void CanInsertAContractor()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto contact = GetContact1();
            contact.ContactType = (int)ContactType.Contractor;
            proxy.Insert(contact);

            var fromDb = (ContactDto)proxy.GetByUid(contact.Uid);
            AssertEqual(contact, fromDb);
            Assert.IsTrue(((ContactType)fromDb.ContactType).HasFlag(ContactType.Contractor), "Contractor flag should be set.");
        }
コード例 #2
0
        public void CanMarkAContactAsAContractor()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto contact = GetContact1();
            proxy.Insert(contact);

            var fromDb = (ContactDto)proxy.GetByUid(contact.Uid);
            Assert.IsFalse(((ContactType)fromDb.ContactType).HasFlag(ContactType.Contractor), "Shouldn't be flagged a contactor.");

            var contactTypeFlag = ContactType.Contractor | ContactType.Supplier;
            contact.ContactType = (int)contactTypeFlag;
            proxy.Update(contact);

            fromDb = (ContactDto)proxy.GetByUid(contact.Uid);
            Assert.AreEqual((int)contactTypeFlag, fromDb.ContactType, "Incorrect contact type.");

            var contactType = (ContactType)fromDb.ContactType;
            Assert.IsTrue(contactType.HasFlag(ContactType.Contractor), "IsContractor should be true.");
            Assert.IsTrue(contactType.HasFlag(ContactType.Supplier), "IsSupplier should be true.");
            Assert.IsFalse(contactType.HasFlag(ContactType.Customer), "IsCustomer should be false.");
        }
コード例 #3
0
        public void UpdateWithTwitterAndSkypeID()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto dto1 = this.GetContact1();
            dto1.TwitterId = "Contact1TwitterId1";
            dto1.SkypeId = "Contact1SkypeId1";
            proxy.Insert(dto1);

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

            dto1.TwitterId = null;
            dto1.SkypeId = "Contact1SkypeIdNew";
            proxy.Update(dto1);

            dto1 = (ContactDto)proxy.GetByUid(dto1.Uid);
            Assert.AreEqual(null, dto1.TwitterId, "Incorrect twitter ID");
            Assert.AreEqual("Contact1SkypeIdNew", dto1.SkypeId, "Incorrect skype ID");
        }
コード例 #4
0
        public void UpdateWithDefaultPurchaseDiscount()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto contact = GetContact1();
            contact.DefaultPurchaseDiscount = 15.75M;
            proxy.Insert(contact);

            contact.DefaultPurchaseDiscount = 14.75M;
            proxy.Update(contact);

            ContactDto fromDb = (ContactDto)proxy.GetByUid(contact.Uid);
            AssertEqual(contact, fromDb);
        }
コード例 #5
0
        public void UpdateWithLinkedInPublicProfile()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto dto1 = this.GetContact1();
            dto1.LinkedInPublicProfile = "http://www.linkedin.com/pub/kasun-amarasinghe/5/984/b5b";
            proxy.Insert(dto1);

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

            dto1.LinkedInPublicProfile = "http://www.linkedin.com/in/marclehmann";
            proxy.Update(dto1);

            dto1 = (ContactDto)proxy.GetByUid(dto1.Uid);
            Assert.AreEqual("http://www.linkedin.com/in/marclehmann", dto1.LinkedInPublicProfile, "Incorrect LinkedIn Public Profile");
        }
コード例 #6
0
        public void UpdateContactOrganizationDetails()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto dto1 = this.GetContact1();
            proxy.Insert(dto1);

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

            int tempContactUid = dto1.Uid;
            string lastUpdatedUid = dto1.LastUpdatedUid;

            dto1 = this.GetContact2();
            dto1.OrganisationName = "Updated Organization Name";
            dto1.OrganisationAbn = "U1234567";
            dto1.OrganisationPosition = "Updated Organization Position";
            dto1.OrganisationWebsite = "www.updatedorg.com";

            dto1.Uid = tempContactUid;
            dto1.LastUpdatedUid = lastUpdatedUid;
            proxy.Update(dto1);

            var tmpDto = (ContactDto)proxy.GetByUid(dto1.Uid);
            AssertEqual(dto1, tmpDto);
        }
コード例 #7
0
        public void UpdateWithCustomField()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto dto1 = this.GetContact1();
            dto1.CustomField1 = "This is custom field 1";
            dto1.CustomField2 = "This is custom field 2";
            proxy.Insert(dto1);

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

            dto1.CustomField1 = null;
            dto1.CustomField2 = "AAA";
            proxy.Update(dto1);

            dto1 = (ContactDto)proxy.GetByUid(dto1.Uid);
            Assert.AreEqual(null, dto1.CustomField1, "Incorrect custom field 1");
            Assert.AreEqual("AAA", dto1.CustomField2, "Incorrect custom field 2");
        }
コード例 #8
0
        public void TradingTermsBackwardsCompatibility()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto dto1 = this.GetContact1();
            dto1.SaleTradingTermsPaymentDueInInterval = 14;
            dto1.SaleTradingTermsPaymentDueInIntervalType = 1;
            proxy.Insert(dto1);

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

            dto1 = (ContactDto)proxy.GetByUid(dto1.Uid);
            Assert.AreEqual(1, dto1.SaleTradingTerms.Type, "Incorrect Sale Trading Terms Type");
            Assert.AreEqual(14, dto1.SaleTradingTerms.Interval, "Incorrect Sale Trading Terms Interval");
            Assert.AreEqual(1, dto1.SaleTradingTerms.IntervalType, "Incorrect Sale Trading Terms Interval Type");
        }
コード例 #9
0
        public void Update()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto dto1 = this.GetContact1();
            proxy.Insert(dto1);

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

            int tempContactUid = dto1.Uid;
            string lastUpdatedUid = dto1.LastUpdatedUid;

            dto1 = this.GetContact2();
            dto1.Uid = tempContactUid;
            dto1.LastUpdatedUid = lastUpdatedUid;
            proxy.Update(dto1);

            AssertEqual(dto1, (ContactDto)proxy.GetByUid(dto1.Uid));
        }
コード例 #10
0
        public void InvalidABN()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto dto1 = this.GetContactInvalidAbn();
            proxy.Insert(dto1);

            ContactDto fromDB = (ContactDto)proxy.GetByUid(dto1.Uid);
            Assert.AreEqual("ABC123", fromDB.OrganisationAbn, "Incorrect org. abn.");
        }
コード例 #11
0
        public void PurchaseTradingTerms()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto dto1 = this.GetContact1();
            dto1.SaleTradingTermsPaymentDueInInterval = 0;
            dto1.SaleTradingTermsPaymentDueInIntervalType = 0;
            dto1.PurchaseTradingTermsPaymentDueInInterval = 0;
            dto1.PurchaseTradingTermsPaymentDueInIntervalType = 0;

            dto1.SaleTradingTerms = GetPurchaseTradingTermsDto1();

            proxy.Insert(dto1);

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

            dto1 = (ContactDto)proxy.GetByUid(dto1.Uid);
            Assert.AreEqual(2, dto1.SaleTradingTerms.Type, "Incorrect Purchase Trading Terms Type");
            Assert.AreEqual(30, dto1.SaleTradingTerms.Interval, "Incorrect Purchase Trading Terms Interval");
            Assert.AreEqual(1, dto1.SaleTradingTerms.IntervalType, "Incorrect Purchase Trading Terms Interval Type");
        }
コード例 #12
0
        public void InsertWithTags()
        {
            CrudProxy proxy = new ContactProxy();

            ContactDto dto1 = this.GetContact4();
            proxy.Insert(dto1);

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

            ContactDto dto2 = (ContactDto)proxy.GetByUid(dto1.Uid);
            AssertEqual(dto1, dto2, true);
        }
コード例 #13
0
        public void InsertWithDefaultSaleDiscount()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto contact = GetContact1();
            contact.DefaultSaleDiscount = 10.50M;
            proxy.Insert(contact);

            ContactDto fromDb = (ContactDto)proxy.GetByUid(contact.Uid);
            AssertEqual(contact, fromDb);
        }
コード例 #14
0
        public void InsertContactWithBankDetails()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto dto1 = this.GetContact3();
            proxy.Insert(dto1);

            AssertEqual(dto1, (ContactDto)proxy.GetByUid(dto1.Uid));
        }
コード例 #15
0
        public void EnsureInvalidControlCharactersAreRemoved()
        {
            CrudProxy proxy = new ContactProxy();
            ContactDto validContact = GetContact1();
            ContactDto invalidContact = GetContact1();

            invalidContact.GivenName = invalidContact.GivenName + "\r\n";
            invalidContact.FamilyName = invalidContact.FamilyName + "\r\n";
            invalidContact.OrganisationName = invalidContact.OrganisationName + "
";
            proxy.Insert(invalidContact);

            var fromDb = (ContactDto)proxy.GetByUid(invalidContact.Uid);

            Assert.AreEqual(validContact.GivenName, fromDb.GivenName, "Given name should not contain any invalid characters.");
            Assert.AreEqual(validContact.FamilyName, fromDb.FamilyName, "Family name should not contain any invalid characters");
            Assert.AreEqual(validContact.OrganisationName, fromDb.OrganisationName, "Organisation name should not contain any invalid characters.");
        }
コード例 #16
0
        public void Delete()
        {
            CrudProxy proxy = new ContactProxy();

            ContactDto dto1 = this.GetContact1();
            proxy.Insert(dto1);

            proxy.DeleteByUid(dto1.Uid);

            try
            {
                proxy.GetByUid(dto1.Uid);
                throw new Exception("The expected exception was not thrown.");
            }
            catch (RestException ex)
            {
                Assert.AreEqual("RecordNotFoundException", ex.Type, "Incorrect exception type.");
            }
        }