summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2015-11-22 12:33:57 -0500
committerJules Laplace <jules@okfoc.us>2015-11-22 12:33:57 -0500
commit0b330d8d365f8cba80d0ead6f59f66cc6ee1ffcd (patch)
tree66c396e96f696657c04d377e5b4492091b53eb81
parentacb2ba68247ca6272513d6a27ec3f13f49558cb4 (diff)
test logged-out cart flow
-rw-r--r--StoneIsland/www/css/index.css4
-rw-r--r--StoneIsland/www/js/sdk/cart.js5
-rw-r--r--StoneIsland/www/js/vendor/view/serializable.js5
-rw-r--r--test/test/05-cart-flows.js49
4 files changed, 57 insertions, 6 deletions
diff --git a/StoneIsland/www/css/index.css b/StoneIsland/www/css/index.css
index d9d988bf..1d1e9f83 100644
--- a/StoneIsland/www/css/index.css
+++ b/StoneIsland/www/css/index.css
@@ -53,6 +53,6 @@ body {
}
.error_hilite {
- color: red;
- border-color: red;
+ color: red !important;
+ border-color: red !important;
}
diff --git a/StoneIsland/www/js/sdk/cart.js b/StoneIsland/www/js/sdk/cart.js
index cf21f640..52b31a14 100644
--- a/StoneIsland/www/js/sdk/cart.js
+++ b/StoneIsland/www/js/sdk/cart.js
@@ -113,10 +113,7 @@ sdk.cart = (function(){
"x-yoox-appname": auth.appname,
"x-yoox-cart-token": cart.token,
},
- data: JSON.stringify({
- "UserId": auth.user_id,
- "UserToken": auth.access_token,
- }),
+ data: JSON.stringify(opt.data),
success: function(data){
// console.log(data)
opt.success(data)
diff --git a/StoneIsland/www/js/vendor/view/serializable.js b/StoneIsland/www/js/vendor/view/serializable.js
index 8de169ae..83c7cdc3 100644
--- a/StoneIsland/www/js/vendor/view/serializable.js
+++ b/StoneIsland/www/js/vendor/view/serializable.js
@@ -2,6 +2,7 @@ var SerializableView = View.extend({
events: {
"change select": "update_select",
+ "focus input": "focus_input",
},
serialize: function(){
@@ -19,6 +20,10 @@ var SerializableView = View.extend({
})
},
+ focus_input: function(e){
+ $(e.currentTarget).removeClass("error_hilite")
+ },
+
update_select: function(e){
var $target = $(e.currentTarget), value = $target.val()
var label = $($("select")[0]).find("option").filter(function(){ return this.value === value }).html()
diff --git a/test/test/05-cart-flows.js b/test/test/05-cart-flows.js
new file mode 100644
index 00000000..c5173f3d
--- /dev/null
+++ b/test/test/05-cart-flows.js
@@ -0,0 +1,49 @@
+var sdk = require('../lib/sdk')
+var promise = require('../lib/promise')
+var assert = require("assert")
+
+describe('cart_flows', function(){
+
+ describe('#can_add_products_to_an_empty_cart()', function(){
+ it('initializes the cart', function(done){
+ promise(sdk.cart.initialize, { data: {} }).then(function(data){
+ assert(data.Header.StatusCode == 200)
+ assert(sdk.cart.id !== "")
+ assert(sdk.cart.token !== "")
+ done()
+ })
+ })
+
+ it('adds item to cart', function(done){
+ var product_item = {
+ "Code10": "37725683OV",
+ "Size": 4,
+ }
+ promise(sdk.cart.add_item, { data: product_item }).then(function(data){
+ assert(data.Header.StatusCode == 201)
+ done()
+ })
+ })
+
+ it('has added product to cart', function(done){
+ promise(sdk.cart.get_status, {}).then(function(data){
+ assert(data.Header.StatusCode == 200)
+ assert(data.Cart.Items.length == 1)
+ console.log(JSON.stringify(data, null, 2))
+ done()
+ })
+ })
+
+ it('removes item from cart', function(done){
+ var product_item = {
+ "Code10": "37725683OV",
+ "Size": 4,
+ }
+ promise(sdk.cart.delete_item, { data: product_item }).then(function(data){
+ // console.log(data)
+ assert(data.Header.StatusCode == 200)
+ done()
+ })
+ })
+ })
+}) \ No newline at end of file