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

« back to all changes in this revision

Viewing changes to consumption_calculation/test/expiration.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
  In order to test the product likely to expire report, I will create
 
3
  new reports and see if values are good
 
4
-
 
5
  !record {model: product.likely.expire.report, id: pler1}:
 
6
    date_from: '2011-11-14'
 
7
    date_to: '2012-02-20'
 
8
    consumption_type: fmc
 
9
-
 
10
    I launch the calculation
 
11
 
12
  !python {model: product.likely.expire.report}: |
 
13
    self.process_lines(cr, uid, ref('pler1'), context=context)
 
14
-
 
15
  Check if all lines are created
 
16
 
17
  !python {model: product.likely.expire.report}: |
 
18
    report = self.browse(cr, uid, ref('pler1'), context=context)
 
19
    assert len(report.line_ids) >= 3, "All lines aren't created by the expiry calculation process"
 
20
    p5 = p6 = p7 = False
 
21
    for line in report.line_ids:
 
22
      if line.product_id.id == ref('product5'):
 
23
        p5 = True
 
24
      if line.product_id.id == ref('product6'):
 
25
        p6 = True
 
26
      if line.product_id.id == ref('product7'):
 
27
        p7 = True
 
28
    assert p5, "No line created for P5"
 
29
    assert p6, "No line created for P6"
 
30
    assert p7, "No line created for P7"
 
31
-
 
32
  Check if the first line has good values
 
33
 
34
  !python {model: product.likely.expire.report.line}: |
 
35
    import time
 
36
    import datetime
 
37
    from dateutil.relativedelta import relativedelta
 
38
    line_ids = self.search(cr, uid, [('product_id', '=', ref('product5')), ('report_id', '=', ref('pler1'))], context=context)
 
39
    for line in self.browse(cr, uid, line_ids, context=context):
 
40
      assert line.in_stock == 600.00, "In stock is not correct for the product P5"
 
41
      assert line.total_expired == 114.00, "Expired quantity is not correct for product P5 %s"%(line.total_expired,)
 
42
      assert line.consumption == 200.00, "Consumption is not correct for product P5"
 
43
      item_ids = self.pool.get('product.likely.expire.report.item').search(cr, uid, [('line_id', '=', line.id)])
 
44
        
 
45
      item1 = self.pool.get('product.likely.expire.report.item').browse(cr, uid, item_ids[0])
 
46
      assert item1.expired_qty == 53.00, "1, %s"%(item1.expired_qty, )
 
47
 
 
48
      item2 = self.pool.get('product.likely.expire.report.item').browse(cr, uid, item_ids[1])
 
49
      assert item2.expired_qty == 0.00, "2 , %s"%(item2.expired_qty, )
 
50
        
 
51
      item3 = self.pool.get('product.likely.expire.report.item').browse(cr, uid, item_ids[2])
 
52
      assert item3.expired_qty == 61.00, "3 , %s"%(item3.expired_qty, )
 
53
        
 
54
      item4 = self.pool.get('product.likely.expire.report.item').browse(cr, uid, item_ids[3])
 
55
      assert item4.expired_qty == 0.00, "4 , %s"%(item4.expired_qty, )