-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d854697
commit 2283fe9
Showing
17 changed files
with
510 additions
and
0 deletions.
There are no files selected for viewing
8 changes: 8 additions & 0 deletions
8
...tripe/Flow Testcases/Variation Cases/Scenario10-Refund exceeds amount captured/.meta.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{ | ||
"childrenOrder": [ | ||
"Payments - Create", | ||
"Payments - Capture", | ||
"Payments - Retrieve", | ||
"Refunds - Create" | ||
] | ||
} |
3 changes: 3 additions & 0 deletions
3
...ation Cases/Scenario10-Refund exceeds amount captured/Payments - Capture/.event.meta.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"eventOrder": ["event.test.js"] | ||
} |
94 changes: 94 additions & 0 deletions
94
...ariation Cases/Scenario10-Refund exceeds amount captured/Payments - Capture/event.test.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
// Validate status 2xx | ||
pm.test("[POST]::/payments/:id/capture - Status code is 2xx", function () { | ||
pm.response.to.be.success; | ||
}); | ||
|
||
// Validate if response header has matching content-type | ||
pm.test( | ||
"[POST]::/payments/:id/capture - Content-Type is application/json", | ||
function () { | ||
pm.expect(pm.response.headers.get("Content-Type")).to.include( | ||
"application/json", | ||
); | ||
}, | ||
); | ||
|
||
// Validate if response has JSON Body | ||
pm.test("[POST]::/payments/:id/capture - Response has JSON Body", function () { | ||
pm.response.to.have.jsonBody(); | ||
}); | ||
|
||
// Set response object as internal variable | ||
let jsonData = {}; | ||
try { | ||
jsonData = pm.response.json(); | ||
} catch (e) {} | ||
|
||
// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id | ||
if (jsonData?.payment_id) { | ||
pm.collectionVariables.set("payment_id", jsonData.payment_id); | ||
console.log( | ||
"- use {{payment_id}} as collection variable for value", | ||
jsonData.payment_id, | ||
); | ||
} else { | ||
console.log( | ||
"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.", | ||
); | ||
} | ||
|
||
// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id | ||
if (jsonData?.mandate_id) { | ||
pm.collectionVariables.set("mandate_id", jsonData.mandate_id); | ||
console.log( | ||
"- use {{mandate_id}} as collection variable for value", | ||
jsonData.mandate_id, | ||
); | ||
} else { | ||
console.log( | ||
"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.", | ||
); | ||
} | ||
|
||
// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret | ||
if (jsonData?.client_secret) { | ||
pm.collectionVariables.set("client_secret", jsonData.client_secret); | ||
console.log( | ||
"- use {{client_secret}} as collection variable for value", | ||
jsonData.client_secret, | ||
); | ||
} else { | ||
console.log( | ||
"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.", | ||
); | ||
} | ||
|
||
// Response body should have value "succeeded" for "status" | ||
if (jsonData?.status) { | ||
pm.test( | ||
"[POST]:://payments/:id/capture - Content check if value for 'status' matches 'partially_captured'", | ||
function () { | ||
pm.expect(jsonData.status).to.eql("partially_captured"); | ||
}, | ||
); | ||
} | ||
|
||
// Response body should have value "6540" for "amount" | ||
if (jsonData?.amount) { | ||
pm.test( | ||
"[post]:://payments/:id/capture - Content check if value for 'amount' matches '6540'", | ||
function () { | ||
pm.expect(jsonData.amount).to.eql(6540); | ||
}, | ||
); | ||
} | ||
|
||
// Response body should have value "6000" for "amount_received" | ||
if (jsonData?.amount_received) { | ||
pm.test( | ||
"[POST]::/payments:id/capture - Content check if value for 'amount_received' matches '6000'", | ||
function () { | ||
pm.expect(jsonData.amount_received).to.eql(6000); | ||
}, | ||
); | ||
} |
39 changes: 39 additions & 0 deletions
39
...Variation Cases/Scenario10-Refund exceeds amount captured/Payments - Capture/request.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
{ | ||
"method": "POST", | ||
"header": [ | ||
{ | ||
"key": "Content-Type", | ||
"value": "application/json" | ||
}, | ||
{ | ||
"key": "Accept", | ||
"value": "application/json" | ||
} | ||
], | ||
"body": { | ||
"mode": "raw", | ||
"options": { | ||
"raw": { | ||
"language": "json" | ||
} | ||
}, | ||
"raw_json_formatted": { | ||
"amount_to_capture": 6000, | ||
"statement_descriptor_name": "Joseph", | ||
"statement_descriptor_suffix": "JS" | ||
} | ||
}, | ||
"url": { | ||
"raw": "{{baseUrl}}/payments/:id/capture", | ||
"host": ["{{baseUrl}}"], | ||
"path": ["payments", ":id", "capture"], | ||
"variable": [ | ||
{ | ||
"key": "id", | ||
"value": "{{payment_id}}", | ||
"description": "(Required) unique payment id" | ||
} | ||
] | ||
}, | ||
"description": "To capture the funds for an uncaptured payment" | ||
} |
1 change: 1 addition & 0 deletions
1
...ariation Cases/Scenario10-Refund exceeds amount captured/Payments - Capture/response.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
[] |
3 changes: 3 additions & 0 deletions
3
...iation Cases/Scenario10-Refund exceeds amount captured/Payments - Create/.event.meta.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"eventOrder": ["event.test.js"] | ||
} |
71 changes: 71 additions & 0 deletions
71
...Variation Cases/Scenario10-Refund exceeds amount captured/Payments - Create/event.test.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
// Validate status 2xx | ||
pm.test("[POST]::/payments - Status code is 2xx", function () { | ||
pm.response.to.be.success; | ||
}); | ||
|
||
// Validate if response header has matching content-type | ||
pm.test("[POST]::/payments - Content-Type is application/json", function () { | ||
pm.expect(pm.response.headers.get("Content-Type")).to.include( | ||
"application/json", | ||
); | ||
}); | ||
|
||
// Validate if response has JSON Body | ||
pm.test("[POST]::/payments - Response has JSON Body", function () { | ||
pm.response.to.have.jsonBody(); | ||
}); | ||
|
||
// Set response object as internal variable | ||
let jsonData = {}; | ||
try { | ||
jsonData = pm.response.json(); | ||
} catch (e) {} | ||
|
||
// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id | ||
if (jsonData?.payment_id) { | ||
pm.collectionVariables.set("payment_id", jsonData.payment_id); | ||
console.log( | ||
"- use {{payment_id}} as collection variable for value", | ||
jsonData.payment_id, | ||
); | ||
} else { | ||
console.log( | ||
"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.", | ||
); | ||
} | ||
|
||
// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id | ||
if (jsonData?.mandate_id) { | ||
pm.collectionVariables.set("mandate_id", jsonData.mandate_id); | ||
console.log( | ||
"- use {{mandate_id}} as collection variable for value", | ||
jsonData.mandate_id, | ||
); | ||
} else { | ||
console.log( | ||
"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.", | ||
); | ||
} | ||
|
||
// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret | ||
if (jsonData?.client_secret) { | ||
pm.collectionVariables.set("client_secret", jsonData.client_secret); | ||
console.log( | ||
"- use {{client_secret}} as collection variable for value", | ||
jsonData.client_secret, | ||
); | ||
} else { | ||
console.log( | ||
"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.", | ||
); | ||
} | ||
|
||
// Response body should have value "requires_capture" for "status" | ||
if (jsonData?.status) { | ||
pm.test( | ||
"[POST]::/payments - Content check if value for 'status' matches 'requires_capture'", | ||
function () { | ||
pm.expect(jsonData.status).to.eql("requires_capture"); | ||
}, | ||
); | ||
} |
87 changes: 87 additions & 0 deletions
87
.../Variation Cases/Scenario10-Refund exceeds amount captured/Payments - Create/request.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
{ | ||
"method": "POST", | ||
"header": [ | ||
{ | ||
"key": "Content-Type", | ||
"value": "application/json" | ||
}, | ||
{ | ||
"key": "Accept", | ||
"value": "application/json" | ||
} | ||
], | ||
"body": { | ||
"mode": "raw", | ||
"options": { | ||
"raw": { | ||
"language": "json" | ||
} | ||
}, | ||
"raw_json_formatted": { | ||
"amount": 6540, | ||
"currency": "USD", | ||
"confirm": true, | ||
"capture_method": "manual", | ||
"capture_on": "2022-09-10T10:11:12Z", | ||
"customer_id": "StripeCustomer", | ||
"email": "[email protected]", | ||
"name": "John Doe", | ||
"phone": "999999999", | ||
"phone_country_code": "+65", | ||
"description": "Its my first payment request", | ||
"authentication_type": "no_three_ds", | ||
"return_url": "https://duck.com", | ||
"payment_method": "card", | ||
"payment_method_data": { | ||
"card": { | ||
"card_number": "4242424242424242", | ||
"card_exp_month": "10", | ||
"card_exp_year": "25", | ||
"card_holder_name": "joseph Doe", | ||
"card_cvc": "123" | ||
} | ||
}, | ||
"billing": { | ||
"address": { | ||
"line1": "1467", | ||
"line2": "Harrison Street", | ||
"line3": "Harrison Street", | ||
"city": "San Fransico", | ||
"state": "California", | ||
"zip": "94122", | ||
"country": "US", | ||
"first_name": "sundari" | ||
} | ||
}, | ||
"shipping": { | ||
"address": { | ||
"line1": "1467", | ||
"line2": "Harrison Street", | ||
"line3": "Harrison Street", | ||
"city": "San Fransico", | ||
"state": "California", | ||
"zip": "94122", | ||
"country": "US", | ||
"first_name": "sundari" | ||
} | ||
}, | ||
"statement_descriptor_name": "joseph", | ||
"statement_descriptor_suffix": "JS", | ||
"metadata": { | ||
"udf1": "value1", | ||
"new_customer": "true", | ||
"login_date": "2019-09-10T10:11:12Z" | ||
}, | ||
"routing": { | ||
"type": "single", | ||
"data": "stripe" | ||
} | ||
} | ||
}, | ||
"url": { | ||
"raw": "{{baseUrl}}/payments", | ||
"host": ["{{baseUrl}}"], | ||
"path": ["payments"] | ||
}, | ||
"description": "To process a payment you will have to create a payment, attach a payment method and confirm. Depending on the user journey you wish to achieve, you may opt to all the steps in a single request or in a sequence of API request using following APIs: (i) Payments - Update, (ii) Payments - Confirm, and (iii) Payments - Capture" | ||
} |
1 change: 1 addition & 0 deletions
1
...Variation Cases/Scenario10-Refund exceeds amount captured/Payments - Create/response.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
[] |
3 changes: 3 additions & 0 deletions
3
...tion Cases/Scenario10-Refund exceeds amount captured/Payments - Retrieve/.event.meta.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"eventOrder": ["event.test.js"] | ||
} |
71 changes: 71 additions & 0 deletions
71
...riation Cases/Scenario10-Refund exceeds amount captured/Payments - Retrieve/event.test.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
// Validate status 2xx | ||
pm.test("[GET]::/payments/:id - Status code is 2xx", function () { | ||
pm.response.to.be.success; | ||
}); | ||
|
||
// Validate if response header has matching content-type | ||
pm.test("[GET]::/payments/:id - Content-Type is application/json", function () { | ||
pm.expect(pm.response.headers.get("Content-Type")).to.include( | ||
"application/json", | ||
); | ||
}); | ||
|
||
// Validate if response has JSON Body | ||
pm.test("[GET]::/payments/:id - Response has JSON Body", function () { | ||
pm.response.to.have.jsonBody(); | ||
}); | ||
|
||
// Set response object as internal variable | ||
let jsonData = {}; | ||
try { | ||
jsonData = pm.response.json(); | ||
} catch (e) {} | ||
|
||
// pm.collectionVariables - Set payment_id as variable for jsonData.payment_id | ||
if (jsonData?.payment_id) { | ||
pm.collectionVariables.set("payment_id", jsonData.payment_id); | ||
console.log( | ||
"- use {{payment_id}} as collection variable for value", | ||
jsonData.payment_id, | ||
); | ||
} else { | ||
console.log( | ||
"INFO - Unable to assign variable {{payment_id}}, as jsonData.payment_id is undefined.", | ||
); | ||
} | ||
|
||
// pm.collectionVariables - Set mandate_id as variable for jsonData.mandate_id | ||
if (jsonData?.mandate_id) { | ||
pm.collectionVariables.set("mandate_id", jsonData.mandate_id); | ||
console.log( | ||
"- use {{mandate_id}} as collection variable for value", | ||
jsonData.mandate_id, | ||
); | ||
} else { | ||
console.log( | ||
"INFO - Unable to assign variable {{mandate_id}}, as jsonData.mandate_id is undefined.", | ||
); | ||
} | ||
|
||
// pm.collectionVariables - Set client_secret as variable for jsonData.client_secret | ||
if (jsonData?.client_secret) { | ||
pm.collectionVariables.set("client_secret", jsonData.client_secret); | ||
console.log( | ||
"- use {{client_secret}} as collection variable for value", | ||
jsonData.client_secret, | ||
); | ||
} else { | ||
console.log( | ||
"INFO - Unable to assign variable {{client_secret}}, as jsonData.client_secret is undefined.", | ||
); | ||
} | ||
|
||
// Response body should have value "Succeeded" for "status" | ||
if (jsonData?.status) { | ||
pm.test( | ||
"[POST]::/payments/:id - Content check if value for 'status' matches 'partially_captured'", | ||
function () { | ||
pm.expect(jsonData.status).to.eql("partially_captured"); | ||
}, | ||
); | ||
} |
Oops, something went wrong.