fix(payments): wrap up adjusted test expectations

This commit is contained in:
SabreCat
2023-01-23 00:45:31 -06:00
parent e1deb6adff
commit ac239e32ce
2 changed files with 37 additions and 36 deletions

View File

@@ -15,7 +15,7 @@ describe('Apple Payments', () => {
describe('verifyPurchase', () => { describe('verifyPurchase', () => {
let sku; let user; let token; let receipt; let let sku; let user; let token; let receipt; let
headers; headers;
let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let paymentBuyGemsStub; let let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let paymentBuySkuStub; let
iapGetPurchaseDataStub; let validateGiftMessageStub; iapGetPurchaseDataStub; let validateGiftMessageStub;
beforeEach(() => { beforeEach(() => {
@@ -36,7 +36,7 @@ describe('Apple Payments', () => {
productId: 'com.habitrpg.ios.Habitica.21gems', productId: 'com.habitrpg.ios.Habitica.21gems',
transactionId: token, transactionId: token,
}]); }]);
paymentBuyGemsStub = sinon.stub(payments, 'buySkuItem').resolves({}); paymentBuySkuStub = sinon.stub(payments, 'buySkuItem').resolves({});
validateGiftMessageStub = sinon.stub(gems, 'validateGiftMessage'); validateGiftMessageStub = sinon.stub(gems, 'validateGiftMessage');
}); });
@@ -94,7 +94,7 @@ describe('Apple Payments', () => {
productId: 'badProduct', productId: 'badProduct',
transactionId: token, transactionId: token,
}]); }]);
paymentBuyGemsStub.restore(); paymentBuySkuStub.restore();
await expect(applePayments.verifyPurchase({ user, receipt, headers })) await expect(applePayments.verifyPurchase({ user, receipt, headers }))
.to.eventually.be.rejected.and.to.eql({ .to.eventually.be.rejected.and.to.eql({
@@ -103,7 +103,7 @@ describe('Apple Payments', () => {
message: applePayments.constants.RESPONSE_INVALID_ITEM, message: applePayments.constants.RESPONSE_INVALID_ITEM,
}); });
paymentBuyGemsStub = sinon.stub(payments, 'buySkuItem').resolves({}); paymentBuySkuStub = sinon.stub(payments, 'buySkuItem').resolves({});
user.canGetGems.restore(); user.canGetGems.restore();
}); });
@@ -150,8 +150,8 @@ describe('Apple Payments', () => {
expect(iapGetPurchaseDataStub).to.be.calledOnce; expect(iapGetPurchaseDataStub).to.be.calledOnce;
expect(validateGiftMessageStub).to.not.be.called; expect(validateGiftMessageStub).to.not.be.called;
expect(paymentBuyGemsStub).to.be.calledOnce; expect(paymentBuySkuStub).to.be.calledOnce;
expect(paymentBuyGemsStub).to.be.calledWith({ expect(paymentBuySkuStub).to.be.calledWith({
user, user,
gift: undefined, gift: undefined,
paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE, paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE,
@@ -189,18 +189,16 @@ describe('Apple Payments', () => {
expect(validateGiftMessageStub).to.be.calledOnce; expect(validateGiftMessageStub).to.be.calledOnce;
expect(validateGiftMessageStub).to.be.calledWith(gift, user); expect(validateGiftMessageStub).to.be.calledWith(gift, user);
expect(paymentBuyGemsStub).to.be.calledOnce; expect(paymentBuySkuStub).to.be.calledOnce;
expect(paymentBuyGemsStub).to.be.calledWith({ expect(paymentBuySkuStub).to.be.calledWith({
user, user,
paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE,
headers,
gift: { gift: {
type: 'gems',
gems: { amount: 4 },
member: sinon.match({ _id: receivingUser._id }),
uuid: receivingUser._id, uuid: receivingUser._id,
member: sinon.match({ _id: receivingUser._id }),
}, },
gemsBlock: common.content.gems['4gems'], paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE,
sku: 'com.habitrpg.ios.Habitica.4gems',
headers,
}); });
}); });
}); });

View File

@@ -14,9 +14,9 @@ describe('Google Payments', () => {
describe('verifyPurchase', () => { describe('verifyPurchase', () => {
let sku; let user; let token; let receipt; let signature; let let sku; let user; let token; let receipt; let signature; let
headers; const gemsBlock = common.content.gems['21gems']; headers;
let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let
paymentBuyGemsStub; let validateGiftMessageStub; paymentBuySkuStub; let validateGiftMessageStub;
beforeEach(() => { beforeEach(() => {
sku = 'com.habitrpg.android.habitica.iap.21gems'; sku = 'com.habitrpg.android.habitica.iap.21gems';
@@ -27,11 +27,10 @@ describe('Google Payments', () => {
iapSetupStub = sinon.stub(iap, 'setup') iapSetupStub = sinon.stub(iap, 'setup')
.resolves(); .resolves();
iapValidateStub = sinon.stub(iap, 'validate') iapValidateStub = sinon.stub(iap, 'validate').resolves({ productId: sku });
.resolves({});
iapIsValidatedStub = sinon.stub(iap, 'isValidated') iapIsValidatedStub = sinon.stub(iap, 'isValidated')
.returns(true); .returns(true);
paymentBuyGemsStub = sinon.stub(payments, 'buySkuItem').resolves({}); paymentBuySkuStub = sinon.stub(payments, 'buySkuItem').resolves({});
validateGiftMessageStub = sinon.stub(gems, 'validateGiftMessage'); validateGiftMessageStub = sinon.stub(gems, 'validateGiftMessage');
}); });
@@ -60,8 +59,10 @@ describe('Google Payments', () => {
it('should throw an error if productId is invalid', async () => { it('should throw an error if productId is invalid', async () => {
receipt = `{"token": "${token}", "productId": "invalid"}`; receipt = `{"token": "${token}", "productId": "invalid"}`;
iapValidateStub.restore();
iapValidateStub = sinon.stub(iap, 'validate').resolves({});
paymentBuyGemsStub.restore(); paymentBuySkuStub.restore();
await expect(googlePayments.verifyPurchase({ await expect(googlePayments.verifyPurchase({
user, receipt, signature, headers, user, receipt, signature, headers,
})) }))
@@ -70,7 +71,7 @@ describe('Google Payments', () => {
name: 'BadRequest', name: 'BadRequest',
message: googlePayments.constants.RESPONSE_INVALID_ITEM, message: googlePayments.constants.RESPONSE_INVALID_ITEM,
}); });
paymentBuyGemsStub = sinon.stub(payments, 'buySkuItem').resolves({}); paymentBuySkuStub = sinon.stub(payments, 'buySkuItem').resolves({});
}); });
it('should throw an error if user cannot purchase gems', async () => { it('should throw an error if user cannot purchase gems', async () => {
@@ -103,15 +104,17 @@ describe('Google Payments', () => {
signature, signature,
}); });
expect(iapIsValidatedStub).to.be.calledOnce; expect(iapIsValidatedStub).to.be.calledOnce;
expect(iapIsValidatedStub).to.be.calledWith({}); expect(iapIsValidatedStub).to.be.calledWith(
{ productId: sku },
);
expect(paymentBuyGemsStub).to.be.calledOnce; expect(paymentBuySkuStub).to.be.calledOnce;
expect(paymentBuyGemsStub).to.be.calledWith({ expect(paymentBuySkuStub).to.be.calledWith({
user, user,
paymentMethod: googlePayments.constants.PAYMENT_METHOD_GOOGLE,
gemsBlock,
headers,
gift: undefined, gift: undefined,
paymentMethod: googlePayments.constants.PAYMENT_METHOD_GOOGLE,
sku,
headers,
}); });
expect(user.canGetGems).to.be.calledOnce; expect(user.canGetGems).to.be.calledOnce;
user.canGetGems.restore(); user.canGetGems.restore();
@@ -136,20 +139,20 @@ describe('Google Payments', () => {
signature, signature,
}); });
expect(iapIsValidatedStub).to.be.calledOnce; expect(iapIsValidatedStub).to.be.calledOnce;
expect(iapIsValidatedStub).to.be.calledWith({}); expect(iapIsValidatedStub).to.be.calledWith(
{ productId: sku },
);
expect(paymentBuyGemsStub).to.be.calledOnce; expect(paymentBuySkuStub).to.be.calledOnce;
expect(paymentBuyGemsStub).to.be.calledWith({ expect(paymentBuySkuStub).to.be.calledWith({
user, user,
paymentMethod: googlePayments.constants.PAYMENT_METHOD_GOOGLE,
gemsBlock,
headers,
gift: { gift: {
type: 'gems',
gems: { amount: 21 },
member: sinon.match({ _id: receivingUser._id }),
uuid: receivingUser._id, uuid: receivingUser._id,
member: sinon.match({ _id: receivingUser._id }),
}, },
paymentMethod: googlePayments.constants.PAYMENT_METHOD_GOOGLE,
sku,
headers,
}); });
}); });
}); });