All Generted Objects such as Contact, Case, Leads etc have access to Typed functions that interact with Salesforce.
The following examples use Contact, but equally work with Case, Lead etc. e.g. SalesforceRequests.Case.getObjectById(case.Id)
See the Salesforce Objects API for more information on the available functions.
//create-contact.spec.ts
import { expect,test } from '@playwright/test';
import { SalesforceRequests } from '../requests/SalesforceRequests.js';
test(`Create and Retrieve a Salesforce Contact`, async ()) => {
//Create and Retrieve the Contact in Salesforce
let contact = await SalesforceRequests.Contact.createAndGetObject(
{LastName: "Hodge", FirstName: "Janie", Email: "Janie.Hodge@example.com"})
console.log(`New Salesforce Contact Id: ${contact.Id}`);
//Playwright Assertion
expect(contact.id).toBeTruthy();
});
npx playwright test create-contact.spec.ts
Config file: ./config-dev.env
Getting ACCESS TOKEN from Salesforce using Grant Type 'client_credentials'
SALESFORCE_USER_ID: 005QE000008ajoWXYZ
SALESFORCE_SERVICE_URL: https://data-inspiration-1234.my.salesforce.com
SALESFORCE_API_VERSION: v63.0
Running 1 test using 1 worker
Config file: ./config-dev.env
[chromium] › tests\create-contact.spec.ts:5:1 › Create and Retrieve a Salesforce Contact
New Salesforce Contact Id: 003QE00000CM2ViYAL
1 passed (4.5s)
contact = await SalesforceRequests.Contact.getObjectById(contact.Id)
contact = await SalesforceRequests.Contact.getObjectByField(Contact.Email, email)
contact = await SalesforceRequests.Contact.getObjectByWhere(`email = '${email}'`)
contact = await SalesforceRequests.Contact.getObjectArrayByField(Contact.Email, contact.Email)
contact = await SalesforceRequests.Contact.getObjectArrayByWhere(`email = '${email}'`))[0]
contact = await SalesforceRequests.Contact.getObjectWhenField(Contact.Email, email)
contact = await SalesforceRequests.Contact.getObjectWhenWhere(`email = '${email}'`)
contact = await SalesforceRequests.Contact.getThisObjectWhenField(contact, Contact.Email, contact.Email)
contact = await SalesforceRequests.Contact.getThisObjectWhenFieldNOTNull(contact, Contact.Email)
contact = await SalesforceRequests.Contact.getThisObjectWhenFieldNull(contact, Contact.Fax)
contact = await SalesforceRequests.Contact.getThisObjectWhenFieldNOTEqualsValue(contact, Contact.Email, 'xxx')
await SalesforceRequests.Contact.ensureNoObjectExistsById("xxx");
await SalesforceRequests.Contact.ensureNoObjectExistsByField(Contact.Email, 'xxx');
await SalesforceRequests.Contact.ensureNoObjectExistsByWhere(`email = 'xxx'`);
contact = await SalesforceRequests.Contact.updateAndGetObject(contact.Id, updateContactData);
await SalesforceRequests.Contact.deleteObjectById(contact.Id);