GoodERP
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

214 lines
8.7KB

  1. from odoo.tests.common import TransactionCase
  2. from odoo.exceptions import UserError
  3. class TestPricing(TransactionCase):
  4. def test_miss_get_pricing_id(self):
  5. '''测试定价策略缺少输入的报错问题'''
  6. warehouse = self.env.ref('warehouse.hd_stock')
  7. goods = self.env.ref('goods.mouse')
  8. date = 20160101
  9. partner = self.env.ref('core.zt')
  10. pricing = self.env['pricing']
  11. with self.assertRaises(UserError):
  12. pricing.get_pricing_id(False, warehouse, goods, date)
  13. with self.assertRaises(UserError):
  14. pricing.get_pricing_id(partner, False, goods, date)
  15. with self.assertRaises(UserError):
  16. pricing.get_pricing_id(partner, warehouse, False, date)
  17. def test_good_pricing(self):
  18. '''测试定价输入商品名称、仓库、客户、日期时,定价策略不唯一的情况'''
  19. pricing = self.env['pricing']
  20. partner = self.env.ref('core.jd')
  21. warehouse = self.env.ref('warehouse.bj_stock')
  22. goods = self.env.ref('goods.mouse')
  23. date = 20160415
  24. good_pricing = self.env['pricing'].search([
  25. ('c_category_id', '=', partner.c_category_id.id),
  26. ('warehouse_id', '=', warehouse.id),
  27. ('goods_id', '=', goods.id),
  28. ('goods_category_id', '=', False),
  29. ('active_date', '<=', date),
  30. ('deactive_date', '>=', date)
  31. ])
  32. cp = good_pricing.copy()
  33. with self.assertRaises(UserError):
  34. pricing.get_pricing_id(partner, warehouse, goods, date)
  35. def test_gc_pricing(self):
  36. '''测试定价输入商品类别、仓库、客户、日期时,定价策略不唯一的情况'''
  37. pricing = self.env['pricing']
  38. partner = self.env.ref('core.jd')
  39. warehouse = self.env.ref('warehouse.bj_stock')
  40. goods = self.env.ref('goods.keyboard')
  41. date = 20160515
  42. gc_pricing = self.env['pricing'].search([
  43. ('c_category_id', '=', partner.c_category_id.id),
  44. ('warehouse_id', '=', warehouse.id),
  45. ('goods_id', '=', False),
  46. ('goods_category_id', '=', goods.category_id.id),
  47. ('active_date', '<=', date),
  48. ('deactive_date', '>=', date)
  49. ])
  50. cp = gc_pricing.copy()
  51. with self.assertRaises(UserError):
  52. pricing.get_pricing_id(partner, warehouse, goods, date)
  53. def test_pw_pricing(self):
  54. '''测试定价输入仓库、客户、日期时,定价策略不唯一的情况'''
  55. pricing = self.env['pricing']
  56. partner = self.env.ref('core.jd')
  57. warehouse = self.env.ref('warehouse.bj_stock')
  58. goods = self.env.ref('goods.mouse')
  59. date = 20160615
  60. pw_pricing = self.env['pricing'].search([
  61. ('c_category_id', '=', partner.c_category_id.id),
  62. ('warehouse_id', '=', warehouse.id),
  63. ('goods_id', '=', False),
  64. ('goods_category_id', '=', False),
  65. ('active_date', '<=', date),
  66. ('deactive_date', '>=', date)
  67. ])
  68. cp = pw_pricing.copy()
  69. with self.assertRaises(UserError):
  70. pricing.get_pricing_id(partner, warehouse, goods, date)
  71. def test_wg_pricing(self):
  72. '''测试定价输入商品名称、仓库、日期时,定价策略不唯一的情况'''
  73. pricing = self.env['pricing']
  74. partner = self.env.ref('core.jd')
  75. warehouse = self.env.ref('warehouse.bj_stock')
  76. goods = self.env.ref('goods.mouse')
  77. date = 20160715
  78. wg_pricing = self.env['pricing'].search([
  79. ('c_category_id', '=', False),
  80. ('warehouse_id', '=', warehouse.id),
  81. ('goods_id', '=', goods.id),
  82. ('goods_category_id', '=', False),
  83. ('active_date', '<=', date),
  84. ('deactive_date', '>=', date)
  85. ])
  86. cp = wg_pricing.copy()
  87. with self.assertRaises(UserError):
  88. pricing.get_pricing_id(partner, warehouse, goods, date)
  89. def test_w_gc_pricing(self):
  90. '''测试定价输入商品类别、仓库、日期时,定价策略不唯一的情况'''
  91. pricing = self.env['pricing']
  92. partner = self.env.ref('core.jd')
  93. warehouse = self.env.ref('warehouse.bj_stock')
  94. goods = self.env.ref('goods.mouse')
  95. date = 20160815
  96. w_gc_pricing = self.env['pricing'].search([
  97. ('c_category_id', '=', False),
  98. ('warehouse_id', '=', warehouse.id),
  99. ('goods_id', '=', False),
  100. ('goods_category_id', '=',
  101. goods.category_id.id),
  102. ('active_date', '<=', date),
  103. ('deactive_date', '>=', date)
  104. ])
  105. cp = w_gc_pricing.copy()
  106. with self.assertRaises(UserError):
  107. pricing.get_pricing_id(partner, warehouse, goods, date)
  108. def test_warehouse_pricing(self):
  109. '''测试定价输入仓库、日期时,定价策略不唯一的情况'''
  110. warehouse = self.env.ref('warehouse.bj_stock')
  111. date = 20160915
  112. pricing = self.env['pricing']
  113. partner = self.env.ref('core.jd')
  114. goods = self.env.ref('goods.mouse')
  115. warehouse_pricing = self.env['pricing'].search([
  116. ('c_category_id', '=', False),
  117. ('warehouse_id', '=', warehouse.id),
  118. ('goods_id', '=', False),
  119. ('goods_category_id', '=', False),
  120. ('active_date', '<=', date),
  121. ('deactive_date', '>=', date)
  122. ])
  123. cp = warehouse_pricing.copy()
  124. with self.assertRaises(UserError):
  125. pricing.get_pricing_id(partner, warehouse, goods, date)
  126. def test_ccg_pricing(self):
  127. '''测试定价输入商品名称、客户、日期时,定价策略不唯一的情况'''
  128. pricing = self.env['pricing']
  129. partner = self.env.ref('core.jd')
  130. goods = self.env.ref('goods.mouse')
  131. date = 20161015
  132. warehouse = self.env.ref('warehouse.bj_stock')
  133. ccg_pricing = self.env['pricing'].search([
  134. ('c_category_id', '=', partner.c_category_id.id),
  135. ('warehouse_id', '=', False),
  136. ('goods_id', '=', goods.id),
  137. ('goods_category_id', '=', False),
  138. ('active_date', '<=', date),
  139. ('deactive_date', '>=', date)
  140. ])
  141. cp = ccg_pricing.copy()
  142. with self.assertRaises(UserError):
  143. pricing.get_pricing_id(partner, warehouse, goods, date)
  144. def test_ccgc_pricing(self):
  145. '''测试定价输入商品类别、客户、日期时,定价策略不唯一的情况'''
  146. pricing = self.env['pricing']
  147. partner = self.env.ref('core.jd')
  148. warehouse = self.env.ref('warehouse.bj_stock')
  149. goods = self.env.ref('goods.mouse')
  150. date = 20161115
  151. ccgc_pricing = self.env['pricing'].search([
  152. ('c_category_id', '=', partner.c_category_id.id),
  153. ('warehouse_id', '=', False),
  154. ('goods_id', '=', False),
  155. ('goods_category_id', '=',
  156. goods.category_id.id),
  157. ('active_date', '<=', date),
  158. ('deactive_date', '>=', date)
  159. ])
  160. cp = ccgc_pricing.copy()
  161. with self.assertRaises(UserError):
  162. pricing.get_pricing_id(partner, warehouse, goods, date)
  163. def test_partner_pricing(self):
  164. '''测试定价输入客户、日期时,定价策略不唯一的情况'''
  165. pricing = self.env['pricing']
  166. partner = self.env.ref('core.jd')
  167. warehouse = self.env.ref('warehouse.bj_stock')
  168. goods = self.env.ref('goods.mouse')
  169. date = 20161215
  170. partner_pricing = self.env['pricing'].search([
  171. ('c_category_id', '=', partner.c_category_id.id),
  172. ('warehouse_id', '=', False),
  173. ('goods_id', '=', False),
  174. ('goods_category_id', '=', False),
  175. ('active_date', '<=', date),
  176. ('deactive_date', '>=', date)
  177. ])
  178. cp = partner_pricing.copy()
  179. with self.assertRaises(UserError):
  180. pricing.get_pricing_id(partner, warehouse, goods, date)
  181. def test_all_goods_pricing(self):
  182. '''测试定价只输入日期时,定价策略不唯一的情况'''
  183. pricing = self.env['pricing']
  184. partner = self.env.ref('core.jd')
  185. warehouse = self.env.ref('warehouse.bj_stock')
  186. goods = self.env.ref('goods.mouse')
  187. date = 20170101
  188. all_goods_pricing = self.env['pricing'].search([
  189. ('c_category_id', '=', False),
  190. ('warehouse_id', '=', False),
  191. ('goods_id', '=', False),
  192. ('goods_category_id', '=', False),
  193. ('active_date', '<=', date),
  194. ('deactive_date', '>=', date)
  195. ])
  196. cp = all_goods_pricing.copy()
  197. with self.assertRaises(UserError):
  198. pricing.get_pricing_id(partner, warehouse, goods, date)
上海开阖软件有限公司 沪ICP备12045867号-1