51 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.tests import tagged, common
class TestMatrixCommon(common.HttpCase):
def setUp(self):
super(TestMatrixCommon, self).setUp()
# Prepare relevant test data
# This is not included in demo data to avoid useless noise
product_attributes = self.env['product.attribute'].create([{
'name': 'PA1',
'create_variant': 'always',
'sequence': 1
}, {
'name': 'PA2',
'create_variant': 'always',
'sequence': 2
}, {
'name': 'PA3',
'create_variant': 'dynamic',
'sequence': 3
}, {
'name': 'PA4',
'create_variant': 'no_variant',
'sequence': 4
}])
self.env['product.attribute.value'].create([{
'name': 'PAV' + str(product_attribute.sequence) + str(i),
'attribute_id': product_attribute.id
} for i in range(1, 3) for product_attribute in product_attributes])
self.matrix_template = self.env['product.template'].create({
'name': "Matrix",
'type': "consu",
'uom_id': self.ref("uom.product_uom_unit"),
'uom_po_id': self.ref("uom.product_uom_unit"),
'attribute_line_ids': [(0, 0, {
'attribute_id': attribute.id,
'value_ids': [(6, 0, attribute.value_ids.ids)]
}) for attribute in product_attributes],
})
def get_ptav(pav_name):
return self.env['product.template.attribute.value']\
.search([('product_attribute_value_id.name', '=', pav_name)])
get_ptav('PAV12').price_extra = 50
get_ptav('PAV31').price_extra = -25