GoodERP
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

363 rindas
16KB

  1. # Copyright 2016 上海开阖软件有限公司 (http://www.osbzr.com)
  2. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
  3. from odoo.tests.common import TransactionCase
  4. from odoo.exceptions import UserError
  5. class TestDetailWizard(TransactionCase):
  6. '''测试采购入库明细表向导'''
  7. def setUp(self):
  8. ''' 准备报表数据 '''
  9. super(TestDetailWizard, self).setUp()
  10. # 给wh_in_whin0修改时间,使其凭证在demo会计期间内
  11. self.env.ref('warehouse.wh_in_whin0').date = '2016-02-06'
  12. # 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
  13. self.env.ref('money.get_40000').money_order_done()
  14. self.env.ref('money.pay_2000').money_order_done()
  15. # 给buy_order_1中的商品“键盘”的分类设置科目
  16. self.env.ref('core.goods_category_1').account_id = self.env.ref(
  17. 'finance.account_goods').id
  18. warehouse_obj = self.env.ref('warehouse.wh_in_whin0')
  19. warehouse_obj.approve_order()
  20. self.order = self.env.ref('buy.buy_order_1')
  21. self.order.bank_account_id = False
  22. self.order.buy_order_done()
  23. self.receipt = self.env['buy.receipt'].search(
  24. [('order_id', '=', self.order.id)])
  25. self.receipt.bank_account_id = self.env.ref('core.comm')
  26. self.receipt.payment = 2.0
  27. self.receipt.buy_receipt_done()
  28. self.receipt_return = self.browse_ref('buy.buy_receipt_return_1')
  29. self.receipt_return.buy_receipt_done()
  30. self.detail_obj = self.env['buy.order.detail.wizard']
  31. self.detail = self.detail_obj.create({})
  32. # 退货订单审核生成退货单,退货单审核
  33. return_order = self.env.ref('buy.buy_return_order_1')
  34. return_order.bank_account_id = False
  35. return_order.buy_order_done()
  36. return_receipt = self.env['buy.receipt'].search(
  37. [('order_id', '=', return_order.id)])
  38. return_receipt.buy_receipt_done()
  39. def test_button_ok(self):
  40. '''测试采购入库明细表确认按钮'''
  41. # 日期报错
  42. detail = self.detail_obj.create({
  43. 'date_start': '2016-11-01',
  44. 'date_end': '2016-1-01',
  45. })
  46. with self.assertRaises(UserError):
  47. detail.button_ok()
  48. # 按日期搜索
  49. self.detail.button_ok()
  50. # 按商品、供应商、单据编号、仓库搜索
  51. self.detail.goods_id = self.env.ref('goods.mouse').id
  52. self.detail.partner_id = self.env.ref('core.lenovo').id
  53. self.detail.order_id = self.receipt.id
  54. self.detail.warehouse_dest_id = self.env.ref('warehouse.hd_stock').id
  55. self.detail.button_ok()
  56. def test_view_detail(self):
  57. '''查看明细按钮'''
  58. self.detail.button_ok()
  59. goods_id = self.env.ref('goods.keyboard').id
  60. detail_line = self.env['buy.order.detail'].search(
  61. [('goods_id', '=', goods_id)])
  62. for line in detail_line:
  63. line.view_detail()
  64. class TestTrackWizard(TransactionCase):
  65. '''测试采购订单跟踪表向导'''
  66. def setUp(self):
  67. ''' 准备报表数据 '''
  68. super(TestTrackWizard, self).setUp()
  69. return
  70. # 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
  71. self.env.ref('money.get_40000').money_order_done()
  72. self.env.ref('money.pay_2000').money_order_done()
  73. # 给商品的分类设置科目
  74. self.env.ref('core.goods_category_1').account_id = self.env.ref(
  75. 'finance.account_goods').id
  76. warehouse_obj = self.env.ref('warehouse.wh_in_whin0')
  77. # 给wh_in_whin0修改时间,使其凭证在demo会计期间内
  78. self.env.ref('warehouse.wh_in_whin0').date = '2016-02-06'
  79. warehouse_obj.approve_order()
  80. self.order = self.env.ref('buy.buy_order_1')
  81. order_2 = self.env.ref('buy.buy_order_1_same')
  82. order_2.quantity = 1
  83. for line in order_2.line_ids:
  84. line.goods_id = self.env.ref('goods.mouse').id
  85. line.lot = 'mouse001'
  86. order_2.bank_account_id = False
  87. order_2.buy_order_done()
  88. receipt_2 = self.env['buy.receipt'].search(
  89. [('order_id', '=', order_2.id)])
  90. line_lists = []
  91. for line in receipt_2.line_in_ids:
  92. if line.id not in line_lists:
  93. line.lot = 'mouse_lot_' + str(line.id)
  94. line.goods_qty = 1
  95. line_lists.append(line.id)
  96. receipt_2.buy_receipt_done()
  97. receipt_3 = self.env['buy.receipt'].search(
  98. [('order_id', '=', order_2.id), ('state', '=', 'draft')])
  99. receipt_3.buy_receipt_done()
  100. self.order.bank_account_id = False
  101. self.order.buy_order_done()
  102. self.receipt = self.env['buy.receipt'].search(
  103. [('order_id', '=', self.order.id)])
  104. self.receipt.bank_account_id = self.env.ref('core.comm')
  105. self.receipt.payment = 2.0
  106. self.receipt.buy_receipt_done()
  107. self.receipt_return = self.browse_ref('buy.buy_receipt_return_1')
  108. self.receipt_return.buy_receipt_done()
  109. self.track_obj = self.env['buy.order.track.wizard']
  110. self.track = self.track_obj.create({})
  111. def test_button_ok(self):
  112. '''测试采购订单跟踪表确认按钮'''
  113. return
  114. # 日期报错
  115. track = self.track_obj.create({
  116. 'date_start': '2016-11-01',
  117. 'date_end': '2016-1-01',
  118. })
  119. with self.assertRaises(UserError):
  120. track.button_ok()
  121. # 按日期搜索
  122. self.track.button_ok()
  123. # 按商品、供应商、订单号、仓库搜索
  124. self.track.goods_id = self.env.ref('goods.mouse').id
  125. self.track.partner_id = self.env.ref('core.lenovo').id
  126. self.track.order_id = self.order.id
  127. self.track.warehouse_dest_id = self.env.ref('warehouse.hd_stock').id
  128. self.track.button_ok()
  129. def test_view_detail(self):
  130. '''查看明细按钮'''
  131. return
  132. self.track.button_ok()
  133. goods_id = self.env.ref('goods.cable').id
  134. track_line = self.env['buy.order.track'].search(
  135. [('goods_id', '=', goods_id)])
  136. track_line[0].view_detail()
  137. class TestPaymentWizard(TransactionCase):
  138. '''测试采购付款一览表向导'''
  139. def setUp(self):
  140. ''' 准备报表数据 '''
  141. super(TestPaymentWizard, self).setUp()
  142. # 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
  143. self.env.ref('money.get_40000').money_order_done()
  144. self.env.ref('money.pay_2000').money_order_done()
  145. # 给buy_order_1中的商品“键盘”的分类设置科目
  146. self.env.ref('core.goods_category_1').account_id = self.env.ref(
  147. 'finance.account_goods').id
  148. self.env.ref('warehouse.wh_in_whin0').date = '2016-02-06'
  149. warehouse_obj = self.env.ref('warehouse.wh_in_whin0')
  150. warehouse_obj.approve_order()
  151. self.order = self.env.ref('buy.buy_order_1')
  152. self.order.bank_account_id = False
  153. self.order.buy_order_done()
  154. self.receipt = self.env['buy.receipt'].search(
  155. [('order_id', '=', self.order.id)])
  156. self.receipt.bank_account_id = self.env.ref('core.comm')
  157. self.receipt.payment = 2.0
  158. new_receipt = self.receipt.copy()
  159. new_receipt.payment = 0
  160. new_receipt.bank_account_id = False
  161. new_receipt.buy_receipt_done()
  162. self.receipt.buy_receipt_done()
  163. # 查找产生的付款单,并审核
  164. source_line = self.env['source.order.line'].search(
  165. [('name', '=', self.receipt.invoice_id.id)])
  166. for line in source_line:
  167. line.money_id.money_order_done()
  168. self.receipt_return = self.browse_ref('buy.buy_receipt_return_1')
  169. self.receipt_return.buy_receipt_done()
  170. self.payment_obj = self.env['buy.payment.wizard']
  171. self.payment = self.payment_obj.create({})
  172. def test_button_ok(self):
  173. '''测试采购付款一览表确认按钮'''
  174. # 日期报错
  175. payment = self.payment_obj.create({
  176. 'date_start': '2016-11-01',
  177. 'date_end': '2016-1-01',
  178. })
  179. with self.assertRaises(UserError):
  180. payment.button_ok()
  181. # 按日期搜索
  182. self.payment.button_ok()
  183. # 按供应商类别,供应商,采购单号搜索
  184. s_category_id = self.env.ref('core.supplier_category_1').id
  185. self.payment.s_category_id = s_category_id
  186. self.payment.partner_id = self.env.ref('core.lenovo').id
  187. self.payment.order_id = self.env.ref('buy.buy_order_1').id
  188. self.payment.warehouse_dest_id = self.env.ref('warehouse.hd_stock').id
  189. self.payment.button_ok()
  190. def test_view_detail(self):
  191. '''查看明细按钮'''
  192. self.payment.button_ok()
  193. payment_line = self.env['buy.payment'].search(
  194. [('order_name', '=', self.receipt.name)])
  195. for line in payment_line:
  196. line.view_detail()
  197. payment_line2 = self.env['buy.payment'].search(
  198. [('order_name', '=', self.receipt_return.name)])
  199. for line in payment_line2:
  200. line.view_detail()
  201. class TestGoodsWizard(TransactionCase):
  202. '''测试采购汇总表(按商品)向导'''
  203. def setUp(self):
  204. ''' 准备报表数据 '''
  205. super(TestGoodsWizard, self).setUp()
  206. self.env.ref('core.goods_category_1').account_id = self.env.ref(
  207. 'finance.account_goods').id
  208. # 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
  209. self.env.ref('money.get_40000').money_order_done()
  210. self.env.ref('money.pay_2000').money_order_done()
  211. # 给wh_in_whin0修改时间,使其凭证在demo会计期间内
  212. self.env.ref('warehouse.wh_in_whin0').date = '2016-02-06'
  213. warehouse_obj = self.env.ref('warehouse.wh_in_whin0')
  214. warehouse_obj.approve_order()
  215. self.order = self.env.ref('buy.buy_order_1')
  216. self.order.bank_account_id = False
  217. self.order.buy_order_done()
  218. self.receipt = self.env['buy.receipt'].search(
  219. [('order_id', '=', self.order.id)])
  220. self.receipt.bank_account_id = self.env.ref('core.comm')
  221. self.receipt.payment = 2.0
  222. self.receipt.buy_receipt_done()
  223. self.receipt_return = self.browse_ref('buy.buy_receipt_return_1')
  224. self.receipt_return.buy_receipt_done()
  225. self.goods_wizard_obj = self.env['buy.summary.goods.wizard']
  226. self.goods_wizard = self.goods_wizard_obj.create({})
  227. self.goods_mouse = self.env.ref('goods.mouse')
  228. self.core_lenovo = self.env.ref('core.lenovo')
  229. self.goods_categ = self.env.ref('core.goods_category_1')
  230. self.hd_stock = self.env.ref('warehouse.hd_stock')
  231. def test_button_ok(self):
  232. '''采购汇总表(按商品)向导确认按钮'''
  233. # 日期报错
  234. goods_wizard = self.goods_wizard_obj.create({
  235. 'date_start': '2016-11-01',
  236. 'date_end': '2016-1-01',
  237. })
  238. with self.assertRaises(UserError):
  239. goods_wizard.button_ok()
  240. # 按日期搜索
  241. self.goods_wizard.button_ok()
  242. def test_goods_report(self):
  243. '''测试采购汇总表(按商品)报表'''
  244. summary_goods = self.env['buy.summary.goods'].create({})
  245. context = self.goods_wizard.button_ok().get('context')
  246. results = summary_goods.with_context(context).search_read(domain=[])
  247. new_wizard = self.goods_wizard.copy()
  248. new_wizard.goods_id = self.goods_mouse.id
  249. new_wizard.partner_id = self.core_lenovo.id
  250. new_wizard.goods_categ_id = self.goods_categ.id
  251. new_wizard.warehouse_dest_id = self.hd_stock.id
  252. new_context = new_wizard.button_ok().get('context')
  253. new_results = summary_goods.with_context(new_context).search_read(
  254. domain=[])
  255. def test_view_detail(self):
  256. '''采购汇总表(按商品) 查看明细按钮'''
  257. # 先创建采购明细表
  258. detail_obj = self.env['buy.order.detail.wizard']
  259. detail = detail_obj.create({})
  260. detail.button_ok()
  261. summary_goods = self.env['buy.summary.goods'].create({})
  262. context = self.goods_wizard.button_ok().get('context')
  263. results = summary_goods.with_context(context).search_read(domain=[])
  264. for line in results:
  265. summary_line = summary_goods.browse(line['id'])
  266. summary_line.with_context(context).view_detail()
  267. class TestPartnerWizard(TransactionCase):
  268. '''测试采购汇总表(按供应商)向导'''
  269. def setUp(self):
  270. ''' 准备报表数据 '''
  271. super(TestPartnerWizard, self).setUp()
  272. self.env.ref('core.goods_category_1').account_id = self.env.ref(
  273. 'finance.account_goods').id
  274. # 因同一个业务伙伴不能存在两张未审核的收付款单,把系统里已有的相关业务伙伴未审核的收付款单审核
  275. self.env.ref('money.get_40000').money_order_done()
  276. self.env.ref('money.pay_2000').money_order_done()
  277. # 给wh_in_whin0修改时间,使其凭证在demo会计期间内
  278. self.env.ref('warehouse.wh_in_whin0').date = '2016-02-06'
  279. warehouse_obj = self.env.ref('warehouse.wh_in_whin0')
  280. warehouse_obj.approve_order()
  281. self.order = self.env.ref('buy.buy_order_1')
  282. self.order.bank_account_id = False
  283. self.order.buy_order_done()
  284. self.receipt = self.env['buy.receipt'].search(
  285. [('order_id', '=', self.order.id)])
  286. self.receipt.bank_account_id = self.env.ref('core.comm')
  287. self.receipt.payment = 2.0
  288. self.receipt.buy_receipt_done()
  289. self.receipt_return = self.browse_ref('buy.buy_receipt_return_1')
  290. self.receipt_return.buy_receipt_done()
  291. self.partner_obj = self.env['buy.summary.partner.wizard']
  292. self.partner = self.partner_obj.create({})
  293. def test_button_ok(self):
  294. '''采购汇总表(按供应商)向导确认按钮'''
  295. # 日期报错
  296. partner = self.partner_obj.create({
  297. 'date_start': '2016-11-01',
  298. 'date_end': '2016-1-01',
  299. })
  300. with self.assertRaises(UserError):
  301. partner.button_ok()
  302. def test_partner_report(self):
  303. '''采购汇总表(按供应商)报表'''
  304. summary_partner = self.env['buy.summary.partner'].create({})
  305. context = self.partner.button_ok().get('context')
  306. results = summary_partner.with_context(context).search_read(domain=[])
  307. new_wizard = self.partner.copy()
  308. new_wizard.goods_id = self.env.ref('goods.mouse').id
  309. new_wizard.partner_id = self.env.ref('core.lenovo').id
  310. new_wizard.s_category_id = \
  311. self.env.ref('core.supplier_category_1').id
  312. new_wizard.warehouse_dest_id = \
  313. self.env.ref('warehouse.hd_stock').id
  314. new_context = new_wizard.button_ok().get('context')
  315. new_results = summary_partner.with_context(new_context).search_read(
  316. domain=[])
  317. def test_view_detail(self):
  318. '''采购汇总表(按供应商) 查看明细按钮'''
  319. # 先创建采购明细表
  320. detail_obj = self.env['buy.order.detail.wizard']
  321. detail = detail_obj.create({})
  322. detail.button_ok()
  323. summary_partner = self.env['buy.summary.partner'].create({})
  324. context = self.partner.button_ok().get('context')
  325. results = summary_partner.with_context(context).search_read(domain=[])
  326. for line in results:
  327. summary_line = summary_partner.browse(line['id'])
  328. summary_line.with_context(context).view_detail()
上海开阖软件有限公司 沪ICP备12045867号-1