Skip to content

Commit

Permalink
Merge pull request osbzr#1828 from floraXiao/master
Browse files Browse the repository at this point in the history
[ADD]增加sell_receipt和sell_order.py测试
  • Loading branch information
GoodERPJeff authored Jun 19, 2018
2 parents 5f7fcd4 + d822538 commit b44a76d
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 2 deletions.
6 changes: 4 additions & 2 deletions sell/models/sell_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -455,14 +455,16 @@ def action_view_return(self):
'view_id': False,
'target': 'current',
}
tree_view_id = self.env.ref('sell.sell_return_tree').id
form_view_id = self.env.ref('sell.sell_return_form').id
delivery_ids = [delivery.id for delivery in self.delivery_ids if delivery.is_return]
if len(delivery_ids) > 1:
action['domain'] = "[('id','in',[" + \
','.join(map(str, delivery_ids)) + "])]"
action['view_mode'] = 'tree,form'
action['views'] = [(tree_view_id, 'tree'), (form_view_id, 'form')]
elif len(delivery_ids) == 1:
view_id = self.env.ref('sell.sell_return_form').id
action['views'] = [(view_id, 'form')]
action['views'] = [(form_view_id, 'form')]
action['res_id'] = delivery_ids and delivery_ids[0] or False
return action

Expand Down
8 changes: 8 additions & 0 deletions sell/tests/test_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,14 @@ def test_view_detail(self):
for line in receipt_line2:
line.view_detail()

def test_generate_reconcile_order(self):
'''新建核销单,应收冲预收,客户为所选行客户'''
self.receipt_wizard.button_ok()
for line in self.env['sell.receipt'].search([
('order_name', '=', u'未核销预收款'), ('receipt', '!=', 0)]):
line.generate_reconcile_order()
# 查看生成的核销单
line.generate_reconcile_order()

class TestSellTopTenWizard(TransactionCase):
'''测试销量前十商品向导'''
Expand Down
35 changes: 35 additions & 0 deletions sell/tests/test_sell_delivery.py
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,41 @@ def test_sell_delivery_draft_money_order_process(self):
deliverys and deliverys[0].sell_delivery_draft() # 收款单 源单行 有别的行存在
len(deliverys) > 1 and deliverys[1].sell_delivery_draft() # 收款单 源单行 不存在别的行

def test_sell_delivery_draft_raise_error(self):
'''不能反审核已核销的发货单'''
self.delivery.sell_delivery_done()
order = self.env['reconcile.order'].create({
'partner_id': self.env.ref('core.jd').id,
'business_type': 'adv_pay_to_get',
})
order.onchange_partner_id()
# 将预收款40000的收款单核销本次发货单(金额75)
for line in order.advance_payment_ids:
if line.name != self.env.ref('money.get_40000'):
line.unlink()
else:
line.this_reconcile = 75.0
order.reconcile_order_done()
with self.assertRaises(UserError):
self.delivery.sell_delivery_draft()

def test_sell_delivery_draft_quantity_out(self):
'''反审核时,回写销货订单行已执行数量'''
# 退货类型的销货订单生成的退货单的反审核
self.return_delivery.sell_delivery_done()
self.return_delivery.sell_delivery_draft()
self.assertEqual(self.return_delivery.line_in_ids[0].sell_line_id.quantity_out, 0.0)

# 销货类型的销货订单生成的发货单,生成退货单的反审核
return_dict = self.delivery.sell_to_return()
return_order = self.env['sell.delivery'].search(
[('id', '=', return_dict['res_id'])])
return_order.line_in_ids[0].goods_qty = 30
return_order.sell_delivery_done()

return_order.sell_delivery_draft()
self.assertEqual(return_order.line_in_ids[0].sell_line_id.quantity_out, 0.0)

def test_no_stock(self):
''' 测试虚拟商品出库 '''
delivery = self.delivery.copy()
Expand Down
17 changes: 17 additions & 0 deletions sell/tests/test_sell_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ def setUp(self):
super(TestSellOrder, self).setUp()
self.env.ref('core.jd').credit_limit = 100000
self.order = self.env.ref('sell.sell_order_1')
self.return_order = self.env.ref('sell.sell_order_return')
self.env.ref('sell.sell_order_line_1').tax_rate = 0

# 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
Expand Down Expand Up @@ -202,6 +203,22 @@ def test_action_view_delivery(self):
# compute_delivery_count
self.assertTrue(order_2.delivery_count == 2)

def test_action_view_return(self):
'''该销货订单对应的退货单'''
self.return_order.sell_order_done()
self.return_order.action_view_return()
self.assertTrue(self.return_order.return_count == 1)

# len(delivery_ids) > 1
delivery = self.env['sell.delivery'].search([
('order_id', '=', self.return_order.id)])
for line in delivery.line_in_ids:
line.goods_qty = 5
line.location_id = self.env.ref('warehouse.b001_location')
delivery.sell_delivery_done()
self.return_order.action_view_return()
self.assertTrue(self.return_order.return_count == 2)


class TestSellOrderLine(TransactionCase):

Expand Down

0 comments on commit b44a76d

Please sign in to comment.