← back to Dw Gemini Skip TK11321
test/activation-result.test.js
16 lines
'use strict';
const test = require('node:test');
const assert = require('node:assert/strict');
const { confirmedActivation } = require('../lib/activation-result');
const ok = { status: 200, json: { data: { productUpdate: { product: { id: 'gid://shopify/Product/1', status: 'ACTIVE' }, userErrors: [] } } } };
test('only a confirmed ACTIVE result for the requested product counts', () => {
assert.equal(confirmedActivation(ok, 'gid://shopify/Product/1'), true);
assert.equal(confirmedActivation(ok, 'gid://shopify/Product/2'), false);
});
test('HTTP, GraphQL, user errors and incomplete replies never count as activations', () => {
for (const response of [{ status: 429 }, { status: 200, json: { errors: [{ message: 'throttled' }] } },
{ status: 200, json: {} }, { ...ok, status: 500 },
{ status: 200, json: { data: { productUpdate: { userErrors: [{ message: 'blocked' }] } } } }])
assert.equal(confirmedActivation(response, 'gid://shopify/Product/1'), false);
});