Advertisement
Guest User

Untitled

a guest
Jan 24th, 2015
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. function test(rawObject) {
  3.  
  4.     var exception = null;
  5.     try {
  6.         rawObject.should.be.an.Object;
  7.         rawObject.fields_values.should.be.an.Array;
  8.  
  9.         var fieldValues = rawObject.fields_values;
  10.  
  11.         for (var i = 0; i < fieldValues.length; i++) {
  12.             if (fieldValues[i].name == 'Трек-номер (Заказово.ру)') {
  13.                 fieldValues[i].value.should.be.a.String;
  14.             }
  15.         }
  16.  
  17.         rawObject.order_lines.should.be.an.Array;
  18.         var orderLines = rawObject.order_lines;
  19.  
  20.         for (var i = 0; i < orderLines.length; i++) {
  21.             orderLines[i].should.have.property('total_price');
  22.             orderLines[i].should.have.property('weight');
  23.             orderLines[i].total_price.should.be.a.Number;
  24.             //TODO: validate float
  25.         }
  26.  
  27.  
  28.         rawObject.order_changes.should.be.an.Array;
  29.         var orderChanges = rawObject.order_changes;
  30.  
  31.         for (var i = 0; i < orderChanges.length; i++) {
  32.             orderChanges[i].should.have.property('action');
  33.             if (orderChanges[i].action == 'fulfillment_status_changed' || orderChanges[i].action == 'order_created') {
  34.                 if (allowedFullfilmentStatuses.indexOf(orderChanges[i].value_is) <= -1) {
  35.                     throw new Error('Fullfilment status error, index: ' + i);
  36.                 }
  37.             }
  38.         }
  39.  
  40.         rawObject.client.should.be.an.Object;
  41.         rawObject.client.name.should.be.a.String;
  42.         rawObject.client.should.have.property('email');
  43.         rawObject.client.should.have.property('phone');
  44.         rawObject.should.have.property('total_price');
  45.         rawObject.total_price.should.be.a.Number;
  46.         rawObject.should.have.property('id');
  47.         rawObject.id.should.be.a.Number;
  48.         rawObject.should.have.property('number');
  49.         rawObject.number.should.be.a.Number;
  50.  
  51.         rawObject.should.have.property('shipping_address');
  52.         rawObject.shipping_address.should.be.an.Object;
  53.         rawObject.shipping_address.should.have.property('address');
  54.     }
  55.     catch (ex) {
  56.         exception = ex;
  57.     } finally {
  58.         return exception;
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement