Open iamEAP opened 4 years ago
Some sample UAT scenarios:
scenario: Static List Membership
description: Proves list membership check works for static lists
tokens:
test.email: static-pi@example.com
steps:
- step: Given I navigate to http://go.pardot.com/l/811013/2019-10-16/3mxyx
- step: And I fill out .qat-email-address input with {{test.email}}
- step: And I submit the form by clicking input[type="submit"]
- step: When I navigate to http://go.pardot.com/emailPreference/e/epc/811013/73l8a8WE9ADUxfXqsuccHNdSbUtyYnSPsF84xjhVW0g/411
- step: And I fill out input#list_20395 with 1
- step: And I submit the form by clicking input[type="submit"]
- step: Then the {{test.email}} Pardot Prospect should be opted in to list 20395
- step: Finally, delete the {{test.email}} Pardot Prospect
scenario: Dynamic List Membership
description: Proves list membership check works for dynamic lists
tokens:
test.email: dynamic@example.com
steps:
- step: Given I create a Pardot Prospect
data:
prospect:
email: '{{test.email}}'
utm_campaign: DynamicSubscribe
- step: Then the {{test.email}} Pardot Prospect should be opted in to list 20397
- step: Finally, delete the {{test.email}} Pardot Prospect
What / Why
As a Crank user, I should be able to check that a Pardot Prospect is a member of a list and whether or not the Prospect is opted out.
Proposed Step Name: Check Pardot List Membership Proposed Step Expression:
the (?<email>.+) pardot prospect should (?<optInOut>(be opted in to|be opted out of|not be a member of)) list (?<listId>.+)
Proposed Step Fields:
email
(typeEMAIL
), the email address of the prospectoptInOut
(typeSTRING
), one ofbe opted in to
,be opted out of
, ornot be a member of
listId
(typeNUMERIC
), the ID of the pardot listProposed Step Records
listMembership
(typeKeyValue
, namedList Membership
), returned regardless of outcome anytime a ListMembership record is found. Guaranteed fields should include:id
(typeNUMERIC
)list_id
(typeNUMERIC
)prospect_id
(typeNUMERIC
)opted_out
(typeBOOLEAN
)created_at
(typeDATETIME
)updated_at
(typeDATETIME
)Proposed Resolution
listId
andprospectId
Outcomes
optInOut
is set tobe opted in to
Prospect %s is not a member of list %d.
opted_out
field is false-y (e.g. not set orfalse
or0
)opted_out
property is truth-y, the step should fail:Expected prospect %s to be opted in to list %d, but the prospect is opted out.
optInOut
is set tobe opted out of
Prospect %s is not a member of list %d.
opted_out
is truth-y (e.g. set to1
).opted_out
property is false-y, the step should fail:Expected prospect %s to be opted out of list %d, but the prospect is opted in.
optInOut
is set tonot be a member of
opted_out
property, the step should fail:Expected prospect %s to not be a member of list %d, but a list membership was found.
No prospect found for email %s