diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-11-22 12:33:57 -0500 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-11-22 12:33:57 -0500 |
| commit | 0b330d8d365f8cba80d0ead6f59f66cc6ee1ffcd (patch) | |
| tree | 66c396e96f696657c04d377e5b4492091b53eb81 | |
| parent | acb2ba68247ca6272513d6a27ec3f13f49558cb4 (diff) | |
test logged-out cart flow
| -rw-r--r-- | StoneIsland/www/css/index.css | 4 | ||||
| -rw-r--r-- | StoneIsland/www/js/sdk/cart.js | 5 | ||||
| -rw-r--r-- | StoneIsland/www/js/vendor/view/serializable.js | 5 | ||||
| -rw-r--r-- | test/test/05-cart-flows.js | 49 |
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 |
