From 995e0e57e598d495e4942afceb81f901c24bdc68 Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 18 May 2018 11:37:52 +0100 Subject: [PATCH] 2018-05-18 --- log.md | 13 +- tasks/bridge-1138/checkin.md | 11 + tasks/bridge-1138/do.md | 74 ++++++ tasks/bridge-1138/ugh.md | 63 +++++ tasks/bridge-973/work.md | 440 +++++++++++++++++++++++++++++++++++ 5 files changed, 600 insertions(+), 1 deletion(-) create mode 100644 tasks/bridge-1138/checkin.md create mode 100644 tasks/bridge-1138/do.md create mode 100644 tasks/bridge-1138/ugh.md create mode 100644 tasks/bridge-973/work.md diff --git a/log.md b/log.md index 09762ae..8639df7 100644 --- a/log.md +++ b/log.md @@ -256,4 +256,15 @@ Holiday Started BRIDGE-970 - E2E Swagger tests -##### 2018-05-17 // Wednesday ##### \ No newline at end of file +##### 2018-05-17 // Wednesday ##### + +Sprint planning + +BRIDGE-973 - Make sure it works + +##### 2018-05-18 // Thursday ##### + +BRIDGE-973 - Make sure it work + +Started THX-1138 - Rule can be confirmed with different user / different payee instrument + diff --git a/tasks/bridge-1138/checkin.md b/tasks/bridge-1138/checkin.md new file mode 100644 index 0000000..33bf5f0 --- /dev/null +++ b/tasks/bridge-1138/checkin.md @@ -0,0 +1,11 @@ +BRIDGE-1138 Rule can be confirmed with different user / different payee instrument + +# Summary + +controllers/rules/activate.js Update was modified to search for {_id: ruleID, 'Rule.PayeeID': userID}, as the update was allowing anyone to confirm and activate any rule. + +Updated controllers/rules/activate.spec.js + +# Test Plan + +* Run All tests diff --git a/tasks/bridge-1138/do.md b/tasks/bridge-1138/do.md new file mode 100644 index 0000000..721ab01 --- /dev/null +++ b/tasks/bridge-1138/do.md @@ -0,0 +1,74 @@ +``` +Bearer YTM2ZGQ1NzUtOWFmNS01MjMyLTg5MjYtM2NkZjA5ZDU2ZGU1 + +``` + +Payee Account +``` + +{ + "description": "Silver Carpenter Inc. account.", + "receivingAccountServiceKey": "T_S_7c8551db-2aa0-489d-b80e-d1a8d42e4bfb" +} + +``` + +response: + +{ + "key": "96ecc2d0-750d-452d-980b-2518cd5a34e0", + "ID": "5afd9e0d9043d33a97cbbf95" +} + + + +credit card; + +{ + "cardUsageKey": "69de2ccb-8e8d-421f-972d-86209d4862cc", + "cardID": "5afd9e329043d33a97cbbf99" +} + + + +Test oit works: + +{ + "trigger": { + "stage": "paymentComplete", + "type": "ruleIdInRtp" + }, + "rule": { + "payerInstrument": { + "ID": "5afd9e329043d33a97cbbf99", + "key": "69de2ccb-8e8d-421f-972d-86209d4862cc" + }, + "payeeID": "79a26d981246978135edadf1", + "percentageShare": 2 + } +} + + +1: do a proper one + +{ + "ID": "5afda4269677c63b78a810a7" +} + + +Imporper one: + +{ + "ID": "5afda59799d1553c66d41eae" +} + + +{ + "cardUsageKey": "f7bdd4c3-65f2-4fe9-8d1b-0d5068c3d5b8", + "cardID": "5afda5ce99d1553c66d41eb1" +} + +{ + "key": "f7bdd4c3-65f2-4fe9-8d1b-0d5068c3d5b8", + "ID": "5afda5ce99d1553c66d41eb1" +} \ No newline at end of file diff --git a/tasks/bridge-1138/ugh.md b/tasks/bridge-1138/ugh.md new file mode 100644 index 0000000..53c5be0 --- /dev/null +++ b/tasks/bridge-1138/ugh.md @@ -0,0 +1,63 @@ +``` +{ + "_id" : ObjectId("5afd9f0d9043d33a97cbbf9c"), + "UserID" : "79a26d981246978135edadf1", + "LastUpdate" : ISODate("2018-05-17T15:26:05.119Z"), + "Trigger" : { + "Stage" : "paymentComplete", + "Type" : "ruleIdInRtp" + }, + "Rule" : { + "PayeeID" : "5afd9e0d9043d33a97cbbf95", + "PercentageShare" : 2, + "PayerInstrument" : { + "_id" : ObjectId("5afd9e329043d33a97cbbf99"), + "AccountType" : "Credit/Debit Payment Card", + "ReceivingAccount" : 0, + "PaymentsAccount" : 1, + "CreditDebitCardInfo" : { + "CardPANEncrypted" : "3::bcfb5b1164b3f2d648cd9458617e6adcfe4d510e366478ef85087cd29f0ebc66a6cad954a0e135870e65e03bd1c983a1e5937a20e8ff76796f9e328ec261c14c664da34a59aed52e9234c791b73d29bf", + "CardExpiryEncrypted" : "3::91649834c20428047752c5b5a0aa3ab026481d090b25508430a4b1a6cda88753427788951070f48f0ced4659c35b4f09fc725d7689ea4812aeca157a71b17149", + "CardValidFromEncrypted" : "3::80b473f12062388f3be88ac199c897412bbb10187e1821b5d46dd3bba4a37b895d5d114532ce6f4e8e6d85de4642794602badfcf60623d34a0d225990f27f882", + "IssueNumberEncrypted" : "3::606ab0b5113f0dcfa13d9a390fd499deab36971aa90b2aa74cb521eb7e0b67ba995757b548ffd726ab43135fab3746a4e9aa5c282d8c4607e82811008d37b6d9", + "NameOnAccount" : "John E Doe", + "CardPAN" : "4*** **** **** *111", + "Email" : "a@b.com", + "FirstName" : "John", + "LastName" : "Doe", + "address" : { + "_id" : ObjectId("5afd9e329043d33a97cbbf98"), + "UserID" : "79a26d981246978135edadf1", + "AddressDescription" : "", + "BuildingNameFlat" : "Flat 20", + "Address1" : "Victoria House", + "Address2" : "15 The Street", + "Town" : "Christchurch", + "County" : "Dorset", + "PostCode" : "BH23 6AA", + "Country" : "", + "PhoneNumber" : "+44 123 1110000", + "ResidentTo" : "", + "ResidentFrom" : "", + "DateAdded" : ISODate("2018-05-17T15:22:26.187Z"), + "LastUpdate" : ISODate("2018-05-17T15:22:26.187Z"), + "LastVersion" : 1 + } + }, + "UserID" : "79a26d981246978135edadf1", + "VendorID" : "Visa", + "VendorAccountName" : "Credit/Debit Card", + "Description" : "BloggsCo Inc. account.", + "IconLocation" : "VISA_CREDIT.png", + "APIVersion" : "7.6.4-dev", + "Integrity" : null, + "LastUpdate" : ISODate("2018-05-17T15:22:26.187Z"), + "LastVersion" : 1 + }, + "PayeeInstrument" : null + }, + "Status" : "Created", + "LastVersion" : 1 +} + +``` \ No newline at end of file diff --git a/tasks/bridge-973/work.md b/tasks/bridge-973/work.md new file mode 100644 index 0000000..87d4ff8 --- /dev/null +++ b/tasks/bridge-973/work.md @@ -0,0 +1,440 @@ +# Acceptance Criteria # + +The following acceptance criteria tests were performed on DEV. + + +## 1. User successfully confirms and activates a rule ## + +Re-authorise with : + +``` +Bearer YTM2ZGQ1NzUtOWFmNS01MjMyLTg5MjYtM2NkZjA5ZDU2ZGU1 + +``` + +Payee Account +``` + +{ + "description": "Silver Carpenter Inc. account.", + "receivingAccountServiceKey": "T_S_7c8551db-2aa0-489d-b80e-d1a8d42e4bfb" +} + +``` + + +created world pay +``` +{ + "key": "768f07ca-5006-475f-812a-46be3cba88e8", + "ID": "5afd571bfb887d13c5f32aa5" +} +``` + + +created credit card +``` +{ + "cardUsageKey": "9ca8b121-5543-4629-b53d-087d650ad17a", + "cardID": "5afd5759fb887d13c5f32aa9" +} +``` + +``` +{ + "trigger": { + "stage": "paymentComplete", + "type": "ruleIdInRtp" + }, + "rule": { + "payerInstrument": { + "ID": "5afd5759fb887d13c5f32aa9", + "key": "9ca8b121-5543-4629-b53d-087d650ad17a" + }, + "payeeID": "5afd571bfb887d13c5f32aa5", + "percentageShare": 2 + } +} +``` + + +created rule id +``` +{ + "ID": "5afd5880fb887d13c5f32aac" +} +``` + +/receivables/rules/{objectID} Confirm a rule in our favour + +ObjectID: 5afd5880fb887d13c5f32aac +``` +{ + "key": "768f07ca-5006-475f-812a-46be3cba88e8", + "ID": "5afd571bfb887d13c5f32aa5" +} +``` + +Response code **Code 200** + + ``` + { + "_id" : ObjectId("5afd5880fb887d13c5f32aac"), + "UserID" : "79a26d981246978135edadf1", + "LastUpdate" : ISODate("2018-05-17T10:34:30.131Z"), + "Trigger" : { + "Stage" : "paymentComplete", + "Type" : "ruleIdInRtp" + }, + "Rule" : { + "PayeeID" : "5afd571bfb887d13c5f32aa5", + "PercentageShare" : 2, + "PayerInstrument" : { + "_id" : ObjectId("5afd5759fb887d13c5f32aa9"), + "AccountType" : "Credit/Debit Payment Card", + "ReceivingAccount" : 0, + "PaymentsAccount" : 1, + "CreditDebitCardInfo" : { + "CardPANEncrypted" : "3::993f7cc9b0d92aace06ee198cbb9491220241faee0186ee42d59c8cd6e63ce59521e07914466daad3ea07f3d8a5a625d070032c3e25c865487c2db7c682cba8822b4c1f7e1728cda54e7fb2578fe5871", + "CardExpiryEncrypted" : "3::5b0b083cb527fcb0948b48a6a2fd17d99703cb9ce8af3e0b5479fa8020422aae97c1b0b0ae2ac29a068066d7236b5959653396fedc329f25446c2121a575de76", + "CardValidFromEncrypted" : "3::aa50a37353fd5a6360cf8f2c42a9d0010824a022f564f708c46d6a7a2e7978c2053a23de5a4101b6947c576800be29ac7289f984d9f94cfcf1a49cacd8d5a45c", + "IssueNumberEncrypted" : "3::1570a87022f074b0920dce5c38038740d8c33960c8fea69854a44384dbd924e127eb06366fc864e0cb7325e5622763676d24b13f5455bf7337a45f0aec33c3fd", + "NameOnAccount" : "Bob Bobbington", + "CardPAN" : "4*** **** **** *111", + "Email" : "a@b.com", + "FirstName" : "Bob", + "LastName" : "Bobbington", + "address" : { + "_id" : ObjectId("5afd5759fb887d13c5f32aa8"), + "UserID" : "79a26d981246978135edadf1", + "AddressDescription" : "", + "BuildingNameFlat" : "Flat 20", + "Address1" : "Victoria House", + "Address2" : "15 The Street", + "Town" : "Christchurch", + "County" : "Dorset", + "PostCode" : "BH23 6AA", + "Country" : "", + "PhoneNumber" : "+44 123 1110000", + "ResidentTo" : "", + "ResidentFrom" : "", + "DateAdded" : ISODate("2018-05-17T10:20:09.531Z"), + "LastUpdate" : ISODate("2018-05-17T10:20:09.531Z"), + "LastVersion" : 1 + } + }, + "UserID" : "79a26d981246978135edadf1", + "VendorID" : "Visa", + "VendorAccountName" : "Credit/Debit Card", + "Description" : "Bobs account.", + "IconLocation" : "VISA_CREDIT.png", + "APIVersion" : "7.6.4-3121ed79e06cb111db8a6632564a062e633d485d", + "Integrity" : null, + "LastUpdate" : ISODate("2018-05-17T10:20:09.531Z"), + "LastVersion" : 1 + }, + "PayeeInstrument" : { + "_id" : ObjectId("5afd571bfb887d13c5f32aa5"), + "AccountType" : "Worldpay Online Payments Account", + "ReceivingAccount" : 1, + "PaymentsAccount" : 0, + "WorldpayOnlinePaymentsInfo" : { + "ServiceKeyEncrypted" : "3::2d9cb94eea114811464269fce613fa9c2176fa8e742d059ff889367a275852811d02a6a126703ead7dbe6dcacebe60e9aa60613a3858a24540862e1aeef5e57c763c48af749e359c24406eac01b78270945530325bb96f203ee6e0549ea3fb76", + "ServiceKey" : "T_S_********-****-****-****-********4bfb" + }, + "UserID" : "79a26d981246978135edadf1", + "VendorID" : "Worldpay", + "VendorAccountName" : "Worldpay Online Payments", + "Description" : "Silver Carpenter Inc. account.", + "IconLocation" : "worldpay-account.png", + "APIVersion" : "7.6.4-3121ed79e06cb111db8a6632564a062e633d485d", + "Integrity" : null, + "LastUpdate" : ISODate("2018-05-17T10:19:07.848Z"), + "LastVersion" : 1 + } + }, + "Status" : "Activated", + "LastVersion" : 2 +} +``` + +## 2. I have supplied a saved instrument and the instrument ID is invalid ## + +Create a new rule + +``` +{ + "trigger": { + "stage": "paymentComplete", + "type": "ruleIdInRtp" + }, + "rule": { + "payerInstrument": { + "ID": "5afd5759fb887d13c5f32aa9", + "key": "9ca8b121-5543-4629-b53d-087d650ad17a" + }, + "payeeID": "5afd571bfb887d13c5f32aa5", + "percentageShare": 2 + } +} +``` + +created rule id +``` +{ + "ID": "5afd5e0afb887d13c5f32ab2" +} +``` + +/receivables/rules/{objectID} Confirm a rule in our favour + +ObjectID: `5afd5e0afb887d13c5f32ab2` + +``` +{ + "key": "768f07ca-5006-475f-812a-46be3cba88e8", + "ID": "5afd571bfb887d13c5f32bad" +} +``` + +``` +Result: 400 +Error: Bad Request + +{ + "code": 600, + "info": "The instrument could not be found, has no access or has expired." +} +``` + +## 3. I have supplied a saved payment instrument and the instrument does not belong to me ## + +Re-authorise with : + +``` +Bearer YTM2ZGQ1NzUtOWFmNS01MjMyLTg5MjYtM2NkZjA5ZDU2ZGU2 + +``` + +Create a new world pay merchant + +``` +{ + "description": "Greenock Tin Inc. account.", + "receivingAccountServiceKey": "T_S_7c8551db-2aa0-489d-b80e-d1a8d42e4bfb" +} + +``` +Created: + +``` +{ + "key": "9de916f0-70f0-4199-88ab-14fd4375d9bc", + "ID": "5afd749f59ab4014b6179d55" +} +``` + +Re-authorise with : + +``` +Bearer YTM2ZGQ1NzUtOWFmNS01MjMyLTg5MjYtM2NkZjA5ZDU2ZGU1 + +``` + +Create a new rule + +``` +{ + "trigger": { + "stage": "paymentComplete", + "type": "ruleIdInRtp" + }, + "rule": { + "payerInstrument": { + "ID": "5afd5759fb887d13c5f32aa9", + "key": "9ca8b121-5543-4629-b53d-087d650ad17a" + }, + "payeeID": "5afd571bfb887d13c5f32aa5", + "percentageShare": 2 + } +} +``` + +Results: +``` +{ + "ID": "5afd761c59ab4014b6179d58" +} +``` +Try to confirm the rule with someone elses instrument details +``` +ObjectID: 5afd761c59ab4014b6179d58 + +{ + "key": "9de916f0-70f0-4199-88ab-14fd4375d9bc", + "ID": "5afd749f59ab4014b6179d55" +} +``` + +``` +Code 400 +Error: Bad Request +Response body +{ + "code": 600, + "info": "The instrument could not be found, has no access or has expired." +} +``` + +## 4. I have supplied a saved instrument and the encryption key is not correct ## + +Using rule created in step 2: + +Created rule id +``` +{ + "ID": "5afd5e0afb887d13c5f32ab2" +} +``` + +/receivables/rules/{objectID} Confirm a rule in our favour + +``` +ObjectID: 5afd5e0afb887d13c5f32ab2 + +{ + "key": "badbadba-dbad-badb-adba-dbadbadbadba", + "ID": "5afd571bfb887d13c5f32aa5" +} +``` + +``` +Code 401 +Undocumented +Error: Unauthorized +Response body +{ + "code": 602, + "info": "The instrument could not be decrypted." +} +``` + +## 5. the Rule does not exist ## + +Use + +``` +ObjectID: 000000000000000badbadbad + +{ + "key": "768f07ca-5006-475f-812a-46be3cba88e8", + "ID": "5afd571bfb887d13c5f32aa5" +} +``` + +``` +Code 400 +Error: Bad Request +Response body +{ + "code": 627, + "info": "The Rule doesn't exist or you don't have permission to access it." +} +``` + + +## 6. My UserID is not the same as the Payee Instrument's UserID ## + +Payee Account +``` + +{ + "description": "Alaska-Zinc Inc. account.", + "receivingAccountServiceKey": "T_S_7c8551db-2aa0-489d-b80e-d1a8d42e4bfb" +} + +``` + +{ + "key": "55c2de8e-ef07-4232-903c-efc67041261c", + "ID": "5afd78c059ab4014b6179d61" +} + +Create a rule for this payee account + +{ + "trigger": { + "stage": "paymentComplete", + "type": "ruleIdInRtp" + }, + "rule": { + "payerInstrument": { + "ID": "5afd5759fb887d13c5f32aa9", + "key": "9ca8b121-5543-4629-b53d-087d650ad17a" + }, + "payeeID": "5afd78c059ab4014b6179d61", + "percentageShare": 2 + } +} + +results: + +{ + "ID": "5afd78f459ab4014b6179d64" +} + + +Try to confirm with a different payee account + +Using Silver Carpenter account: + +created world pay +``` +{ + "key": "768f07ca-5006-475f-812a-46be3cba88e8", + "ID": "5afd571bfb887d13c5f32aa5" +} +``` + +ObjectID: 5afd78f459ab4014b6179d64 + +{ + "key": "768f07ca-5006-475f-812a-46be3cba88e8", + "ID": "5afd571bfb887d13c5f32aa5" +} + + + + + + +{ + "trigger": { + "stage": "paymentComplete", + "type": "ruleIdInRtp" + }, + "rule": { + "payerInstrument": { + "ID": "5afd5759fb887d13c5f32aa9", + "key": "9ca8b121-5543-4629-b53d-087d650ad17a" + }, + "payeeID": "5afd571bfb887d13c5f32aa5", + "percentageShare": 2 + } +} + +{ + "ID": "5afd79ff59ab4014b6179d68" +} + +Re autorize +Bearer YTM2ZGQ1NzUtOWFmNS01MjMyLTg5MjYtM2NkZjA5ZDU2ZGU2 + + +Use worldpay account created in step 3 + +{ + "key": "9de916f0-70f0-4199-88ab-14fd4375d9bc", + "ID": "5afd749f59ab4014b6179d55" +} +