See PayPal Developer documentation for more information.
public void PlanUpdateTest() { try { var apiContext = TestingUtil.GetApiContext(); this.RecordConnectionDetails(); // Get a test plan for updating purposes. var plan = GetPlan(); var createdPlan = plan.Create(apiContext); this.RecordConnectionDetails(); var planId = createdPlan.id; // Create the patch request and update the description to a random value. var updatedDescription = Guid.NewGuid().ToString(); var patch = new Patch { op = "replace", path = "/", value = new Plan { description = updatedDescription } }; var patchRequest = new PatchRequest { patch }; // Update the plan. createdPlan.Update(apiContext, patchRequest); this.RecordConnectionDetails(); // Verify the plan was updated successfully. var updatedPlan = Plan.Get(apiContext, planId); this.RecordConnectionDetails(); Assert.AreEqual(planId, updatedPlan.id); Assert.AreEqual(updatedDescription, updatedPlan.description); } catch (ConnectionException) { this.RecordConnectionDetails(false); throw; } }
public void AgreementUpdateTest() { // Get the agreement to be used for verifying the update functionality var apiContext = TestingUtil.GetApiContext(); var agreementId = "I-HP4H4YJFCN07"; var agreement = Agreement.Get(apiContext, agreementId); // Create an update for the agreement var updatedDescription = Guid.NewGuid().ToString(); var patch = new Patch(); patch.op = "replace"; patch.path = "/"; patch.value = new Agreement() { description = updatedDescription }; var patchRequest = new PatchRequest(); patchRequest.Add(patch); // Update the agreement agreement.Update(apiContext, patchRequest); // Verify the agreement was successfully updated var updatedAgreement = Agreement.Get(apiContext, agreementId); Assert.AreEqual(agreementId, updatedAgreement.id); Assert.AreEqual(updatedDescription, updatedAgreement.description); }
public void WebProfilePartialUpdateTest() { try { var apiContext = TestingUtil.GetApiContext(); this.RecordConnectionDetails(); // Create a new profile var profileName = Guid.NewGuid().ToString(); var profile = WebProfileTest.GetWebProfile(); profile.name = profileName; var createdProfile = profile.Create(apiContext); this.RecordConnectionDetails(); // Get the profile object for the new profile profile = WebProfile.Get(apiContext, createdProfile.id); this.RecordConnectionDetails(); // Partially update the profile var newName = "New " + profileName; var patch1 = new Patch { op = "add", path = "/presentation/brand_name", value = newName }; var patch2 = new Patch { op = "remove", path = "/flow_config/landing_page_type" }; var patchRequest = new PatchRequest { patch1, patch2 }; profile.PartialUpdate(apiContext, patchRequest); this.RecordConnectionDetails(); // Get the profile again and verify it was successfully updated via the patch commands. var retrievedProfile = WebProfile.Get(apiContext, profile.id); this.RecordConnectionDetails(); Assert.AreEqual(newName, retrievedProfile.presentation.brand_name); Assert.IsTrue(string.IsNullOrEmpty(retrievedProfile.flow_config.landing_page_type)); // Delete the profile profile.Delete(apiContext); this.RecordConnectionDetails(); } catch(ConnectionException) { this.RecordConnectionDetails(false); throw; } }