@stylusapparel/stylusop-api-node-wrapper
Version:
This is the official NodeJs wrapper for connecting to the StylusOP API
37 lines (33 loc) • 1.45 kB
JavaScript
const axios = require('axios');
const { __defaults } = require('../constants/url');
const __mockWrapper = require('..');
const { MOCK_SECRET_TOKEN, MOCK_VENDOR_NAME } = require('./__mocks__/auth.json');
const { MOCK_LIST_PRODUCTS_RESPONSE, MOCK_SEARCH_PRODUCT, MOCK_FIND_VARIANTS_RESPONSE, MOCK_FIND_VARIANT } = require('./__mocks__/product.json');
const _mockClient = __mockWrapper.createClient(MOCK_SECRET_TOKEN, { apiVersion: __defaults.LATEST_VERSION, sandBox: true, username: MOCK_VENDOR_NAME });
afterEach(() => {
jest.clearAllMocks();
});
describe('PRODUCT MODULE - Validating success scenarios', () => {
it(' => stylusClient.products.search({SEARCH_OBJECT}) ', async () => {
axios.get.mockImplementationOnce(() =>
Promise.resolve({
data: { ...MOCK_LIST_PRODUCTS_RESPONSE },
status: 200,
}),
);
const gen = await _mockClient.products.search(MOCK_SEARCH_PRODUCT);
expect(axios.get).toHaveBeenCalledTimes(1);
expect(gen).toEqual(MOCK_LIST_PRODUCTS_RESPONSE.products);
});
it(' => stylusClient.products.variants.find({FIND_OBJECT}) ', async () => {
axios.get.mockImplementationOnce(() =>
Promise.resolve({
data: { ...MOCK_FIND_VARIANTS_RESPONSE },
status: 200,
}),
);
const gen = await _mockClient.products.variants.find(MOCK_FIND_VARIANT);
expect(axios.get).toHaveBeenCalledTimes(1);
expect(gen).toEqual(MOCK_FIND_VARIANTS_RESPONSE.variants);
});
});