83 lines
3.0 KiB
Markdown
83 lines
3.0 KiB
Markdown
# Deployment & Testing — Appraiser Review Letter
|
|
|
|
## Implemented Salesforce Metadata
|
|
- Parent object: Appraiser_Case__c (label: Appraiser Case)
|
|
- Name field (auto number): Appraiser Case Number (AC-{00000})
|
|
- Fields on Appraiser Case:
|
|
- Appraiser_Field_Review_Date__c (Date)
|
|
- Property_Address__c (Text 255)
|
|
- Child object for repeatable deficiencies: Appraiser_Case_Deficiency__c
|
|
- Fields on Appraiser Case Deficiency:
|
|
- Appraiser_Case__c (Master-Detail to Appraiser_Case__c)
|
|
- Deficiency_Number__c (Number)
|
|
- Description__c (Long Text Area)
|
|
- Resolution__c (Long Text Area)
|
|
- Permission set: Appraiser_Case_Access
|
|
- Apex Classes:
|
|
- AppraiserCasePayloadBuilder: Transforms Salesforce data to CLM merge payload
|
|
- AppraiserCasePayloadBuilderTest: Unit tests for payload builder
|
|
- CLMDocGenCallout: HTTP integration with DocuSign CLM API
|
|
|
|
## Deployment Steps
|
|
1. Deploy custom objects & fields
|
|
2. Deploy Apex classes (included in manifest)
|
|
3. Configure Named Credentials for CLM API access
|
|
4. Configure Remote Site Settings for CLM instance
|
|
5. Map merge fields to object schema
|
|
6. Configure CLM template and connect API
|
|
7. Test with sample Appraiser Case records
|
|
|
|
### Suggested CLI Deploy Commands
|
|
1. Authenticate to your org:
|
|
- sf org login web --alias appraiser-dev
|
|
2. Validate source deploy:
|
|
- sf project deploy validate --target-org appraiser-dev --manifest manifest/package.xml
|
|
3. Deploy metadata:
|
|
- sf project deploy start --target-org appraiser-dev --manifest manifest/package.xml
|
|
|
|
---
|
|
|
|
## Testing Workflow
|
|
- Use sample JSON payloads (see requirements.md)
|
|
- Validate conditional logic—test both existence and missing data
|
|
- Test table rendering for arrays (DeficiencyList, ReviewerComments)
|
|
- Document any failed merges or formatting gaps
|
|
|
|
## CLM Data Mapping Starter
|
|
- AppraiserCaseNumber -> Appraiser_Case__c.Name
|
|
- AppraiserFieldReviewDate -> Appraiser_Case__c.Appraiser_Field_Review_Date__c
|
|
- PropertyAddress -> Appraiser_Case__c.Property_Address__c
|
|
- DeficiencyList[] -> Appraiser_Case__c.Deficiencies__r
|
|
- deficiencyNumber -> Deficiency_Number__c
|
|
- description -> Description__c
|
|
- resolution -> Resolution__c
|
|
|
|
## Smoke Test Execution
|
|
After deployment, sample test data was created:
|
|
- Appraiser Case: AC-00001 (a0wKW000007OIiCYAW)
|
|
- 3 related deficiency records verified
|
|
|
|
### Test Payload Query (run in Apex Execute or Query Editor)
|
|
```soql
|
|
SELECT Id, Name, Appraiser_Field_Review_Date__c, Property_Address__c,
|
|
(SELECT Id, Deficiency_Number__c, Description__c, Resolution__c
|
|
FROM Deficiencies__r ORDER BY Deficiency_Number__c)
|
|
FROM Appraiser_Case__c
|
|
WHERE Id='a0wKW000007OIiCYAW'
|
|
```
|
|
|
|
### Test Payload Generation (Apex)
|
|
```apex
|
|
String caseId = 'a0wKW000007OIiCYAW';
|
|
Map<String, Object> payload = AppraiserCasePayloadBuilder.buildPayload(caseId);
|
|
System.debug(JSON.serializePretty(payload));
|
|
```
|
|
|
|
## CLM Doc Gen Integration
|
|
See [CLM_INTEGRATION.md](CLM_INTEGRATION.md) for complete setup and integration patterns.
|
|
|
|
---
|
|
|
|
_Last updated: 2026-02-26 13:26 PM_
|
|
_Work in progress: Add test cases and troubleshooting checklist._
|