decide.nolog.cz/tests/acceptance/build-test.js
renovate[bot] 98ff62af80
Update dependency prettier to v3 (#668)
* Update dependency prettier to v3

* upgrade eslint-plugin-prettier and run prettier on all files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jeldrik Hanschke <admin@jhanschke.de>
2023-10-17 10:44:45 +02:00

46 lines
1.6 KiB
JavaScript

import { visit } from '@ember/test-helpers';
import { module, test } from 'qunit';
import { setupApplicationTest } from 'ember-qunit';
module('Acceptance | build', function (hooks) {
setupApplicationTest(hooks);
test('version is included as html meta tag', async function (assert) {
await visit('/');
// head is not available through `find()`, `assert.dom()` or `this.element.querySelector()`
// cause they are scoped to `#ember-testing-container`.
let buildInfoEl = document.head.querySelector(
'head meta[name="build-info"]',
);
assert.ok(buildInfoEl, 'tag exists');
let content = buildInfoEl.content;
assert.ok(
/^version=\d[\d.]+\d(-(alpha|beta|rc).\d)?(\+[\da-z]{8})?$/.test(content),
`${content} is valid version string`,
);
});
test('CSP meta tag is present and before any dangerous element', async function (assert) {
await visit('/');
// `find()`, `assert.dom()` and `this.element.querySelector()` are all scoped to `#testing-container`
// and therefore don't have access to head
assert.ok(
document.head.querySelector('meta[http-equiv="Content-Security-Policy"]'),
'CSP meta tag exists',
);
// this only covers dynamically created elements not the ones defined in `app/index.html` cause
// that one is replaced by `tests/index.html` for testing.
['link', 'script', 'style'].forEach((type) => {
assert.notOk(
document.head.querySelector(
`${type} meta[http-equiv="Content-Security-Policy"]`,
),
'CSP meta tag does not have a silbing of type ${type}',
);
});
});
});