/** @odoo-module **/ import { getFixture, mount, nextTick } from "@web/../tests/helpers/utils"; import { makeWithSearch, setupControlPanelServiceRegistry } from "@web/../tests/search/helpers"; import { Layout } from "@web/search/layout"; import { getDefaultConfig } from "@web/views/view"; import { makeTestEnv } from "@web/../tests/helpers/mock_env"; import { SearchModel } from "@web/search/search_model"; import { Component, xml, onWillStart, useChildSubEnv, useSubEnv } from "@odoo/owl"; import { useService } from "@web/core/utils/hooks"; let target; let serverData; QUnit.module("Views", (hooks) => { hooks.beforeEach(() => { serverData = { models: { foo: { fields: { aaa: { type: "selection", selection: [ ["a", "A"], ["b", "B"], ], }, }, records: [], }, }, views: { "foo,false,search": /* xml */ ` `, }, }; setupControlPanelServiceRegistry(); target = getFixture(); }); QUnit.module("Layout"); QUnit.test("Simple rendering", async (assert) => { class ToyComponent extends Component {} ToyComponent.template = xml`
`; ToyComponent.components = { Layout }; const env = await makeTestEnv(); const toyEnv = Object.assign(Object.create(env), { config: {} }); await mount(ToyComponent, getFixture(), { env: toyEnv }); assert.containsOnce(target, ".o_view_sample_data"); assert.containsNone(target, ".o_control_panel"); assert.containsNone(target, ".o_component_with_search_panel"); assert.containsNone(target, ".o_search_panel"); assert.containsOnce(target, ".o_content > .toy_content"); }); QUnit.test("Simple rendering: with search", async (assert) => { class ToyComponent extends Component {} ToyComponent.template = xml`