-
  In order to test the Requested Date feature in Sale Orders in OpenERP,
  I copy a demo Sale Order with Requested Date on 2010-12-17
  Then I verify that the Procurements and Stock Moves have been generated with the
  correct date
-
  !python {model: sale.order}: |
    from datetime import datetime, timedelta
    from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
    from openerp.osv import fields

    new_id = self.copy(cr, uid, ref("sale.sale_order_6"))
    self.write(cr, uid, [new_id], {'requested_date': '2010-07-12'})
    self.action_confirm(cr, uid, [new_id], context=context)

    so = self.browse(cr, uid, new_id)
    security_delay = timedelta(days=so.company_id.security_lead)
    requested_date = datetime.strptime(so.requested_date, DEFAULT_SERVER_DATETIME_FORMAT)
    right_date = (requested_date - security_delay).strftime(DEFAULT_SERVER_DATETIME_FORMAT)
    for line in so.order_line:
      assert line.procurement_ids, "No Procurement was created"
      assert line.procurement_ids[0].date_planned == right_date, "The planned date for the Procurement Order is wrong"
      assert line.procurement_ids[0].move_ids and line.procurement_ids[0].move_ids[0].date_expected == right_date, "The expected date for the Stock Move is wrong"
