合并企业版代码(未测试,先提交到测试分支)
This commit is contained in:
53
web_enterprise/static/tests/mobile/webclient_mobile_tests.js
Normal file
53
web_enterprise/static/tests/mobile/webclient_mobile_tests.js
Normal file
@@ -0,0 +1,53 @@
|
||||
/** @odoo-module **/
|
||||
|
||||
import { getActionManagerServerData, doAction } from "@web/../tests/webclient/helpers";
|
||||
import { homeMenuService } from "@web_enterprise/webclient/home_menu/home_menu_service";
|
||||
import { ormService } from "@web/core/orm_service";
|
||||
import { enterpriseSubscriptionService } from "@web_enterprise/webclient/home_menu/enterprise_subscription_service";
|
||||
import { registry } from "@web/core/registry";
|
||||
import { createEnterpriseWebClient } from "../helpers";
|
||||
import { click, getFixture } from "@web/../tests/helpers/utils";
|
||||
|
||||
const serviceRegistry = registry.category("services");
|
||||
|
||||
QUnit.module("WebClient Mobile", (hooks) => {
|
||||
let serverData;
|
||||
hooks.beforeEach(() => {
|
||||
serverData = getActionManagerServerData();
|
||||
serviceRegistry.add("home_menu", homeMenuService);
|
||||
serviceRegistry.add("orm", ormService);
|
||||
serviceRegistry.add("enterprise_subscription", enterpriseSubscriptionService);
|
||||
});
|
||||
|
||||
QUnit.test("scroll position is kept", async (assert) => {
|
||||
// This test relies on the fact that the scrollable element in mobile
|
||||
// is view's root node.
|
||||
const record = serverData.models.partner.records[0];
|
||||
serverData.models.partner.records = [];
|
||||
|
||||
for (let i = 0; i < 80; i++) {
|
||||
const rec = Object.assign({}, record);
|
||||
rec.id = i + 1;
|
||||
rec.display_name = `Record ${rec.id}`;
|
||||
serverData.models.partner.records.push(rec);
|
||||
}
|
||||
|
||||
// force the html node to be scrollable element
|
||||
const target = getFixture();
|
||||
const webClient = await createEnterpriseWebClient({ serverData });
|
||||
|
||||
await doAction(webClient, 3); // partners in list/kanban
|
||||
assert.containsOnce(target, ".o_kanban_view");
|
||||
|
||||
target.querySelector(".o_kanban_view").scrollTo(0, 123);
|
||||
await click(target.querySelectorAll(".o_kanban_record")[20]);
|
||||
assert.containsOnce(target, ".o_form_view");
|
||||
assert.containsNone(target, ".o_kanban_view");
|
||||
|
||||
await click(target.querySelector(".o_control_panel .o_back_button"));
|
||||
assert.containsNone(target, ".o_form_view");
|
||||
assert.containsOnce(target, ".o_kanban_view");
|
||||
|
||||
assert.strictEqual(target.querySelector(".o_kanban_view").scrollTop, 123);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user