suki.sprd
Version:
Spreadshirt extension for suki.js
231 lines (145 loc) • 3.78 kB
JavaScript
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('Article', function() {
suite('API / suki.sprd', function() {
suite('.create()', function() {
test('.create(str)', function() {
sprd.article
.create('sprd')
.end();
var conn = sprd.article.use('sprd');
// ---
conn.get().should.contain.key('_name');
conn.get('_name').should.equal('sprd');
});
test('.create(str, {...})', function() {
sprd.article
.create('sprd', {
a: 'a',
b: 'b'
})
.end();
var conn = sprd.article.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.article
.create('sprd')
.end();
var conn = sprd.article.use('sprd');
// ---
conn.get().should.contain.key('_name');
conn.get('_name').should.equal('sprd');
});
test('use(function() {...})', function(done) {
sprd.article
.create('sprd')
.end();
sprd.article.use('sprd', function() {
this.get().should.contain.key('_name');
this.get('_name').should.equal('sprd');
done();
});
});
test('use(function(err, obj) {...})', function(done) {
sprd.article
.create('sprd')
.end();
sprd.article.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.article
.create('sprd')
.end();
var conn = sprd.article.use('sprd');
conn.get().should.contain.key('_name');
conn.get('_name').should.equal('sprd');
});
test('.end(function() {...})', function(done) {
sprd.article
.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.article
.create('sprd')
.end(function(err, conn) {
conn.should.contain.key('_name');
conn._name.should.equal('sprd');
done();
});
});
});
suite('.connect()', function() {
test('.connect({ ... })', function() {
sprd.connection
.create('sprd', {
id : '6881a2fa-867b-48a5-8604-2b0e5ff43cb1',
context : 'shops',
contextId : '93439',
platform : 'NA',
proxy : '/proxy/sprd/:platform/api/v1'
})
.end();
sprd.article
.create('sprdArticle')
.connect(sprd.connection.use('sprd'))
.end();
// ---
var article = sprd.article.use('sprdArticle');
// ---
article.get('_connection').should.be.a('object');
// ---
var conn = article.get('_connection');
conn.get('_name').should.equal('sprd');
// ---
article.set({
id: '9754952',
fullData : true,
attributeSet : 'staticShop'
});
article.retrieve(function(err, res) {
console.log(err, res);
});
});
});
});
});
});