~unifield-team/unifield-wm/us-826

« back to all changes in this revision

Viewing changes to purchase_override/test/split_line.yml

  • Committer: Olivier DOSSMANN
  • Date: 2013-05-31 14:22:09 UTC
  • mto: This revision was merged to the branch mainline in revision 1687.
  • Revision ID: od@tempo-consulting.fr-20130531142209-sbcwvzuema11guzz
UF-1991 [FIX] Problem with wizard on "msg" field. Change it to "name".

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
-
 
2
  Tests of the splitting line wizard
 
3
-
 
4
  We create a new UoM category
 
5
-
 
6
  !record {model: product.uom.categ, id: split_uom_categ}:
 
7
    name: Split categ
 
8
-
 
9
  We create a new UoM
 
10
-
 
11
  !record {model: product.uom, id: split_uom}:
 
12
    category_id: split_uom_categ
 
13
    name: Split
 
14
    factor: 1.0
 
15
    rounding: 0.01
 
16
-
 
17
  We create a new purchase order
 
18
-
 
19
  !record {model: purchase.order, id: split_po}:
 
20
    name: Split
 
21
    partner_id: supplier1
 
22
    company_id: base.main_company
 
23
    date_order: !eval time.strftime('%Y-%m-%d')
 
24
    invoice_method: order
 
25
    location_id: stock.stock_location_stock
 
26
    partner_address_id: address1
 
27
    pricelist_id: purchase.list0
 
28
-
 
29
  We create a line for this purchase order
 
30
-
 
31
  !record {model: purchase.order.line, id: split_pol}:
 
32
    product_uom: split_uom
 
33
    product_id: product2
 
34
    order_id: split_po
 
35
    price_unit: 3.0
 
36
    product_qty: 300
 
37
    name: P2
 
38
    date_planned: !eval time.strftime('%Y-%m-%d')
 
39
-
 
40
  Launch the split order line wizard
 
41
-
 
42
  !record {model: split.purchase.order.line.wizard, id: split_wiz}:
 
43
    purchase_line_id: split_pol
 
44
    original_qty: 300
 
45
    new_line_qty: 2.05
 
46
-
 
47
  Run the splitting
 
48
-
 
49
  !python {model: split.purchase.order.line.wizard}: |
 
50
    self.split_line(cr, uid, ref('split_wiz'), context=context)
 
51
-
 
52
  Check if the PO has now 2 lines with the good quantities
 
53
-
 
54
  !python {model: purchase.order.line}: |
 
55
    lines = self.search(cr, uid, [('order_id', '=', ref('split_po'))], context=context)
 
56
    assert len(lines) == 2, "The PO must have 2 lines after splitting, but it has %s lines !" % len(lines)
 
57
    for l in self.browse(cr, uid, lines, context=context):
 
58
      if l.product_qty != 297.95 and l.product_qty != 2.05:
 
59
          assert False, "The quantities of PO lines are not correct"
 
60
-
 
61
  Launch a second time the split order line wizard
 
62
-
 
63
  !record {model: split.purchase.order.line.wizard, id: split_wiz1}:
 
64
    purchase_line_id: split_pol
 
65
    original_qty: 297.95
 
66
    new_line_qty: 297.95
 
67
-
 
68
  Check if the splitting method return an error
 
69
-
 
70
  !python {model: split.purchase.order.line.wizard}: |
 
71
     from osv import osv
 
72
     try:
 
73
       self.split_line(cr, uid, ref('split_wiz1'), context=context)
 
74
       raise False, "No error raised when the new qty is equal to the original qty"
 
75
     except osv.except_osv, e:
 
76
       pass
 
77
-
 
78
  Change the new qty to have a new qty greater than the original qty
 
79
-
 
80
  !record {model: split.purchase.order.line.wizard, id: split_wiz1}:
 
81
    purchase_line_id: split_pol
 
82
    original_qty: 297.95
 
83
    new_line_qty: 400
 
84
-
 
85
  Check if the splitting method return an error
 
86
-
 
87
  !python {model: split.purchase.order.line.wizard}: |
 
88
     from osv import osv
 
89
     try:
 
90
       self.split_line(cr, uid, ref('split_wiz1'), context=context)
 
91
       raise False, "No error raised when the new qty is greater than the original qty"
 
92
     except osv.except_osv, e:
 
93
       pass
 
94
-
 
95
  Change the new qty to have a negative new qty
 
96
-
 
97
  !record {model: split.purchase.order.line.wizard, id: split_wiz1}:
 
98
    purchase_line_id: split_pol
 
99
    original_qty: 297.95
 
100
    new_line_qty: -10
 
101
-
 
102
  Check if the splitting method return an error
 
103
-
 
104
  !python {model: split.purchase.order.line.wizard}: |
 
105
     from osv import osv
 
106
     try:
 
107
       self.split_line(cr, uid, ref('split_wiz1'), context=context)
 
108
       raise False, "No error raised when the new qty is negative"
 
109
     except osv.except_osv, e:
 
110
       pass
 
111
-
 
112
  Change the new qty to have a new qty equal to 0.00
 
113
-
 
114
  !record {model: split.purchase.order.line.wizard, id: split_wiz1}:
 
115
    purchase_line_id: split_pol
 
116
    original_qty: 297.95
 
117
    new_line_qty: 0.00
 
118
-
 
119
  Check if the splitting method return an error
 
120
-
 
121
  !python {model: split.purchase.order.line.wizard}: |
 
122
     from osv import osv
 
123
     try:
 
124
       self.split_line(cr, uid, ref('split_wiz1'), context=context)
 
125
       raise False, "No error raised when the new qty is 0.00"
 
126
     except osv.except_osv, e:
 
127
       pass
 
128
-
 
129
  Change the new qty to have a new qty equal to 10.00
 
130
-
 
131
  !record {model: split.purchase.order.line.wizard, id: split_wiz1}:
 
132
    purchase_line_id: split_pol
 
133
    original_qty: 297.95
 
134
    new_line_qty: 10.00
 
135
-
 
136
  Check if the splitting method return an error
 
137
-
 
138
  !python {model: split.purchase.order.line.wizard}: |
 
139
     from osv import osv
 
140
     try:
 
141
       self.split_line(cr, uid, ref('split_wiz1'), context=context)
 
142
     except osv.except_osv, e:
 
143
       raise False, "An error has been raised when the new qty is 10.00"