odoo/addons/web/static/test/evals.js

153 lines
6.5 KiB
JavaScript

$(document).ready(function () {
var openerp;
module("eval.contexts", {
setup: function () {
openerp = window.openerp.init([]);
window.openerp.web.corelib(openerp);
window.openerp.web.coresetup(openerp);
}
});
test('context_sequences', function () {
// Context n should have base evaluation context + all of contexts
// 0..n-1 in its own evaluation context
var active_id = 4;
var result = openerp.session.test_eval_contexts([
{
"__contexts": [
{
"department_id": false,
"lang": "en_US",
"project_id": false,
"section_id": false,
"tz": false,
"uid": 1
},
{ "search_default_create_uid": 1 },
{}
],
"__eval_context": null,
"__ref": "compound_context"
},
{
"active_id": active_id,
"active_ids": [ active_id ],
"active_model": "purchase.requisition"
},
{
"__debug": "{'record_id' : active_id}",
"__id": "63e8e9bff8a6",
"__ref": "context"
}
]);
deepEqual(result, {
department_id: false,
lang: 'en_US',
project_id: false,
section_id: false,
tz: false,
uid: 1,
search_default_create_uid: 1,
active_id: active_id,
active_ids: [active_id],
active_model: 'purchase.requisition',
record_id: active_id
});
});
test('non-literal_eval_contexts', function () {
var result = openerp.session.test_eval_contexts([{
"__ref": "compound_context",
"__contexts": [
{"__ref": "context", "__debug": "{'type':parent.type}",
"__id": "462b9dbed42f"}
],
"__eval_context": {
"__ref": "compound_context",
"__contexts": [{
"__ref": "compound_context",
"__contexts": [
{"__ref": "context", "__debug": "{'type': type}",
"__id": "16a04ed5a194"}
],
"__eval_context": {
"__ref": "compound_context",
"__contexts": [
{"lang": "en_US", "tz": false, "uid": 1,
"journal_type": "sale", "section_id": false,
"default_type": "out_invoice",
"type": "out_invoice", "department_id": false},
{"id": false, "journal_id": 10,
"number": false, "type": "out_invoice",
"currency_id": 1, "partner_id": 4,
"fiscal_position": false,
"date_invoice": false, "period_id": false,
"payment_term": false, "reference_type": "none",
"reference": false, "account_id": 440,
"name": false, "invoice_line": [],
"tax_line": [], "amount_untaxed": 0,
"amount_tax": 0, "reconciled": false,
"amount_total": 0, "state": "draft",
"residual": 0, "company_id": 1,
"date_due": false, "user_id": 1,
"partner_bank_id": false, "origin": false,
"move_id": false, "comment": false,
"payment_ids": [[6, false, []]],
"active_id": false, "active_ids": [],
"active_model": "account.invoice",
"parent": {}}
], "__eval_context": null}
}, {
"id": false,
"product_id": 4,
"name": "[PC1] Basic PC",
"quantity": 1,
"uos_id": 1,
"price_unit": 100,
"account_id": 853,
"discount": 0,
"account_analytic_id": false,
"company_id": false,
"note": false,
"invoice_line_tax_id": [[6, false, [1]]],
"active_id": false,
"active_ids": [],
"active_model": "account.invoice.line",
"parent": {
"id": false, "journal_id": 10, "number": false,
"type": "out_invoice", "currency_id": 1,
"partner_id": 4, "fiscal_position": false,
"date_invoice": false, "period_id": false,
"payment_term": false, "reference_type": "none",
"reference": false, "account_id": 440, "name": false,
"tax_line": [], "amount_untaxed": 0, "amount_tax": 0,
"reconciled": false, "amount_total": 0,
"state": "draft", "residual": 0, "company_id": 1,
"date_due": false, "user_id": 1,
"partner_bank_id": false, "origin": false,
"move_id": false, "comment": false,
"payment_ids": [[6, false, []]]}
}],
"__eval_context": null
}
}]);
deepEqual(result, {type: 'out_invoice'});
});
module('eval.domains', {
setup: function () {
openerp = window.openerp.testing.instanceFor('coresetup');
window.openerp.web.dates(openerp);
}
});
test('current_date', function () {
var current_date = openerp.web.date_to_str(new Date());
var result = openerp.session.test_eval_domains(
[[],{"__ref":"domain","__debug":"[('name','>=',current_date),('name','<=',current_date)]","__id":"5dedcfc96648"}],
openerp.session.test_eval_get_context());
deepEqual(result, [
['name', '>=', current_date],
['name', '<=', current_date]
]);
})
});