|
- # Copyright 2016 上海开阖软件有限公司 (http://www.osbzr.com)
- # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-
- from odoo.tests.common import TransactionCase
- from odoo.exceptions import UserError
-
-
- class TestDetailWizard(TransactionCase):
- '''测试采购入库明细表向导'''
-
- def setUp(self):
- ''' 准备报表数据 '''
- super(TestDetailWizard, self).setUp()
- # 给wh_in_whin0修改时间,使其凭证在demo会计期间内
- self.env.ref('warehouse.wh_in_whin0').date = '2016-02-06'
-
- # 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
- self.env.ref('money.get_40000').money_order_done()
- self.env.ref('money.pay_2000').money_order_done()
-
- # 给buy_order_1中的商品“键盘”的分类设置科目
- self.env.ref('core.goods_category_1').account_id = self.env.ref(
- 'finance.account_goods').id
- warehouse_obj = self.env.ref('warehouse.wh_in_whin0')
- warehouse_obj.approve_order()
- self.order = self.env.ref('buy.buy_order_1')
- self.order.bank_account_id = False
- self.order.buy_order_done()
- self.receipt = self.env['buy.receipt'].search(
- [('order_id', '=', self.order.id)])
- self.receipt.bank_account_id = self.env.ref('core.comm')
- self.receipt.payment = 2.0
- self.receipt.buy_receipt_done()
- self.receipt_return = self.browse_ref('buy.buy_receipt_return_1')
- self.receipt_return.buy_receipt_done()
- self.detail_obj = self.env['buy.order.detail.wizard']
- self.detail = self.detail_obj.create({})
- # 退货订单审核生成退货单,退货单审核
- return_order = self.env.ref('buy.buy_return_order_1')
- return_order.bank_account_id = False
- return_order.buy_order_done()
- return_receipt = self.env['buy.receipt'].search(
- [('order_id', '=', return_order.id)])
- return_receipt.buy_receipt_done()
-
- def test_button_ok(self):
- '''测试采购入库明细表确认按钮'''
- # 日期报错
- detail = self.detail_obj.create({
- 'date_start': '2016-11-01',
- 'date_end': '2016-1-01',
- })
- with self.assertRaises(UserError):
- detail.button_ok()
- # 按日期搜索
- self.detail.button_ok()
- # 按商品、供应商、单据编号、仓库搜索
- self.detail.goods_id = self.env.ref('goods.mouse').id
- self.detail.partner_id = self.env.ref('core.lenovo').id
- self.detail.order_id = self.receipt.id
- self.detail.warehouse_dest_id = self.env.ref('warehouse.hd_stock').id
- self.detail.button_ok()
-
- def test_view_detail(self):
- '''查看明细按钮'''
- self.detail.button_ok()
- goods_id = self.env.ref('goods.keyboard').id
- detail_line = self.env['buy.order.detail'].search(
- [('goods_id', '=', goods_id)])
- for line in detail_line:
- line.view_detail()
-
-
- class TestTrackWizard(TransactionCase):
- '''测试采购订单跟踪表向导'''
-
- def setUp(self):
- ''' 准备报表数据 '''
- super(TestTrackWizard, self).setUp()
- return
- # 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
- self.env.ref('money.get_40000').money_order_done()
- self.env.ref('money.pay_2000').money_order_done()
- # 给商品的分类设置科目
- self.env.ref('core.goods_category_1').account_id = self.env.ref(
- 'finance.account_goods').id
- warehouse_obj = self.env.ref('warehouse.wh_in_whin0')
- # 给wh_in_whin0修改时间,使其凭证在demo会计期间内
- self.env.ref('warehouse.wh_in_whin0').date = '2016-02-06'
- warehouse_obj.approve_order()
- self.order = self.env.ref('buy.buy_order_1')
- order_2 = self.env.ref('buy.buy_order_1_same')
- order_2.quantity = 1
- for line in order_2.line_ids:
- line.goods_id = self.env.ref('goods.mouse').id
- line.lot = 'mouse001'
- order_2.bank_account_id = False
- order_2.buy_order_done()
- receipt_2 = self.env['buy.receipt'].search(
- [('order_id', '=', order_2.id)])
- line_lists = []
- for line in receipt_2.line_in_ids:
- if line.id not in line_lists:
- line.lot = 'mouse_lot_' + str(line.id)
- line.goods_qty = 1
- line_lists.append(line.id)
-
- receipt_2.buy_receipt_done()
- receipt_3 = self.env['buy.receipt'].search(
- [('order_id', '=', order_2.id), ('state', '=', 'draft')])
- receipt_3.buy_receipt_done()
- self.order.bank_account_id = False
- self.order.buy_order_done()
- self.receipt = self.env['buy.receipt'].search(
- [('order_id', '=', self.order.id)])
- self.receipt.bank_account_id = self.env.ref('core.comm')
- self.receipt.payment = 2.0
- self.receipt.buy_receipt_done()
- self.receipt_return = self.browse_ref('buy.buy_receipt_return_1')
- self.receipt_return.buy_receipt_done()
- self.track_obj = self.env['buy.order.track.wizard']
- self.track = self.track_obj.create({})
-
- def test_button_ok(self):
- '''测试采购订单跟踪表确认按钮'''
- return
- # 日期报错
- track = self.track_obj.create({
- 'date_start': '2016-11-01',
- 'date_end': '2016-1-01',
- })
- with self.assertRaises(UserError):
- track.button_ok()
- # 按日期搜索
- self.track.button_ok()
- # 按商品、供应商、订单号、仓库搜索
- self.track.goods_id = self.env.ref('goods.mouse').id
- self.track.partner_id = self.env.ref('core.lenovo').id
- self.track.order_id = self.order.id
- self.track.warehouse_dest_id = self.env.ref('warehouse.hd_stock').id
- self.track.button_ok()
-
- def test_view_detail(self):
- '''查看明细按钮'''
- return
- self.track.button_ok()
- goods_id = self.env.ref('goods.cable').id
- track_line = self.env['buy.order.track'].search(
- [('goods_id', '=', goods_id)])
- track_line[0].view_detail()
-
-
- class TestPaymentWizard(TransactionCase):
- '''测试采购付款一览表向导'''
-
- def setUp(self):
- ''' 准备报表数据 '''
- super(TestPaymentWizard, self).setUp()
- # 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
- self.env.ref('money.get_40000').money_order_done()
- self.env.ref('money.pay_2000').money_order_done()
- # 给buy_order_1中的商品“键盘”的分类设置科目
- self.env.ref('core.goods_category_1').account_id = self.env.ref(
- 'finance.account_goods').id
- self.env.ref('warehouse.wh_in_whin0').date = '2016-02-06'
- warehouse_obj = self.env.ref('warehouse.wh_in_whin0')
- warehouse_obj.approve_order()
- self.order = self.env.ref('buy.buy_order_1')
- self.order.bank_account_id = False
- self.order.buy_order_done()
- self.receipt = self.env['buy.receipt'].search(
- [('order_id', '=', self.order.id)])
- self.receipt.bank_account_id = self.env.ref('core.comm')
- self.receipt.payment = 2.0
- new_receipt = self.receipt.copy()
- new_receipt.payment = 0
- new_receipt.bank_account_id = False
- new_receipt.buy_receipt_done()
- self.receipt.buy_receipt_done()
- # 查找产生的付款单,并审核
- source_line = self.env['source.order.line'].search(
- [('name', '=', self.receipt.invoice_id.id)])
- for line in source_line:
- line.money_id.money_order_done()
- self.receipt_return = self.browse_ref('buy.buy_receipt_return_1')
- self.receipt_return.buy_receipt_done()
- self.payment_obj = self.env['buy.payment.wizard']
- self.payment = self.payment_obj.create({})
-
- def test_button_ok(self):
- '''测试采购付款一览表确认按钮'''
- # 日期报错
- payment = self.payment_obj.create({
- 'date_start': '2016-11-01',
- 'date_end': '2016-1-01',
- })
- with self.assertRaises(UserError):
- payment.button_ok()
- # 按日期搜索
- self.payment.button_ok()
- # 按供应商类别,供应商,采购单号搜索
- s_category_id = self.env.ref('core.supplier_category_1').id
- self.payment.s_category_id = s_category_id
- self.payment.partner_id = self.env.ref('core.lenovo').id
- self.payment.order_id = self.env.ref('buy.buy_order_1').id
- self.payment.warehouse_dest_id = self.env.ref('warehouse.hd_stock').id
- self.payment.button_ok()
-
- def test_view_detail(self):
- '''查看明细按钮'''
- self.payment.button_ok()
- payment_line = self.env['buy.payment'].search(
- [('order_name', '=', self.receipt.name)])
- for line in payment_line:
- line.view_detail()
- payment_line2 = self.env['buy.payment'].search(
- [('order_name', '=', self.receipt_return.name)])
- for line in payment_line2:
- line.view_detail()
-
-
- class TestGoodsWizard(TransactionCase):
- '''测试采购汇总表(按商品)向导'''
-
- def setUp(self):
- ''' 准备报表数据 '''
- super(TestGoodsWizard, self).setUp()
- self.env.ref('core.goods_category_1').account_id = self.env.ref(
- 'finance.account_goods').id
- # 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
- self.env.ref('money.get_40000').money_order_done()
- self.env.ref('money.pay_2000').money_order_done()
- # 给wh_in_whin0修改时间,使其凭证在demo会计期间内
- self.env.ref('warehouse.wh_in_whin0').date = '2016-02-06'
- warehouse_obj = self.env.ref('warehouse.wh_in_whin0')
- warehouse_obj.approve_order()
- self.order = self.env.ref('buy.buy_order_1')
- self.order.bank_account_id = False
- self.order.buy_order_done()
- self.receipt = self.env['buy.receipt'].search(
- [('order_id', '=', self.order.id)])
- self.receipt.bank_account_id = self.env.ref('core.comm')
- self.receipt.payment = 2.0
- self.receipt.buy_receipt_done()
- self.receipt_return = self.browse_ref('buy.buy_receipt_return_1')
- self.receipt_return.buy_receipt_done()
- self.goods_wizard_obj = self.env['buy.summary.goods.wizard']
- self.goods_wizard = self.goods_wizard_obj.create({})
-
- self.goods_mouse = self.env.ref('goods.mouse')
- self.core_lenovo = self.env.ref('core.lenovo')
- self.goods_categ = self.env.ref('core.goods_category_1')
- self.hd_stock = self.env.ref('warehouse.hd_stock')
-
- def test_button_ok(self):
- '''采购汇总表(按商品)向导确认按钮'''
- # 日期报错
- goods_wizard = self.goods_wizard_obj.create({
- 'date_start': '2016-11-01',
- 'date_end': '2016-1-01',
- })
- with self.assertRaises(UserError):
- goods_wizard.button_ok()
- # 按日期搜索
- self.goods_wizard.button_ok()
-
- def test_goods_report(self):
- '''测试采购汇总表(按商品)报表'''
- summary_goods = self.env['buy.summary.goods'].create({})
- context = self.goods_wizard.button_ok().get('context')
- results = summary_goods.with_context(context).search_read(domain=[])
- new_wizard = self.goods_wizard.copy()
- new_wizard.goods_id = self.goods_mouse.id
- new_wizard.partner_id = self.core_lenovo.id
- new_wizard.goods_categ_id = self.goods_categ.id
- new_wizard.warehouse_dest_id = self.hd_stock.id
- new_context = new_wizard.button_ok().get('context')
- new_results = summary_goods.with_context(new_context).search_read(
- domain=[])
-
- def test_view_detail(self):
- '''采购汇总表(按商品) 查看明细按钮'''
- # 先创建采购明细表
- detail_obj = self.env['buy.order.detail.wizard']
- detail = detail_obj.create({})
- detail.button_ok()
-
- summary_goods = self.env['buy.summary.goods'].create({})
- context = self.goods_wizard.button_ok().get('context')
- results = summary_goods.with_context(context).search_read(domain=[])
- for line in results:
- summary_line = summary_goods.browse(line['id'])
- summary_line.with_context(context).view_detail()
-
-
- class TestPartnerWizard(TransactionCase):
- '''测试采购汇总表(按供应商)向导'''
-
- def setUp(self):
- ''' 准备报表数据 '''
- super(TestPartnerWizard, self).setUp()
- self.env.ref('core.goods_category_1').account_id = self.env.ref(
- 'finance.account_goods').id
- # 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
- self.env.ref('money.get_40000').money_order_done()
- self.env.ref('money.pay_2000').money_order_done()
- # 给wh_in_whin0修改时间,使其凭证在demo会计期间内
- self.env.ref('warehouse.wh_in_whin0').date = '2016-02-06'
- warehouse_obj = self.env.ref('warehouse.wh_in_whin0')
- warehouse_obj.approve_order()
- self.order = self.env.ref('buy.buy_order_1')
- self.order.bank_account_id = False
- self.order.buy_order_done()
- self.receipt = self.env['buy.receipt'].search(
- [('order_id', '=', self.order.id)])
- self.receipt.bank_account_id = self.env.ref('core.comm')
- self.receipt.payment = 2.0
- self.receipt.buy_receipt_done()
- self.receipt_return = self.browse_ref('buy.buy_receipt_return_1')
- self.receipt_return.buy_receipt_done()
- self.partner_obj = self.env['buy.summary.partner.wizard']
- self.partner = self.partner_obj.create({})
-
- def test_button_ok(self):
- '''采购汇总表(按供应商)向导确认按钮'''
- # 日期报错
- partner = self.partner_obj.create({
- 'date_start': '2016-11-01',
- 'date_end': '2016-1-01',
- })
- with self.assertRaises(UserError):
- partner.button_ok()
-
- def test_partner_report(self):
- '''采购汇总表(按供应商)报表'''
- summary_partner = self.env['buy.summary.partner'].create({})
- context = self.partner.button_ok().get('context')
- results = summary_partner.with_context(context).search_read(domain=[])
- new_wizard = self.partner.copy()
- new_wizard.goods_id = self.env.ref('goods.mouse').id
- new_wizard.partner_id = self.env.ref('core.lenovo').id
- new_wizard.s_category_id = \
- self.env.ref('core.supplier_category_1').id
- new_wizard.warehouse_dest_id = \
- self.env.ref('warehouse.hd_stock').id
- new_context = new_wizard.button_ok().get('context')
- new_results = summary_partner.with_context(new_context).search_read(
- domain=[])
-
- def test_view_detail(self):
- '''采购汇总表(按供应商) 查看明细按钮'''
- # 先创建采购明细表
- detail_obj = self.env['buy.order.detail.wizard']
- detail = detail_obj.create({})
- detail.button_ok()
-
- summary_partner = self.env['buy.summary.partner'].create({})
- context = self.partner.button_ok().get('context')
- results = summary_partner.with_context(context).search_read(domain=[])
- for line in results:
- summary_line = summary_partner.browse(line['id'])
- summary_line.with_context(context).view_detail()
|