Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@


# Critical Changes

# Changes

# Issues Closed
53 changes: 53 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# CCI
.cci
/src.orig
/src

# Python
*.pyc
__pycache__

# Robot Framework results
robot/solution/results/

# Salesforce cache
.sf/
.sfdx/
.localdevserver/
deploy-options.json

# LWC VSCode autocomplete
**/lwc/jsconfig.json

# LWC Jest coverage reports
coverage/

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Dependency directories
node_modules/

# Eslint cache
.eslintcache

# MacOS system files
.DS_Store

# Windows system files
Thumbs.db
ehthumbs.db
[Dd]esktop.ini
$RECYCLE.BIN/

# Editors
*.sublime-project
*.sublime-workspace
.vscode
.idea
.project
.settings
26 changes: 26 additions & 0 deletions cumulusci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
minimum_cumulusci_version: '3.85.0'
project:
name: solution
package:
name: solution
namespace: solution
api_version: '60.0'
git:
default_branch: 'main'
source_format: sfdx

tasks:
robot:
options:
suites: robot/solution/tests
options:
outputdir: robot/solution/results

robot_testdoc:
options:
path: robot/solution/tests
output: robot/solution/doc/solution_tests.html

run_tests:
options:
required_org_code_coverage_percent: 75
45 changes: 45 additions & 0 deletions datasets/mapping.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
Insert Accounts:
sf_object: Account
table: Account
fields:
Name: Name
Description: Description
BillingStreet: BillingStreet
BillingCity: BillingCity
BillingState: BillingState
BillingPostalCode: BillingPostalCode
BillingCountry: BillingCountry
ShippingStreet: ShippingStreet
ShippingCity: ShippingCity
ShippingState: ShippingState
ShippingPostalCode: ShippingPostalCode
ShippingCountry: ShippingCountry
Phone: Phone
Fax: Fax
Website: Website
NumberOfEmployees: NumberOfEmployees
AccountNumber: AccountNumber
Site: Site
Type: Type
Insert Contacts:
sf_object: Contact
table: Contact
fields:
Salutation: Salutation
FirstName: FirstName
LastName: LastName
Email: Email
Phone: Phone
MobilePhone: MobilePhone
OtherPhone: OtherPhone
HomePhone: HomePhone
Title: Title
Birthdate: Birthdate
MailingStreet: MailingStreet
MailingCity: MailingCity
MailingState: MailingState
MailingPostalCode: MailingPostalCode
MailingCountry: MailingCountry
lookups:
AccountId:
table: Account
20 changes: 20 additions & 0 deletions orgs/beta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"orgName": "solution - Beta Test Org",
"edition": "Developer",
"settings": {
"lightningExperienceSettings": {
"enableS1DesktopEnabled": true
},
"chatterSettings": {
"enableChatter": true
},
"userManagementSettings": {
"enableNewProfileUI": true
},
"securitySettings": {
"enableAdminLoginAsAnyUser": true,
"sessionSettings": {
"forceRelogin": false
}
} }
}
24 changes: 24 additions & 0 deletions orgs/dev.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"orgName": "solution - Dev Org",
"edition": "Developer",
"settings": {
"lightningExperienceSettings": {
"enableS1DesktopEnabled": true
},
"chatterSettings": {
"enableChatter": true
},
"userManagementSettings": {
"enableNewProfileUI": true
},
"securitySettings": {
"enableAdminLoginAsAnyUser": true,
"sessionSettings": {
"forceRelogin": false
}
},
"languageSettings": {
"enableTranslationWorkbench": true
}
}
}
24 changes: 24 additions & 0 deletions orgs/feature.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"orgName": "solution - Feature Test Org",
"edition": "Developer",
"settings": {
"lightningExperienceSettings": {
"enableS1DesktopEnabled": true
},
"chatterSettings": {
"enableChatter": true
},
"userManagementSettings": {
"enableNewProfileUI": true
},
"securitySettings": {
"enableAdminLoginAsAnyUser": true,
"sessionSettings": {
"forceRelogin": false
}
},
"languageSettings": {
"enableTranslationWorkbench": true
}
}
}
20 changes: 20 additions & 0 deletions orgs/release.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"orgName": "solution - Release Test Org",
"edition": "Enterprise",
"settings": {
"lightningExperienceSettings": {
"enableS1DesktopEnabled": true
},
"chatterSettings": {
"enableChatter": true
},
"userManagementSettings": {
"enableNewProfileUI": true
},
"securitySettings": {
"enableAdminLoginAsAnyUser": true,
"sessionSettings": {
"forceRelogin": false
}
} }
}
59 changes: 59 additions & 0 deletions robot/solution/tests/create_contact.robot
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
*** Settings ***

Resource cumulusci/robotframework/Salesforce.robot
Library cumulusci.robotframework.PageObjects

Suite Setup Open Test Browser
Suite Teardown Delete Records and Close Browser


*** Test Cases ***

Via API
${first_name} = Get fake data first_name
${last_name} = Get fake data last_name

${contact_id} = Salesforce Insert Contact
... FirstName=${first_name}
... LastName=${last_name}

&{contact} = Salesforce Get Contact ${contact_id}
Validate Contact ${contact_id} ${first_name} ${last_name}

Via UI
${first_name} = Get fake data first_name
${last_name} = Get fake data last_name

Go to page Home Contact
Click Object Button New
Wait for modal New Contact

Populate Form
... First Name=${first_name}
... Last Name=${last_name}
Click Modal Button Save

Wait Until Modal Is Closed

${contact_id} = Get Current Record Id
Store Session Record Contact ${contact_id}
Validate Contact ${contact_id} ${first_name} ${last_name}


*** Keywords ***

Validate Contact
[Arguments] ${contact_id} ${first_name} ${last_name}
[Documentation]
... Given a contact id, validate that the contact has the
... expected first and last name both through the detail page in
... the UI and via the API.

# Validate via UI
Go to page Detail Contact ${contact_id}
Page Should Contain ${first_name} ${last_name}

# Validate via API
&{contact} = Salesforce Get Contact ${contact_id}
Should Be Equal ${first_name} ${contact}[FirstName]
Should Be Equal ${last_name} ${contact}[LastName]
1 change: 1 addition & 0 deletions sfdx-project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"packageDirectories": [{"path": "force-app", "default": true}], "namespace": "solution", "sourceApiVersion": "60.0"}