2
In order to test the new purchase order line screen, we first create new partners.
3
We then create new products with different internal and supplier configuration (code and name).
5
Finally we create purchase orders with purchase order lines for these different products.
7
Creating a product.category record
9
!record {model: product.category, id: product_category_testproducts0}:
14
I create the first partner,
20
Creating a res.partner record
22
!record {model: res.partner, id: res_partner_africom0}:
28
I create the second partner,
34
Creating a res.partner record
36
!record {model: res.partner, id: res_partner_alaindeloin0}:
42
I create the third partner,
48
Creating a res.partner record
50
!record {model: res.partner, id: res_partner_berthe0}:
57
I create the corresponding addresses
60
Creating a res.partner.address record
62
!record {model: res.partner.address, id: res_partner_address_0}:
64
partner_id: res_partner_africom0
71
Creating a res.partner.address record
73
!record {model: res.partner.address, id: res_partner_address_2}:
74
partner_id: res_partner_alaindeloin0
79
Creating a res.partner.address record
81
!record {model: res.partner.address, id: res_partner_address_3}:
82
partner_id: res_partner_berthe0
86
I create an asset type
89
!record {model: product.asset.type, id: product_asset_type_0}:
93
I create the first product, with no specified suppliers,
94
Name Boite à chaussures
95
Reference CHAUSS INT 1234
98
Creating a product.product record
100
!record {model: product.product, id: product_product_boitechaussures0}:
101
categ_id: product_category_testproducts0
102
cost_method: standard
103
default_code: CHAUSS-INT-1234
105
name: Boite \xc3\xa0 chaussures
106
name_template: Boite \xc3\xa0 chaussures
107
procure_method: make_to_stock
113
uom_id: product.product_uom_unit
114
uom_po_id: product.product_uom_unit
115
valuation: manual_periodic
121
asset_type_id: product_asset_type_0
127
Creating a product.asset record
129
!record {model: product.asset, id: product_asset_testassetcamembert0}:
130
asset_code: chaussures asset code
131
asset_type_id: product_asset_type_0
136
invo_date: '2011-03-22'
139
name: Boite \xc3\xa0 chaussures asset
140
prod_int_code: CHAUSS-INT-1234
141
prod_int_name: Boite \xc3\xa0 chaussures
142
product_id: product_product_boitechaussures0
143
trac_arriv_date: '2011-03-27'
144
trac_orig_mission_code: d
145
trac_receipt_place: d
149
I create the product.asset.event record
152
!record {model: product.asset.event, id: product_asset_event_0}:
153
asset_code: chaussures
154
asset_id: product_asset_testassetcamembert0
155
asset_type_id: product_asset_type_0
157
event_type: reception
160
prod_int_code: CHAUSS-INT-1234
161
prod_int_name: Boite \xc3\xa0 chaussures
168
Creating a stock.location record
170
!record {model: stock.location, id: stock_location_testlocation0}:
171
chained_auto_packing: manual
173
chained_location_type: none
181
Creating a stock.picking record
183
!record {model: stock.picking, id: stock_picking_int0}:
184
company_id: base.main_company
186
max_date: '2011-03-28 12:05:06'
187
min_date: '2011-03-28 12:05:06'
194
Creating a stock.move record
196
!record {model: stock.move, id: stock_move_producttest0}:
197
company_id: base.main_company
198
date: '2011-03-28 12:05:06'
199
date_expected: '2011-03-28 12:05:06'
200
location_dest_id: stock_location_testlocation0
201
location_id: stock_location_testlocation0
203
picking_id: stock_picking_int0
205
product_id: product_product_boitechaussures0
207
product_uom: product.product_uom_unit
211
I check the onchange function, product_asset.onChangeProductId
215
!python {model: product.asset}: |
217
result = self.onChangeProductId(cr, uid, [], ref("product_product_boitechaussures0"))
219
values = result['value']
221
assert values['asset_type_id'] == ref("product_asset_type_0"), 'asset_type_id wrong'
222
assert values['prod_int_code'] == 'CHAUSS-INT-1234', 'prod_int_code wrong'
223
assert values['prod_int_name'] == 'Boite \\xc3\\xa0 chaussures', 'prod_int_name wrong'
226
I check the onchange function, product_asset_event.onChangeAssetId
230
!python {model: product.asset.event}: |
232
result = self.onChangeAssetId(cr, uid, [], ref("product_asset_testassetcamembert0"))
234
values = result['value']
236
assert values['asset_type_id'] == ref("product_asset_type_0"), 'asset_type_id wrong'
237
assert values['prod_int_code'] == 'CHAUSS-INT-1234', 'prod_int_code wrong'
238
assert values['prod_int_name'] == 'Boite \\xc3\\xa0 chaussures', 'prod_int_name wrong'
239
assert values['asset_code'] == 'chaussures asset code', 'asset_code wrong'
240
assert values['hq_brand'] == 'brand', 'hq_brand wrong'
241
assert values['hq_model'] == 'model', 'hq_model wrong'
244
I check the onchange function, stock_move.onchange_product_id
248
!python {model: stock.move}: |
250
result = self.onchange_product_id(cr, uid, [], prod_id=ref("product_product_boitechaussures0"))
252
values = result['value']
254
assert values['asset_id'] == False, 'asset_id wrong'