Files
vivespos-landing/modules/system/tests/js/cases/snowboard/ajax/DataAttribute.test.js
avives 1f72193a64
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
- Base: wintercms/winter branch 1.2 (full framework)
- Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS
- Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication
- Partials: hero (offline-first), features, modes (offline/nube toggle),
  screenshots, pricing (3 planes), comparison, FAQ, CTA
- Plugin VivesPOS.Site with ContactForm
- Dockerfile: PHP 8.2 Apache, port 80, healthcheck
- Added winter/wn-pages, blog, sitemap, seo plugins
- Active theme set to vivespos
2026-08-21 19:29:00 -06:00

43 lines
1.5 KiB
JavaScript

import FakeDom from '../../../helpers/FakeDom';
jest.setTimeout(2000);
describe('Data Attribute Request AJAX library', function () {
it('can parse request data', function (done) {
FakeDom
.new()
.addScript([
'modules/system/assets/js/build/manifest.js',
'modules/system/assets/js/snowboard/build/snowboard.vendor.js',
'modules/system/assets/js/snowboard/build/snowboard.base.js',
'modules/system/assets/js/snowboard/build/snowboard.request.js',
'modules/system/assets/js/snowboard/build/snowboard.data-attr.js',
])
.render()
.then(
(dom) => {
const DataAttributeSingleton = dom.window.Snowboard.attributeRequest();
expect(
DataAttributeSingleton.parseData('{foo: "bar"}')
).toEqual({ foo: 'bar' });
expect(
DataAttributeSingleton.parseData('foo: \'bar\'')
).toEqual({ foo: 'bar' });
expect(
DataAttributeSingleton.parseData('{"key": "value", "nested": { "otherKey": "otherValue" }}')
).toEqual({
"key": "value",
"nested": {
"otherKey": "otherValue"
}
});
done();
}
);
});
});