public void CleanupTest() { using (var client = TestHelper.ClientGet()) { var result = client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myContactId), 1); } }
public void InitializeTest() { using (var client = TestHelper.ClientGet()) { var result1 = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { FirstName = "Joe", LastName = "Schmoe", BirthDate = new DateTime(1980, 2, 9), ContactType = ContactType.Individual }); _myContactId = result1.Values.First().Id; var result0 = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { FirstName = "Averell", LastName = "Schmoe", BirthDate = new DateTime(1980, 2, 9), ContactType = ContactType.Individual }); _myOtherContactId = result0.Values.First().Id; var result2 = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { ContactType = ContactType.Organization, OrganizationName = "Schmoe inc." }); _myCompanyId = result2.Values.First().Id; var result3 = client.RelationshipSave(TestHelper.ApiKey, TestHelper.SiteKey, new RelationshipRequest { RelationshipTypeId = 5, // Works for ContactIdA = _myContactId, ContactIdB = _myCompanyId, IsActive = true }); _myRelationshipId = result3.Values.First().Id; var result4 = client.RelationshipSave(TestHelper.ApiKey, TestHelper.SiteKey, new RelationshipRequest { RelationshipTypeId = 5, // Works for ContactIdA = _myOtherContactId, ContactIdB = _myCompanyId, IsActive = false, EndDate = new DateTime(2016, 8, 8) }); _myOtherRelationshipId = result4.Values.First().Id; } }
public void CleanupTest() { using (var client = TestHelper.ClientGet()) { var result = client.EventDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myEventId)); Debug.Assert(result.IsError == 0, "Could not delete event. Maybe your API user needs more permissions."); } }
public void DeleteAddress() { using (var client = TestHelper.ClientGet()) { var request = new DeleteRequest(_myAddressId); var result = client.AddressDelete(TestHelper.ApiKey, TestHelper.SiteKey, request); Assert.AreEqual(0, result.IsError); } }
public void WorkaroundCrm15815() { using (var client = TestHelper.ClientGet()) { // Create a contact, chain phone and website. var myPhone = new PhoneRequest { PhoneNumber = "03-100 20 00" }; var myWebsite1 = new WebsiteRequest { Url = "http://smurf.com" }; var myWebsite2 = new WebsiteRequest { Url = "http://smurf.org" }; const string myExternalId = "Test_External_Smurf"; client.ContactSaveWorkaroundCrm15815(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { ContactType = ContactType.Individual, LastName = "Smurf", FirstName = "Smul", ExternalIdentifier = myExternalId, ApiOptions = new ApiOptions { Match = "external_identifier" }, WebsiteSaveRequest = new List <WebsiteRequest> { myWebsite1, myWebsite2 }, PhoneSaveRequest = new List <PhoneRequest> { myPhone }, }); // Get contact with websites var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { ExternalIdentifier = myExternalId, PhoneGetRequest = new PhoneRequest(), WebsiteGetRequest = new WebsiteRequest(), }); // Delete contact before doing assertions. client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(contact.Id), 1); Assert.AreEqual(1, contact.PhoneResult.Count); Assert.AreEqual(myPhone.PhoneNumber, contact.PhoneResult.Values.First().PhoneNumber); Assert.AreEqual(2, contact.WebsiteResult.Count); Assert.AreEqual(myWebsite1.Url, contact.WebsiteResult.Values.First().Url); Assert.AreEqual(myWebsite2.Url, contact.WebsiteResult.Values.Last().Url); } }
public void CleanupTest() { using (var client = TestHelper.ClientGet()) { client.LocBlockDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myLocBlock.Id)); if (_myLocBlock.AddressId != null) { client.AddressDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myLocBlock.AddressId.Value)); } } }
public void GetAddress() { using (var client = TestHelper.ClientGet()) { var result = client.AddressGetSingle(TestHelper.ApiKey, TestHelper.SiteKey, new AddressRequest { Id = _myAddressId }); Assert.AreEqual(_myAddressId, result.Id); Assert.AreEqual(MyAddressName, result.Name); } }
public void CleanupTest() { using (var client = TestHelper.ClientGet()) { var result = client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myContactId), 1); Debug.Assert(result.IsError == 0, "Could not delete contact. Check for the delete_contact permission of your API user."); } }
public void ChainedPhoneAndWebsiteCreate() { using (var client = TestHelper.ClientGet()) { // Create a contact, chain phone and website. var myPhone = new PhoneRequest { PhoneNumber = "03-100 20 00" }; var myWebsite = new WebsiteRequest { Url = "http://smurf.com" }; var result = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { ContactType = ContactType.Individual, LastName = "Smurf", FirstName = "Smul", ExternalIdentifier = "Test_External_Smurf", ApiOptions = new ApiOptions { Match = "external_identifier" }, PhoneSaveRequest = new List <PhoneRequest> { myPhone }, WebsiteSaveRequest = new List <WebsiteRequest> { myWebsite } }); // TODO: New workaround for upstream issue CRM-15815: Assert.IsNotNull(result.Id); // Get contact with websites var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { Id = result.Id.Value, PhoneGetRequest = new PhoneRequest(), WebsiteGetRequest = new WebsiteRequest(), }); // Delete contact before doing assertions. client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(result.Id.Value), 1); Assert.AreEqual(result.Id, contact.Id); Assert.AreEqual(1, contact.PhoneResult.Count); Assert.AreEqual(myPhone.PhoneNumber, contact.PhoneResult.Values.First().PhoneNumber); Assert.AreEqual(1, contact.WebsiteResult.Count); Assert.AreEqual(myWebsite.Url, contact.WebsiteResult.Values.First().Url); } }
public void GetEventDateFilterNotNull() { using (var client = TestHelper.ClientGet()) { var request = new EventRequest { StartDate = new Filter <DateTime?>(WhereOperator.IsNotNull) }; var result = client.EventGet(TestHelper.ApiKey, TestHelper.SiteKey, request); Assert.IsTrue(result.Values.All(v => v.StartDate != null)); } }
public void GetEventLocBlockFilterNull() { using (var client = TestHelper.ClientGet()) { var request = new EventRequest { LocBlockIdFilter = new Filter <int>(WhereOperator.IsNull) }; var result = client.EventGet(TestHelper.ApiKey, TestHelper.SiteKey, request); Assert.IsTrue(result.Values.All(v => v.LocBlockId == null)); } }
public void GetMembership() { var membershipRequest = new MembershipRequest { ContactId = _myContactId2 }; using (var client = TestHelper.ClientGet()) { var result = client.MembershipGet(TestHelper.ApiKey, TestHelper.SiteKey, membershipRequest); Assert.AreEqual(1, result.Count); } }
public void ChainedWebsiteCreateTwo() { using (var client = TestHelper.ClientGet()) { // Create a contact, chain website. var my1StWebsite = new WebsiteRequest { Url = "http://smurf.com" }; var my2NdWebsite = new WebsiteRequest { Url = "http://salsaparilla.org" }; var newContact = new ContactRequest { ContactType = ContactType.Individual, LastName = "Smurf", FirstName = "Smul", ExternalIdentifier = "Test_External_Smurf", ApiOptions = new ApiOptions { Match = "external_identifier" }, WebsiteSaveRequest = new List <WebsiteRequest> { my1StWebsite, my2NdWebsite }, }; var result = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey, newContact); Debug.Assert(result.Id.HasValue); // Get contact with websites var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { Id = result.Id.Value, WebsiteGetRequest = new WebsiteRequest() }); Assert.IsNotNull(contact.Id); // Clean up first (delete contact), then do other assertions. // (So the contact gets deleted even if the assertions fail.) client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(contact.Id), 1); Assert.IsNotNull(contact.Id); Assert.AreEqual(newContact.ExternalIdentifier, contact.ExternalIdentifier); Assert.AreEqual(2, contact.WebsiteResult.Count); Assert.IsTrue(contact.WebsiteResult.Values.Any(ws => ws.Url == my1StWebsite.Url)); Assert.IsTrue(contact.WebsiteResult.Values.Any(ws => ws.Url == my2NdWebsite.Url)); } }
public void GetEventDateFilter() { DateTime someDate = new DateTime(2015, 3, 14); using (var client = TestHelper.ClientGet()) { var request = new EventRequest { StartDate = new Filter <DateTime?> (WhereOperator.Gt, someDate) }; var result = client.EventGet(TestHelper.ApiKey, TestHelper.SiteKey, request); Assert.IsTrue(result.Values.All(v => v.StartDate > someDate)); } }
public void RelationshipDateFilter() { var membershipRequest = new MembershipRequest { ContactId = _myContactId2, StartDateFilter = new Filter <DateTime?>(WhereOperator.Gte, new DateTime(2016, 09, 21)) }; using (var client = TestHelper.ClientGet()) { var result = client.MembershipGet(TestHelper.ApiKey, TestHelper.SiteKey, membershipRequest); Assert.AreEqual(1, result.Count); } }
public void Contact1GetTest() { using (var client = TestHelper.ClientGet()) { // Get the contact, and chain the contact's addresses. var resultValue = client.ContactGet(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { Id = 1 }); Assert.AreEqual(0, resultValue.IsError); Assert.AreEqual(1, resultValue.Count); Assert.AreEqual(1, resultValue.Id); Assert.AreEqual(1, resultValue.Values.First().Id); } }
public void GetRelationship() { using (var client = TestHelper.ClientGet()) { var result = client.RelationshipGet(TestHelper.ApiKey, TestHelper.SiteKey, new RelationshipRequest { Id = _myRelationshipId }); var relationship = result.Values.First(); Assert.AreEqual(_myContactId, relationship.ContactIdA); Assert.AreEqual(_myCompanyId, relationship.ContactIdB); Assert.AreEqual(5, relationship.RelationshipTypeId); } }
public void GetMembershipStatusFilter() { var membershipRequest = new MembershipRequest { ContactId = _myContactId2, StatusFilter = new Filter <MembershipStatus>(WhereOperator.In, MembershipStatus.New, MembershipStatus.Current) }; using (var client = TestHelper.ClientGet()) { var result = client.MembershipGet(TestHelper.ApiKey, TestHelper.SiteKey, membershipRequest); Assert.AreEqual(1, result.Count); } }
public void RelationshipDateFilter2() { using (var client = TestHelper.ClientGet()) { var request = new RelationshipRequest { ContactIdB = _myCompanyId, EndDateFilter = new Filter <DateTime?>(WhereOperator.Lt, new DateTime(2016, 8, 7)) }; var result = client.RelationshipGet(TestHelper.ApiKey, TestHelper.SiteKey, request); Assert.AreEqual(0, result.Count); } }
public void ChainedOptionsWebsite() { using (var client = TestHelper.ClientGet()) { // Create a contact with two websites. var myWebsite1 = new WebsiteRequest { Url = "http://smurf1.com" }; var myWebsite2 = new WebsiteRequest { Url = "http://smurf2.com" }; var saveResult = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { ContactType = ContactType.Individual, LastName = "Smurf", FirstName = "Smul", ExternalIdentifier = "Test_External_Smurf", ApiOptions = new ApiOptions { Match = "external_identifier" }, WebsiteSaveRequest = new List <WebsiteRequest> { myWebsite1, myWebsite2 }, }); Assert.IsNotNull(saveResult.Id); // Get contact with websites, order them backwards, and retrieve only one. var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { Id = saveResult.Id.Value, WebsiteGetRequest = new WebsiteRequest { ApiOptions = new ApiOptions { Sort = "url DESC", Limit = 1 } } }); // Delete contact before doing assertions. client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(saveResult.Id.Value), 1); Assert.AreEqual(1, contact.WebsiteResult.Count); Assert.AreEqual(myWebsite2.Url, contact.WebsiteResult.Values.First().Url); } }
public void GetMembershipWithPayment() { var membershipRequest = new MembershipRequest { MembershipPaymentGetRequest = new MembershipPaymentRequest() }; using (var client = TestHelper.ClientGet()) { var result = client.MembershipGet(TestHelper.ApiKey, TestHelper.SiteKey, membershipRequest); Assert.IsTrue(result.Count >= 1); var first = result.Values.First(); Assert.IsNotNull(first.MembershipPaymentResult); } }
public void CreateWithChainedRelationship() { using (var client = TestHelper.ClientGet()) { var relationshipSaveRequest = new RelationshipRequest { RelationshipTypeId = 5, ContactIdB = 1, ContactIdAValueExpression = "$value.id" }; var contact = new ContactRequest { ContactType = ContactType.Individual, FirstName = "Lucky", LastName = "Luke", BirthDate = new DateTime(1946, 3, 3), Gender = Gender.Male, ExternalIdentifier = "test_ext_id_yep", RelationshipSaveRequest = new[] { relationshipSaveRequest }, ApiOptions = new ApiOptions { Match = "external_identifier" } }; var saveResult = client.ContactSave(TestHelper.ApiKey, TestHelper.SiteKey, contact); var getResult = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { Id = saveResult.Id, RelationshipGetRequest = new RelationshipRequest { ContactIdAValueExpression = "$value.id" } }); // Delete first (cleanup), check afterward. client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(saveResult.Id.Value), 1); Assert.AreEqual(0, saveResult.IsError); Assert.AreEqual(1, getResult.RelationshipResult.Count); var relationShip = getResult.RelationshipResult.Values.First(); Assert.AreEqual(relationshipSaveRequest.RelationshipTypeId, relationShip.RelationshipTypeId); Assert.AreEqual(relationshipSaveRequest.ContactIdB, relationShip.ContactIdB); } }
public void GetAddressWithLocBlock() { using (var client = TestHelper.ClientGet()) { var addressRequest = new AddressRequest { Id = _myLocBlock.AddressId, LocBlockGetRequest = new LocBlockRequest { AddressIdValueExpression = "$value.id" } }; var result = client.AddressGet(TestHelper.ApiKey, TestHelper.SiteKey, addressRequest); Assert.AreEqual(1, result.Count); Assert.AreEqual(_myLocBlock.Id, result.Values.First().LocBlockResult.Id); } }
public void DeceasedContactGet() { using (var client = TestHelper.ClientGet()) { var request = new ContactRequest { Id = _myDeceasedContactId }; var result = client.ContactGet(TestHelper.ApiKey, TestHelper.SiteKey, request); Assert.AreEqual(0, result.IsError); Assert.IsNotNull(result.Id); Assert.AreEqual(result.Id, result.Values.First().Id); Assert.AreEqual(_myDeceasedContactId, result.Id); } }
public void GetMembershipWithContact() { var membershipRequest = new MembershipRequest { ContactGetRequest = new ContactRequest(), ContactId = _myContactId2 }; using (var client = TestHelper.ClientGet()) { var result = client.MembershipGet(TestHelper.ApiKey, TestHelper.SiteKey, membershipRequest); Assert.IsTrue(result.Count >= 1); var first = result.Values.First(); Assert.IsNotNull(first.ContactResult); Assert.AreEqual(_myContactId2, first.ContactResult.Values.First().Id); } }
public void CleanupTest() { using (var client = TestHelper.ClientGet()) { client.RelationshipDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myRelationshipId)); client.RelationshipDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myOtherRelationshipId)); client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myContactId), 1); client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myOtherContactId), 1); client.ContactDelete(TestHelper.ApiKey, TestHelper.SiteKey, new DeleteRequest(_myCompanyId), 1); } }
public void ChainedAddressGet() { using (var client = TestHelper.ClientGet()) { var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { Id = _myContactId, // We don't need all fields of the contact, we are only interested in the // addresses. // ReturnFields are still in civicrm notation, meaning lowercase and // underscores (see issue #19) ReturnFields = "id", AddressGetRequest = new AddressRequest() }); Assert.IsTrue(contact.AddressResult.Values.Any(adr => adr.Id == _myAddressId)); } }
public void InitializeTest() { using (var client = TestHelper.ClientGet()) { var locBlockRequest = new LocBlockRequest { Address = new AddressRequest { StreetAddress = "Kipdorp 30", PostalCode = "2000", City = "Antwerpen", CountryId = 1020, // Belgium LocationTypeId = 1, Name = MyAddressName } }; _myLocBlock = client.LocBlockSave(TestHelper.ApiKey, TestHelper.SiteKey, locBlockRequest).Values.First(); } }
public void ChainedCommunicationGet() { using (var client = TestHelper.ClientGet()) { var contact = client.ContactGetSingle(TestHelper.ApiKey, TestHelper.SiteKey, new ContactRequest { ExternalIdentifier = MyExternalId, PhoneGetRequest = new PhoneRequest(), EmailGetRequest = new EmailRequest(), WebsiteGetRequest = new WebsiteRequest(), ImGetRequest = new ImRequest() }); Assert.IsTrue(contact.PhoneResult.Values.Any(src => src.Id == _myPhoneId)); Assert.IsTrue(contact.EmailResult.Values.Any(src => src.Id == _myEmailId)); Assert.IsTrue(contact.WebsiteResult.Values.Any(src => src.Id == _myWebsiteId)); Assert.IsTrue(contact.ImResult.Values.Any(src => src.Id == _myImId)); } }
public void CreateWebsite() { using (var client = TestHelper.ClientGet()) { var website = new WebsiteRequest { ContactId = _myContactId, Url = "http://blog.johanv.org", WebsiteType = WebsiteType.Main }; var result = client.WebsiteSave(TestHelper.ApiKey, TestHelper.SiteKey, website); Assert.AreEqual(0, result.IsError); Assert.AreEqual(website.ContactId, result.Values.First().ContactId); Assert.AreEqual(website.Url, result.Values.First().Url); Assert.AreEqual(website.WebsiteType, result.Values.First().WebsiteType); } }