UNPKG

suki.sprd

Version:

Spreadshirt extension for suki.js

316 lines (201 loc) 5.53 kB
if (!chai) { var chai = require('lib'); } var should = chai.should(); function err(fn, msg) { try { fn(); throw new chai.AssertionError({ message: 'Expected an error' }); } catch (err) { should.equal(msg, err.message); } } require([ '/support/suki.sprd/src/suki.sprd.js' ], function(sprd) { sprd = sprd.init({ debug : false }); console.log('sprd:debug', sprd); suite('Connection', function() { suite('API / suki.sprd', function() { suite('.create()', function() { test('.create(str)', function() { sprd.connection .create('sprd') .end(); var conn = sprd.connection.use('sprd'); // --- conn.get().should.contain.key('_name'); conn.get('_name').should.equal('sprd'); }); test('.create(str, {...})', function() { sprd.connection .create('sprd', { a: 'a', b: 'b' }) .end(); var conn = sprd.connection.use('sprd'); // --- conn.get().should.contain.key('_name'); conn.get('_name').should.equal('sprd'); conn.get().should.contain.key('a'); conn.get().should.contain.key('b'); conn.get('a').should.equal('a'); conn.get('b').should.equal('b'); }); }); suite('.use()', function() { test('use()', function() { sprd.connection .create('sprd') .end(); var conn = sprd.connection.use('sprd'); // --- conn.get().should.contain.key('_name'); conn.get('_name').should.equal('sprd'); }); test('use(function() {...})', function(done) { sprd.connection .create('sprd') .end(); sprd.connection.use('sprd', function() { this.get().should.contain.key('_name'); this.get('_name').should.equal('sprd'); done(); }); }); test('use(function(err, obj) {...})', function(done) { sprd.connection .create('sprd') .end(); sprd.connection.use('sprd', function(err, obj) { obj.should.contain.key('_name'); obj._name.should.equal('sprd'); done(); }); }); }); }); suite('API', function() { suite('.end()', function() { test('.end()', function() { sprd.connection .create('sprd') .end(); var conn = sprd.connection.use('sprd'); conn.get().should.contain.key('_name'); conn.get('_name').should.equal('sprd'); }); test('.end(function() {...})', function(done) { sprd.connection .create('sprd') .end(function() { this.get().should.contain.key('_name'); this.get('_name').should.equal('sprd'); done(); }); }); test('.end(function(err, obj) {...})', function(done) { sprd.connection .create('sprd') .end(function(err, conn) { conn.should.contain.key('_name'); conn._name.should.equal('sprd'); done(); }); }); }); suite('.api()', function() { /* Connection Defaults: --- context : null, contextId : null, country : 'US', endpoint : null, id : null, language : 'en', locale : 'en_US', platform : 'NA', proxy : null, type : 'json' */ suite('.get()', function() { test('.get(str, function(err, obj) {...})', function(done) { sprd.connection .create('sprd', { id : '6881a2fa-867b-48a5-8604-2b0e5ff43cb1', context : 'shops', contextId : '93439', proxy : '/proxy/sprd/:platform/api/v1' }) .end(); // --- var conn = sprd.connection.use('sprd'); // --- conn.api.get('/articles', function(err, res) { console.log(6); res.should.contain.key('body'); res.should.contain.key('header'); res.should.contain.key('ok'); res.should.contain.key('status'); res.should.contain.key('xhr'); res.body.should.be.a('object'); res.header.should.be.a('object'); res.ok.should.be.a('boolean'); res.status.should.be.a('object'); res.xhr.should.be.a('object'); // --- res.ok.should.equal(true); // --- res.status.code.should.equal(200); res.status.text.should.equal('success'); done(); }); }); }); suite('.post()', function() { test('.post(str, {...}, function(err, obj) {...})', function(done) { sprd.connection .create('sprd', { id : '6881a2fa-867b-48a5-8604-2b0e5ff43cb1', proxy : '/proxy/sprd/:platform/api/v1' }) .end(); // --- var conn = sprd.connection.use('sprd'); // --- console.log(0); conn.api.post('/baskets', { shop : conn.get('contextId') }, function(err, res) { console.log(1, res); res.should.contain.key('body'); res.should.contain.key('header'); res.should.contain.key('ok'); res.should.contain.key('status'); res.should.contain.key('xhr'); res.body.should.be.a('object'); res.header.should.be.a('object'); res.ok.should.be.a('boolean'); res.status.should.be.a('object'); res.xhr.should.be.a('object'); // --- res.ok.should.equal(true); // --- res.status.code.should.equal(201); res.status.text.should.equal('success'); done(); }); }); }); suite('.put()', function() { }); suite('.del()', function() { }); }); }); }); });