51 lines
1.8 KiB
Python
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
|