Skip to content

Commit

Permalink
Merge pull request SalesforceFoundation#99 from SalesforceFoundation/…
Browse files Browse the repository at this point in the history
…feature/robot_disbursementpermission

[Robot] Disbursement permission test
  • Loading branch information
gaganpsandhu authored Mar 20, 2021
2 parents 43db142 + ceb6321 commit 7ceb935
Show file tree
Hide file tree
Showing 5 changed files with 324 additions and 0 deletions.
17 changes: 17 additions & 0 deletions cumulusci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,19 @@ tasks:
package_xml: lib/admin.profile-meta.xml
include_packaged_objects: true

create_perms_testing_user:
description: Creates a test user for testing permissions.
class_path: cumulusci.tasks.sfdx.SFDXOrgTask
options:
command: "force:user:create -a permtest --definitionfile robot/OutboundFunds/resources/qa_org/users/perms_test_user.json"

deploy_qa_config:
description: Deploys additional fields used for QA purposes only
class_path: cumulusci.tasks.salesforce.Deploy
group: Salesforce Metadata
options:
path: robot/OutboundFunds/resources/unpackaged/qa

flows:
config_dev:
steps:
Expand All @@ -63,6 +76,10 @@ flows:
steps:
3:
task: load_dataset
4:
task: deploy_qa_config
5:
task: create_perms_testing_user

dev_org_2gp:
steps:
Expand Down
13 changes: 13 additions & 0 deletions robot/OutboundFunds/resources/qa_org/users/perms_test_user.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"FirstName": "PermsTestingUser",
"LastName": "ForDisbursement",
"Email": "testingperms@sfdx.org",
"Alias": "permtest",
"TimeZoneSidKey": "America/Los_Angeles",
"LocaleSidKey": "en_US",
"EmailEncodingKey": "UTF-8",
"LanguageLocaleKey": "en_US",
"profileName": "Standard User",
"generatePassword": true,
"permsets": ["Disbursements"]
}
8 changes: 8 additions & 0 deletions robot/OutboundFunds/resources/unpackaged/qa/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Disbursements</members>
<name>PermissionSet</name>
</types>
<version>50.0</version>
</Package>
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
<?xml version="1.0" encoding="UTF-8"?>
<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
<applicationVisibilities>
<application>%%%NAMESPACE%%%Outbound_Funds</application>
<visible>true</visible>
</applicationVisibilities>
<classAccesses>
<apexClass>%%%NAMESPACE%%%DatabaseService</apexClass>
<enabled>true</enabled>
</classAccesses>
<classAccesses>
<apexClass>%%%NAMESPACE%%%FundingRequestSelector</apexClass>
<enabled>true</enabled>
</classAccesses>
<classAccesses>
<apexClass>%%%NAMESPACE%%%disbursementsCreateController</apexClass>
<enabled>true</enabled>
</classAccesses>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Disbursement__c.%%%NAMESPACE%%%Amount__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Disbursement__c.%%%NAMESPACE%%%Disbursement_Date__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Disbursement__c.%%%NAMESPACE%%%Disbursement_Method__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Disbursement__c.%%%NAMESPACE%%%Scheduled_Date__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Disbursement__c.%%%NAMESPACE%%%Status__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Disbursement__c.%%%NAMESPACE%%%Type__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Program__c.%%%NAMESPACE%%%Description__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Program__c.%%%NAMESPACE%%%End_Date__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Program__c.%%%NAMESPACE%%%Funding_Program_Manager__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Program__c.%%%NAMESPACE%%%Parent_Funding_Program__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Program__c.%%%NAMESPACE%%%Start_Date__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Program__c.%%%NAMESPACE%%%Status__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Program__c.%%%NAMESPACE%%%Top_Level__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Program__c.%%%NAMESPACE%%%Total_Program_Amount__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Application_Date__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Applying_Contact__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Applying_Employee__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Applying_Organization__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Awarded_Amount__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Awarded_Date__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Close_Date__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Closed_reason__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%FundingProgram__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Geographical_Area_Served__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Population_Served__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Recommended_Amount__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Requested_Amount__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Requested_For__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Status__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Term_End_Date__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Term_Start_Date__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Terms__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Total_Cancelled__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Total_Disbursed__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Total_Remaining__c</field>
<readable>true</readable>
</fieldPermissions>
<fieldPermissions>
<editable>false</editable>
<field>%%%NAMESPACE%%%Funding_Request__c.%%%NAMESPACE%%%Unpaid_Disbursements__c</field>
<readable>true</readable>
</fieldPermissions>
<hasActivationRequired>false</hasActivationRequired>
<label>Disbursements</label>
<objectPermissions>
<allowCreate>false</allowCreate>
<allowDelete>false</allowDelete>
<allowEdit>false</allowEdit>
<allowRead>true</allowRead>
<modifyAllRecords>false</modifyAllRecords>
<object>%%%NAMESPACE%%%Disbursement__c</object>
<viewAllRecords>false</viewAllRecords>
</objectPermissions>
<objectPermissions>
<allowCreate>false</allowCreate>
<allowDelete>false</allowDelete>
<allowEdit>false</allowEdit>
<allowRead>true</allowRead>
<modifyAllRecords>false</modifyAllRecords>
<object>%%%NAMESPACE%%%Funding_Program__c</object>
<viewAllRecords>false</viewAllRecords>
</objectPermissions>
<objectPermissions>
<allowCreate>false</allowCreate>
<allowDelete>false</allowDelete>
<allowEdit>false</allowEdit>
<allowRead>true</allowRead>
<modifyAllRecords>false</modifyAllRecords>
<object>%%%NAMESPACE%%%Funding_Request__c</object>
<viewAllRecords>false</viewAllRecords>
</objectPermissions>
<tabSettings>
<tab>%%%NAMESPACE%%%Funding_Program__c</tab>
<visibility>Visible</visibility>
</tabSettings>
<tabSettings>
<tab>%%%NAMESPACE%%%Funding_Request__c</tab>
<visibility>Visible</visibility>
</tabSettings>
</PermissionSet>
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
*** Settings ***
Documentation User with Read Only Access should not be able to Create a Disbursement
Resource robot/OutboundFunds/resources/OutboundFunds.robot
Library cumulusci.robotframework.PageObjects
... robot/OutboundFunds/resources/FundingRequestPageObject.py
... robot/OutboundFunds/resources/OutboundFunds.py

Suite Setup Run keywords
... Open test browser useralias=${test_user} AND
... Setup Test Data
Suite Teardown Capture Screenshot And Delete Records And Close Browser

*** Variables ***
${test_user} permtest

*** Keywords ***
Setup Test Data
[Documentation] Create data to run tests
${ns} = Get Outfunds Namespace Prefix
Set Suite Variable ${ns}
${fundingprogram} = API Create Funding Program
Set suite variable ${fundingprogram}
${contact} = API Create Contact
Store Session Record Contact ${contact}[Id]
Set suite variable ${contact}
${funding_request} = API Create Funding Request
... ${fundingprogram}[Id] ${contact}[Id]
... ${ns}Status__c=Awarded
... ${ns}Awarded_Amount__c=100000
Store Session Record ${ns}Funding_Request__c ${funding_request}[Id]
Set suite variable ${funding_request}

*** Test Case ***
Disbursement FLS Check
[Documentation] Login as User who only have read access
... to Disbursements Object and Verify
... that user cannot save a disbursement
[tags] W-9027758 feature:FundingRequest
Go To Page Details Funding_Request__c
... object_id=${funding_request}[Id]
Wait Until Loading Is Complete
Click Button Create Disbursements
wait until modal is open
Populate Field Number of Disbursements 4
Populate Field Interval 4
Populate Field Amount 80000
click button Calculate
Wait Until Element Is Visible text:Scheduled Date
Save Disbursement
Wait Until Element Is Visible text:Error

0 comments on commit 7ceb935

Please sign in to comment.