odoo.define('base.settings_mobile_tests', function (require) { "use strict"; var BaseSetting = require('base.settings'); var testUtils = require('web.test_utils'); var view_registry = require('web.view_registry'); var BaseSettingsView = view_registry.get('base_settings'); var createView = testUtils.createView; // prevent the renderer from doing RPCs to fetch app icons BaseSetting.Renderer.include({ _getAppIconUrl: function () { return ''; }, }); QUnit.module('mobile_base_settings_tests', { beforeEach: function () { this.data = { project: { fields: { foo: {string: 'Foo', type: 'boolean'}, bar: {string: 'Bar', type: 'boolean'}, }, }, }; } }, function () { QUnit.module('BaseSettings Mobile'); QUnit.test('swipe settings in mobile', async function (assert) { assert.expect(2); // mimic touchSwipe library's swipe method var oldSwipe = $.fn.swipe; var swipeLeft, swipeRight; $.fn.swipe = function (params) { swipeLeft = params.swipeLeft; swipeRight = params.swipeRight; }; var form = await createView({ View: BaseSettingsView, model: 'project', data: this.data, arch: '
' + '
' + '
'+ '
' + '
' + '
'+ '
'+ '
' + ''+ '
'+ '
'+ '
' + '
'+ '
' + '
' + '
' + '
'+ '
'+ '
' + ''+ '
'+ '
'+ '
' + '
'+ '
' + '
' + '
' + '
' + '', }); swipeLeft(); assert.strictEqual(form.$('.settings .current').data('key'), 'project', 'current setting should be project'); swipeRight(); assert.strictEqual(form.$('.settings .current').data('key'), 'crm', 'current setting should be crm'); $.fn.swipe = oldSwipe; form.destroy(); }); }); });