public void SalesforceClientAdd() { // Arrange var service = new SalesforceClient(ConsumerKey, ConsumerSecret, RefreshToken); var ticks = DateTime.UtcNow.Ticks; var contact = new Contact { LastName = "TestContact", FirstName = ticks.ToString(), Email = "testcontact+" + ticks + "@gmail.com" }; // Act var id = service.Add<Contact>(contact); // Assert Assert.NotNull(id); Assert.AreEqual(id, contact.Id); }
public void SalesforceClientAddAndDelete() { // Arrange var service = new SalesforceClient(ConsumerKey, ConsumerSecret, RefreshToken); var ticks = DateTime.UtcNow.Ticks; var contact = new { LastName = "TestContact", FirstName = ticks, Email = "testcontact+" + ticks + "@gmail.com" }; // Act var id = service.Add<Contact>(contact); // Assert Assert.NotNull(id); // Act service.Delete<Contact>(id); // Assert }
public void SalesforceClientAddFails() { // Arrange var service = new SalesforceClient(ConsumerKey, ConsumerSecret, RefreshToken); var ticks = DateTime.UtcNow.Ticks; var contact = new { NonExistingField = "TestContact", FirstName = ticks, Email = "testcontact+" + ticks + "@gmail.com" }; // Act // Assert var exception = Assert.Throws<SalesforceException>(() => service.Add<Contact>(contact)); Assert.AreEqual(HttpStatusCode.BadRequest, exception.StatusCode); }
public void SalesforceClientAddValidatesNull() { // Arrange var service = new SalesforceClient(ConsumerKey, ConsumerSecret, RefreshToken); // Act // Assert Assert.Throws<ArgumentNullException>(() => service.Add<Account>(null)); }
public void ReadmeTest() { // Instantiate the client using a RefreshToken var service = new SalesforceClient(ConsumerKey, ConsumerSecret, RefreshToken); //----------------------------------------------------------------------------- // Queries //----------------------------------------------------------------------------- // Execute a SOQL query IList<Contact> contacts = service.Query<Contact>("SELECT id, name from Contact"); // Iterate through the records returned. foreach (Contact account in contacts) { Console.WriteLine(account.Name); } //----------------------------------------------------------------------------- // CRUD Operations //----------------------------------------------------------------------------- // Add a new record using annonymous object var id = service.Add<Contact>(new { FirstName = "John", LastName = "Smith" }); // Add a new record using POCO object id = service.Add<Contact>(new Contact { FirstName = "John", LastName = "Smith" }); // Read a record Contact contact = service.Get<Contact>(id); // Update a record using POCO object (null values are not serialized) contact.Email = "*****@*****.**"; service.Update<Contact>(contact); // Update a record using annonymous object service.Update<Contact>(new { Email = "*****@*****.**" }, id); // Delete a record service.Delete<Contact>(id); //----------------------------------------------------------------------------- // Error Handling //----------------------------------------------------------------------------- try { service.Add<Contact>(new { Name = "Read-only property" }); } catch (SalesforceException e) { Console.WriteLine("ErrorCode={0}; StatusCode={1}; Message={2}", e.ErrorCode, e.StatusCode, e.Message); // Output: // ErrorCode=INVALID_FIELD_FOR_INSERT_UPDATE; // StatusCode=BadRequest; // Message=Unable to create/update fields: Name. Please check the security settings of this field // and verify that it is read/write for your profile or permission set. // TODO: handle the exception } }