Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function test(rawObject) {
- var exception = null;
- try {
- rawObject.should.be.an.Object;
- rawObject.fields_values.should.be.an.Array;
- var fieldValues = rawObject.fields_values;
- for (var i = 0; i < fieldValues.length; i++) {
- if (fieldValues[i].name == 'Трек-номер (Заказово.ру)') {
- fieldValues[i].value.should.be.a.String;
- }
- }
- rawObject.order_lines.should.be.an.Array;
- var orderLines = rawObject.order_lines;
- for (var i = 0; i < orderLines.length; i++) {
- orderLines[i].should.have.property('total_price');
- orderLines[i].should.have.property('weight');
- orderLines[i].total_price.should.be.a.Number;
- //TODO: validate float
- }
- rawObject.order_changes.should.be.an.Array;
- var orderChanges = rawObject.order_changes;
- for (var i = 0; i < orderChanges.length; i++) {
- orderChanges[i].should.have.property('action');
- if (orderChanges[i].action == 'fulfillment_status_changed' || orderChanges[i].action == 'order_created') {
- if (allowedFullfilmentStatuses.indexOf(orderChanges[i].value_is) <= -1) {
- throw new Error('Fullfilment status error, index: ' + i);
- }
- }
- }
- rawObject.client.should.be.an.Object;
- rawObject.client.name.should.be.a.String;
- rawObject.client.should.have.property('email');
- rawObject.client.should.have.property('phone');
- rawObject.should.have.property('total_price');
- rawObject.total_price.should.be.a.Number;
- rawObject.should.have.property('id');
- rawObject.id.should.be.a.Number;
- rawObject.should.have.property('number');
- rawObject.number.should.be.a.Number;
- rawObject.should.have.property('shipping_address');
- rawObject.shipping_address.should.be.an.Object;
- rawObject.shipping_address.should.have.property('address');
- }
- catch (ex) {
- exception = ex;
- } finally {
- return exception;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement