mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 05:37:22 +01:00
fix(payments): wrap up adjusted test expectations
This commit is contained in:
@@ -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,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user