Skip to content

Commit

Permalink
Feature/dtpayetwo 759 hw parity paypal account dev (#131)
Browse files Browse the repository at this point in the history
* DTPAYETWO-759- Added field accountId for PayPal accounts
* DTPAYETWO-759- Updated error message when accountId or email is missing for paypal accounts
  • Loading branch information
akswaminathan-pp-dev authored Aug 9, 2023
1 parent ca336c8 commit d56a401
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 3 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
Changelog
=========
2.1.1
-------------------
- Added field 'accountId' to PayPal.
- PayPal account creation allowed using field 'accountId' which accepts Email, Phone Number, PayPal PayerID.
- Venmo account creation allowed using field 'accountId' which accepts Email, Phone Number, Venmo Handle, Venmo External ID.

2.1.0
-------------------
Expand Down
4 changes: 2 additions & 2 deletions src/Hyperwallet.js
Original file line number Diff line number Diff line change
Expand Up @@ -1033,8 +1033,8 @@ export default class Hyperwallet {
if (!data.transferMethodCurrency) {
throw new Error("transferMethodCurrency is required");
}
if (!data.email) {
throw new Error("email is required");
if (!data.email && !data.accountId) {
throw new Error("email or accountId is required");
}
this.client.doPost(`users/${encodeURIComponent(userToken)}/paypal-accounts`, data, {}, callback);
}
Expand Down
18 changes: 17 additions & 1 deletion test/Hyperwallet.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -1996,7 +1996,7 @@ describe("Hyperwallet", () => {
expect(() => client.createPayPalAccount("test-user-token", {
transferMethodCountry: "test-transferMethodCountry",
transferMethodCurrency: "test-transferMethodCurrency",
}, callback)).to.throw("email is required");
}, callback)).to.throw("email or accountId is required");
});

/** @test {Hyperwallet#createPayPalAccount} */
Expand All @@ -2015,6 +2015,22 @@ describe("Hyperwallet", () => {
email: "email",
}, {}, callback);
});
/** @test {Hyperwallet#createPayPalAccount} */
it("should do post call to PayPal account endpoint with accountId", () => {
const callback = () => null;
client.createPayPalAccount("test-user-token", {
transferMethodCountry: "test-transferMethodCountry",
transferMethodCurrency: "test-transferMethodCurrency",
accountId: "accountId",
}, callback);

apiClientSpy.should.have.been.calledOnce();
apiClientSpy.should.have.been.calledWith("users/test-user-token/paypal-accounts", {
transferMethodCountry: "test-transferMethodCountry",
transferMethodCurrency: "test-transferMethodCurrency",
accountId: "accountId",
}, {}, callback);
});
});

/** @test {Hyperwallet#getPayPalAccount} */
Expand Down

0 comments on commit d56a401

Please sign in to comment.