mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
[add] stock_optional_valuation: test
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# Copyright (C) 2013 Agile Business Group sagl (<http://www.agilebg.com>)
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
@@ -28,13 +28,14 @@ You can choose which stock moves have to generate inventory valutanion accountin
|
||||
'author': 'Agile Business Group',
|
||||
'website': 'http://www.agilebg.com',
|
||||
'license': 'AGPL-3',
|
||||
"depends" : ['stock'],
|
||||
"data" : [
|
||||
"depends": ['stock'],
|
||||
"data": [
|
||||
"stock_view.xml",
|
||||
],
|
||||
"demo" : [],
|
||||
],
|
||||
"demo": [],
|
||||
'test': [
|
||||
],
|
||||
'test/stock.yml'
|
||||
],
|
||||
"active": False,
|
||||
"installable": True
|
||||
}
|
||||
|
||||
95
stock_optional_valuation/test/stock.yml
Normal file
95
stock_optional_valuation/test/stock.yml
Normal file
@@ -0,0 +1,95 @@
|
||||
-
|
||||
I need a product with real time valuation.
|
||||
-
|
||||
!record {model: product.product, id: product.product_product_24}:
|
||||
valuation: real_time
|
||||
property_stock_account_input: account.o_expense
|
||||
property_stock_account_output: account.o_income
|
||||
-
|
||||
!record {model: stock.picking, id: outgoing_shipment}:
|
||||
type: out
|
||||
-
|
||||
!record {model: stock.move, id: outgoing_shipment_card}:
|
||||
picking_id: outgoing_shipment
|
||||
product_id: product.product_product_24
|
||||
product_qty: 2.0
|
||||
location_id: stock.stock_location_stock
|
||||
location_dest_id: stock.location_inventory
|
||||
-
|
||||
I confirm outgoing shipment of 2 Graphics Cards from Stock to Inventory Loss
|
||||
-
|
||||
!workflow {model: stock.picking, action: button_confirm, ref: outgoing_shipment}
|
||||
-
|
||||
I process the picking
|
||||
-
|
||||
!python {model: stock.partial.picking}: |
|
||||
context.update({'active_model': 'stock.picking', 'active_id': ref('outgoing_shipment'), 'active_ids': [ref('outgoing_shipment')]})
|
||||
-
|
||||
!record {model: stock.partial.picking, id: partial_outgoing}:
|
||||
move_ids:
|
||||
- quantity: 2.0
|
||||
product_id: product.product_product_24
|
||||
product_uom: product.product_uom_unit
|
||||
move_id: outgoing_shipment_card
|
||||
location_id: stock.stock_location_stock
|
||||
location_dest_id: stock.location_inventory
|
||||
-
|
||||
!python {model: stock.partial.picking }: |
|
||||
self.do_partial(cr, uid, [ref('partial_outgoing')], context=context)
|
||||
-
|
||||
My picking should have generated a Journal Entry with the same name
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
picking_name = self.browse(cr, uid, ref('outgoing_shipment'), context=context).name
|
||||
a_move_obj = self.pool.get('account.move')
|
||||
# count those
|
||||
a_move_ids = a_move_obj.search(cr, uid, [('ref', '=', picking_name)])
|
||||
assert len(a_move_ids) == 1, "An outgoing picking should generate a Journal Entry"
|
||||
-
|
||||
Now I will consider the location to be Internal
|
||||
-
|
||||
!record {model: stock.location, id: stock.location_inventory}:
|
||||
consider_internal: True
|
||||
-
|
||||
I repeate the process above. Now no Journal Entry should be generated.
|
||||
-
|
||||
!record {model: stock.picking, id: outgoing_shipment_as_internal}:
|
||||
type: out
|
||||
-
|
||||
!record {model: stock.move, id: outgoing_shipment_as_internal_card}:
|
||||
picking_id: outgoing_shipment_as_internal
|
||||
product_id: product.product_product_24
|
||||
product_qty: 2.0
|
||||
location_id: stock.stock_location_stock
|
||||
location_dest_id: stock.location_inventory
|
||||
|
||||
-
|
||||
I confirm outgoing shipment of 2 Graphics Cards from Stock to Inventory Loss
|
||||
-
|
||||
!workflow {model: stock.picking, action: button_confirm, ref: outgoing_shipment_as_internal}
|
||||
-
|
||||
I process the picking
|
||||
-
|
||||
!python {model: stock.partial.picking}: |
|
||||
context.update({'active_model': 'stock.picking', 'active_id': ref('outgoing_shipment_as_internal'), 'active_ids': [ref('outgoing_shipment_as_internal')]})
|
||||
-
|
||||
!record {model: stock.partial.picking, id: partial_outgoing}:
|
||||
move_ids:
|
||||
- quantity: 2.0
|
||||
product_id: product.product_product_24
|
||||
product_uom: product.product_uom_unit
|
||||
move_id: outgoing_shipment_as_internal_card
|
||||
location_id: stock.stock_location_stock
|
||||
location_dest_id: stock.location_inventory
|
||||
-
|
||||
!python {model: stock.partial.picking }: |
|
||||
self.do_partial(cr, uid, [ref('partial_outgoing')], context=context)
|
||||
-
|
||||
Now there should be no Journal Entries with the same name
|
||||
-
|
||||
!python {model: stock.picking }: |
|
||||
picking_name = self.browse(cr, uid, ref('outgoing_shipment_as_internal'), context=context).name
|
||||
a_move_obj = self.pool.get('account.move')
|
||||
# count those
|
||||
a_move_ids = a_move_obj.search(cr, uid, [('ref', '=', picking_name)])
|
||||
assert len(a_move_ids) == 0, "Locations treater as internal should generate no Journal Entries"
|
||||
Reference in New Issue
Block a user