salesforce-appraiser-review.../docs/DEPLOYMENT_AND_TESTING.md

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._