[IMP] web_editor: make mocha tests odoo modules
In order to be able to use web dependencies for mocha tests, convert every existing test to an `@odoo-module` and make a new asset `web_editor.mocha_tests` that will be used for tests in `/web_editor/tests` Task-2821374 Part-of: odoo/odoo#104680
This commit is contained in:
@@ -171,6 +171,15 @@ Odoo Web Editor widget.
|
||||
'web_editor/static/tests/**/*',
|
||||
'web_editor/static/src/js/editor/odoo-editor/test/utils.js'
|
||||
],
|
||||
'web_editor.mocha_tests': [
|
||||
'web/static/src/legacy/js/promise_extension.js',
|
||||
'web/static/src/boot.js',
|
||||
# insert module dependencies here
|
||||
|
||||
'web_editor/static/src/js/editor/odoo-editor/src/**/*js',
|
||||
'web_editor/static/src/js/editor/odoo-editor/test/spec/*js',
|
||||
'web_editor/static/src/js/editor/odoo-editor/test/*js',
|
||||
],
|
||||
},
|
||||
'auto_install': True,
|
||||
'license': 'LGPL-3',
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
export const qwebSample = /* xml */ `
|
||||
<h1>Qweb examples</h1>
|
||||
<div>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import './spec/utils.test.js';
|
||||
import './spec/align.test.js';
|
||||
import './spec/color.test.js';
|
||||
@@ -16,31 +18,33 @@ import './spec/odooFields.test.js';
|
||||
import './spec/powerbox.test.js';
|
||||
/* global mocha */
|
||||
|
||||
mocha.run(failures => {
|
||||
if (failures) {
|
||||
for (const faillureElement of [...document.querySelectorAll('.test.fail')]) {
|
||||
const clonedFaillureElement = faillureElement.cloneNode(true);
|
||||
clonedFaillureElement.querySelector('a').remove();
|
||||
console.error(
|
||||
[
|
||||
clonedFaillureElement.querySelector('h2').innerText,
|
||||
clonedFaillureElement.querySelector('.error').innerText,
|
||||
].join('\n\n'),
|
||||
);
|
||||
window.addEventListener("load", () => {
|
||||
mocha.run(failures => {
|
||||
if (failures) {
|
||||
for (const faillureElement of [...document.querySelectorAll('.test.fail')]) {
|
||||
const clonedFaillureElement = faillureElement.cloneNode(true);
|
||||
clonedFaillureElement.querySelector('a').remove();
|
||||
console.error(
|
||||
[
|
||||
clonedFaillureElement.querySelector('h2').innerText,
|
||||
clonedFaillureElement.querySelector('.error').innerText,
|
||||
].join('\n\n'),
|
||||
);
|
||||
}
|
||||
|
||||
// Better visualisation of invisible (ZWS & TABS) character in test
|
||||
// report.
|
||||
const report = document.querySelector("#mocha-report");
|
||||
const allErrors = report.querySelectorAll('.test.fail .error');
|
||||
allErrors.forEach((errorEl) => {
|
||||
let errorElHtml = errorEl.outerHTML
|
||||
errorElHtml = errorElHtml.replaceAll('//zws//', '<b class="zws">zws</b>');
|
||||
errorElHtml = errorElHtml.replaceAll('//TAB//', '<b class="tab">Tab</b>');
|
||||
errorEl.outerHTML = errorElHtml;
|
||||
});
|
||||
} else {
|
||||
console.log('test successful');
|
||||
}
|
||||
|
||||
// Better visualisation of invisible (ZWS & TABS) character in test
|
||||
// report.
|
||||
const report = document.querySelector("#mocha-report");
|
||||
const allErrors = report.querySelectorAll('.test.fail .error');
|
||||
allErrors.forEach((errorEl) => {
|
||||
let errorElHtml = errorEl.outerHTML
|
||||
errorElHtml = errorElHtml.replaceAll('//zws//', '<b class="zws">zws</b>');
|
||||
errorElHtml = errorElHtml.replaceAll('//TAB//', '<b class="tab">Tab</b>');
|
||||
errorEl.outerHTML = errorElHtml;
|
||||
});
|
||||
} else {
|
||||
console.log('test successful');
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { BasicEditor, testEditor } from '../utils.js';
|
||||
|
||||
const justifyLeft = async function (editor) {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { BasicEditor, testEditor } from '../utils.js';
|
||||
|
||||
const timeoutPromise = ms =>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { OdooEditor, parseHTML, setSelection } from '../../src/OdooEditor.js';
|
||||
import {
|
||||
insertCharsAt,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { BasicEditor, testEditor } from '../utils.js';
|
||||
|
||||
const setColor = (color, mode) => {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import {
|
||||
BasicEditor,
|
||||
testEditor,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { OdooEditor } from '../../src/OdooEditor.js';
|
||||
import {
|
||||
getTraversedNodes,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { BasicEditor, insertText, testEditor, deleteForward, deleteBackward } from '../utils.js';
|
||||
|
||||
describe('FontAwesome', () => {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { isSelectionFormat } from '../../src/utils/utils.js';
|
||||
import { BasicEditor, testEditor, setTestSelection, Direction, unformat } from '../utils.js';
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { parseHTML } from '../../src/utils/utils.js';
|
||||
import { BasicEditor, testEditor, unformat, insertText, deleteBackward } from '../utils.js';
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { URL_REGEX, URL_REGEX_WITH_INFOS } from '../../src/OdooEditor.js';
|
||||
import {
|
||||
BasicEditor,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import {
|
||||
BasicEditor,
|
||||
click,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { BasicEditor, testEditor, unformat } from '../utils.js';
|
||||
|
||||
describe('Odoo fields', () => {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { setSelection } from '../../src/OdooEditor.js';
|
||||
import { Powerbox } from '../../src/powerbox/Powerbox.js';
|
||||
import { BasicEditor, insertText, testEditor, triggerEvent } from '../utils.js';
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import {
|
||||
BasicEditor,
|
||||
deleteBackward,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import { URL_REGEX, URL_REGEX_WITH_INFOS } from '../../src/OdooEditor.js';
|
||||
|
||||
describe('urlRegex', () => {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
/** @odoo-module */
|
||||
|
||||
import {
|
||||
ancestors,
|
||||
boundariesIn,
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
<script src="/web_editor/static/src/js/editor/odoo-editor/test/lib/mocha.js"></script>
|
||||
<script src="/web_editor/static/src/js/editor/odoo-editor/test/lib/chai.js"></script>
|
||||
<script>mocha.setup('bdd').fullTrace()</script>
|
||||
<script src="/web_editor/static/src/js/editor/odoo-editor/test/editor-test.js" type="module"></script>
|
||||
<t t-call-assets="web_editor.mocha_tests"/>
|
||||
</t>
|
||||
<div id="mocha"></div>
|
||||
<div id="editor-test-container"></div>
|
||||
|
||||
Reference in New Issue
Block a user