summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/Makefile9
-rw-r--r--test/lib/promise.js21
-rw-r--r--test/lib/sdk.js9
-rw-r--r--test/package.json1
-rw-r--r--test/test/00-setup.js1
-rw-r--r--test/test/01-product.js36
-rw-r--r--test/test/02-login.js47
-rw-r--r--test/test/TESTS.txt21
8 files changed, 143 insertions, 2 deletions
diff --git a/test/Makefile b/test/Makefile
new file mode 100644
index 00000000..877cd699
--- /dev/null
+++ b/test/Makefile
@@ -0,0 +1,9 @@
+
+test:
+ ./node_modules/.bin/mocha -R nyan
+
+spec:
+ ./node_modules/.bin/mocha -R spec
+
+.PHONY: test
+
diff --git a/test/lib/promise.js b/test/lib/promise.js
new file mode 100644
index 00000000..d2afe09c
--- /dev/null
+++ b/test/lib/promise.js
@@ -0,0 +1,21 @@
+module.exports = function(fn, data){
+ var my_cb, my_res
+ data.success = function(res){
+ my_res = res
+ if (my_cb) {
+ my_cb(res)
+ }
+ }
+ data.error = function(res){
+ console.log('error!')
+ console.log(res)
+ }
+ fn(data)
+ var promise = {
+ then: function(cb){
+ if (my_res) cb(my_res)
+ else my_cb = cb
+ }
+ }
+ return promise
+} \ No newline at end of file
diff --git a/test/lib/sdk.js b/test/lib/sdk.js
index f1ae8f4c..1b922bd8 100644
--- a/test/lib/sdk.js
+++ b/test/lib/sdk.js
@@ -2,6 +2,11 @@ var najax = require('najax')
var fs = require('fs')
var path = require('path')
+najax.defaults({
+ rejectUnauthorized: false,
+ contentType: 'application/json',
+})
+
// hacky dummy jquery
var $ = {
ajax: najax,
@@ -14,9 +19,9 @@ var files = "_sdk.js auth.js account.js address.js cart.js payment.js product.js
for (var i = 0; i < files.length; i++) {
var fn = path.join(__dirname, "../../StoneIsland/www/js/sdk/", files[i])
- console.log(fn)
eval( fs.readFileSync(fn) + '' )
}
-module.exports = sdk
+sdk.init({ production: true })
+module.exports = sdk
diff --git a/test/package.json b/test/package.json
index 6d6df943..dd095e58 100644
--- a/test/package.json
+++ b/test/package.json
@@ -10,6 +10,7 @@
"license": "LNT",
"dependencies": {
"jquery": "^2.1.4",
+ "mocha": "^2.3.3",
"najax": "^0.2.1"
}
}
diff --git a/test/test/00-setup.js b/test/test/00-setup.js
new file mode 100644
index 00000000..e95c4eac
--- /dev/null
+++ b/test/test/00-setup.js
@@ -0,0 +1 @@
+Error.stackTraceLimit = 1
diff --git a/test/test/01-product.js b/test/test/01-product.js
new file mode 100644
index 00000000..50fcc13f
--- /dev/null
+++ b/test/test/01-product.js
@@ -0,0 +1,36 @@
+var sdk = require('../lib/sdk')
+var promise = require('../lib/promise')
+var assert = require("assert")
+
+// sdk.product.fetch_collection
+// sdk.product.item
+
+describe('product', function(){
+ var test_item
+
+ describe('#collection()', function(){
+ it('returns a collection', function(done){
+ promise(sdk.product.collection, { gallery_id: 31617 }).then(function(res){
+ var data = JSON.parse(res)
+ assert(data.Header.StatusCode == 200)
+ assert(data.SearchResponseFull.Results.Items.length > 0)
+ test_item = data.SearchResponseFull.Results.Items[0]
+ done()
+ })
+ })
+ })
+
+ describe('#item()', function(){
+ it('returns an item', function(done){
+ // console.log( test_item )
+ promise(sdk.product.item, { code: test_item['Code8'] }).then(function(res){
+ var data = JSON.parse(res)
+ assert(data.Header.StatusCode == 200)
+ assert('Item' in data)
+ done()
+ })
+ })
+ })
+
+})
+
diff --git a/test/test/02-login.js b/test/test/02-login.js
new file mode 100644
index 00000000..359ae68b
--- /dev/null
+++ b/test/test/02-login.js
@@ -0,0 +1,47 @@
+var sdk = require('../lib/sdk')
+var promise = require('../lib/promise')
+var assert = require("assert")
+
+// sdk.account.signup
+// sdk.account.login
+
+describe('account', function(){
+ var new_user_data = {
+ "Email": "testit.account" + Math.floor(Math.random() * 10000000) + "@yoox.com",
+ "Gender": "M",
+ "Name": "TestName",
+ "Password": "TestPassword",
+ "Surname": "TestSurname",
+ }
+
+ var test_user
+
+ describe('#signup()', function(){
+ it('makes a user and creates a token', function(done){
+ promise(sdk.account.signup, { data: new_user_data }).then(function(res){
+ var data = JSON.parse(res)
+ console.log(data)
+ assert(data.Header.StatusCode == 201)
+ assert('UserId' in data)
+
+ test_user = data.UserAccount
+
+ done()
+ })
+ })
+ })
+
+// describe('#login()', function(){
+// it('refreshes a token', function(done){
+// promise(sdk.account.login, { code: test_item['Code8'] }).then(function(res){
+// var data = JSON.parse(res)
+// console.log(data)
+// assert(data.Header.StatusCode == 200)
+// assert('Item' in data)
+// done()
+// })
+// })
+// })
+
+})
+
diff --git a/test/test/TESTS.txt b/test/test/TESTS.txt
new file mode 100644
index 00000000..94e1ab80
--- /dev/null
+++ b/test/test/TESTS.txt
@@ -0,0 +1,21 @@
+// sdk.address.add
+// sdk.address.list
+// sdk.cart.initialize
+// sdk.cart.set_user
+// sdk.cart.add_item
+// sdk.cart.delete_item
+// sdk.cart.get_status
+// sdk.cart.set_shipping_address
+// sdk.shipping.get_box_types
+// sdk.shipping.set_box_type
+// sdk.shipping.get_delivery_types
+// sdk.shipping.set_delivery_type
+// sdk.cart.set_payment_type
+// sdk.cart.set_credit_card
+// sdk.payment.list_credit_cards
+// sdk.payment.add_credit_card
+// sdk.payment.delete_credit_card
+// sdk.payment.get_payment_types
+// sdk.cart.use_stored_credit_card
+// sdk.cart.finalize
+//