UNPKG

@cloudpayments/checkout

Version:
77 lines (52 loc) 2.59 kB
const url = 'https://checkout.cloudpayments.ru/checkout.js'; const publicId = 'test_api_00000000000000000000001'; function dispatchScriptEvent(eventType) { const injectedScript = document.querySelector( `script[src="${url}"]` ); if (!injectedScript) { throw new Error('checkout script not found'); } injectedScript.dispatchEvent(new Event(eventType)); } describe('npm load', () => { afterEach(() => { const script = document.querySelector(`script[src="${url}"], script[src="${url}/"]`); if (script && script.parentElement) { script.parentElement.removeChild(script); } delete window.cp?.Checkout; }); it('not empty', async () => { await checkout.loadCheckout({publicId: `${publicId}`}); expect(document.querySelector(`script[src="${url}"]`)).to.be.not.a('null'); }); it('script into window', async () => { await checkout.loadCheckout({publicId: `${publicId}`}); document.querySelector(`script[src="${url}"], script[src="${url}/"]`); expect(window.cp.Checkout).to.be.not.a('null'); }); it('script into window', async () => { await checkout.loadCheckout({publicId: `${publicId}`}); const script = document.createElement('script'); script.src = url; document.body.appendChild(script); expect(document.querySelectorAll(`script[src="${url}"], script[src="${url}/"]`)).to.have.length(1); }); it('проверка возможности добавить чекаут и виджет', async () => { await checkout.loadCheckout({publicId: `${publicId}`}); const script = document.createElement('script'); script.src = 'https://widget.cloudpayments.ru/bundles/cloudpayments'; document.body.appendChild(script); expect(document.querySelector(`script[src="${url}"], script[src="${url}/"]`)).to.be.not.a('null'); expect(document.querySelector(`script[src="https://widget.cloudpayments.ru/bundles/cloudpayments"]`)).to.be.not.a('null'); }); it('проверка возможности добавить чекаут и виджет#2', async () => { await checkout.loadCheckout({publicId: `${publicId}`}); const script = document.createElement('script'); script.src = 'https://widget.cloudpayments.ru/bundles/cloudpayments'; document.body.appendChild(script); expect(window.cp.Checkout).to.be.not.a('null'); expect(window.cp.CloudPayments).to.be.not.a('null'); }); });