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

« back to all changes in this revision

Viewing changes to purchase_override/test/split_line.yml

  • Committer: Quentin THEURET
  • Date: 2011-11-30 13:31:37 UTC
  • mto: This revision was merged to the branch mainline in revision 515.
  • Revision ID: qt@tempo-consulting.fr-20111130133137-mdf2fp6hkqmwbppn
UF-647 [ADD] Added a line in Purchase Order to have information about international transport costs

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