diff options
| -rw-r--r-- | StoneIsland/www/js/lib/cart/CartPayment.js | 41 | ||||
| -rw-r--r-- | StoneIsland/www/js/sdk/cart.js | 20 | ||||
| -rw-r--r-- | StoneIsland/www/js/sdk/payment.js | 2 | ||||
| -rw-r--r-- | test/test/03-address.js | 5 | ||||
| -rw-r--r-- | test/test/04-cart.js | 23 | ||||
| -rw-r--r-- | test/test/05-cart-flows.js | 2 |
6 files changed, 64 insertions, 29 deletions
diff --git a/StoneIsland/www/js/lib/cart/CartPayment.js b/StoneIsland/www/js/lib/cart/CartPayment.js index d052e31f..fec5e1d1 100644 --- a/StoneIsland/www/js/lib/cart/CartPayment.js +++ b/StoneIsland/www/js/lib/cart/CartPayment.js @@ -36,13 +36,6 @@ var CartPayment = FormView.extend({ this.cc.disabled = true }, - // 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 - show: function(){ document.body.className = "cart" app.cart.el.className = "payment" @@ -112,6 +105,40 @@ var CartPayment = FormView.extend({ this.$cc_list.append(cc_t) }) }, + + finalize: function(data){ + var shipping_info = {}, address_data, address_id, cc_info = {}, cc_data, cc_id + var shipping_type = $("[name=ShippingType]").filter(function(){ return $(this).prop("checked") }).val() + + if (this.list_mode) { + address_id = $("[name=AddressId]").filter(function(){ return $(this).prop("checked") }).val() + address_data = app.account.addressLookup[ address_id ] + } + else { + address_data = data + } + if (this.cc_list_mode) { + cc_id = $("[name=CCId]").filter(function(){ return $(this).prop("checked") }).val() + cc_data = app.account.ccLookup[ cc_id ] + } + else { + cc_data = data + } + + shipping_info.Name = address_data.Name + shipping_info.Surname = address_data.Surname + shipping_info.Email = auth.user.Email + shipping_info.Phone = address_data.Phone + shipping_info.Mobile = address_data.Phone + shipping_info.StreetWithNumber = address_data.Address + shipping_info.PostalCode = address_data.ZipCode + shipping_info.City = address_data.City + shipping_info.Province = address_data.Province + shipping_info.Region = address_data.Province + shipping_info.CountryCode = "US" + + return shipping_info + }, success: function(){ app.router.go('cart/confirm') diff --git a/StoneIsland/www/js/sdk/cart.js b/StoneIsland/www/js/sdk/cart.js index bbd03299..0f8f6f99 100644 --- a/StoneIsland/www/js/sdk/cart.js +++ b/StoneIsland/www/js/sdk/cart.js @@ -105,7 +105,6 @@ sdk.cart = (function(){ }) } - // NOTE: data might be wrapped in a Receiver object cart.set_shipping_address = function(opt){ return $.ajax({ method: "PUT", @@ -163,6 +162,17 @@ sdk.cart = (function(){ // NB: if "verification number" is 1, use CVV/CID/CVC security code // if "verification number" is 2, use "Issue Number" cart.use_stored_credit_card = function(opt){ + var data = { + "Guid": opt.data.guid, + "UserId": auth.user_id, + "AccessToken": auth.access_token, + } + if (opt.data.cvv) { + data["Cvv"] = opt.data.cvv + } + if (opt.data.issue) { + data["Issue"] = opt.data.issue + } return $.ajax({ method: "PUT", url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/userCreditCard.json"), @@ -170,13 +180,7 @@ sdk.cart = (function(){ "x-yoox-appname": auth.appname, "x-yoox-cart-token": cart.token, }, - data: JSON.stringify({ // NB may be wrapped in UserCreditCard object - "Guid": opt.guid, - "UserId": auth.user_id, - "AccessToken": auth.access_token, - "Cvv": opt.cvv, - "Issue": opt.issue, - }), + data: JSON.stringify(data), success: function(data){ // console.log(data) opt.success(data) diff --git a/StoneIsland/www/js/sdk/payment.js b/StoneIsland/www/js/sdk/payment.js index dcf7d7d4..283fee92 100644 --- a/StoneIsland/www/js/sdk/payment.js +++ b/StoneIsland/www/js/sdk/payment.js @@ -18,8 +18,6 @@ sdk.payment = (function(){ }) } - // LISTING A CREDIT CARD ONCE A CARD HAS BEEN ADDED PRODUCES ERROR - payment.list_credit_cards = function(opt){ return $.ajax({ method: "GET", diff --git a/test/test/03-address.js b/test/test/03-address.js index 728d1831..26a7124d 100644 --- a/test/test/03-address.js +++ b/test/test/03-address.js @@ -73,6 +73,7 @@ describe('address', function(){ }) }) +/* describe('#update()', function(){ it('updates addresses', function(done){ var a = addresses[0] @@ -86,12 +87,16 @@ describe('address', function(){ }) }) }) +*/ describe('#destroy()', function(){ it('destroys addresses', function(done){ + console.log("DESTROY >>", addresses[0].Id) promise(sdk.address.destroy, { id: addresses[0].Id }).then(function(data){ assert(data.Header.StatusCode == 200) done() + }).error(function(data){ + console.log(data.responseText) }) }) }) diff --git a/test/test/04-cart.js b/test/test/04-cart.js index f608ffb5..9c6a7931 100644 --- a/test/test/04-cart.js +++ b/test/test/04-cart.js @@ -283,33 +283,34 @@ describe('payment', function(){ }) }) }) - describe('#list_credit_cards()', function(){ + describe('#list_credit_cards()', function(){ // send nothing it('list credit cards', function(done){ promise(sdk.payment.list_credit_cards, { data: {} }).then(function(data){ - assert(data.Header.StatusCode == 200) + assert(data.Header.StatusCode == 200) done() }) }) }) - // TODO: list the credit cards on file first describe('#use_stored_credit_card()', function(){ - /* - it('use stored credit card', function(done){ + + it('uses stored credit card', function(done){ var card_on_file = { - "Guid": opt.guid, - "UserId": auth.user_id, - "AccessToken": auth.access_token, - "Cvv": opt.cvv, - "Issue": opt.issue, + "guid": last_guid, + "cvv": 123, + // "issue": 4248, } + console.log("LAST GUID >>", last_guid) promise(sdk.cart.use_stored_credit_card, { data: card_on_file }).then(function(data){ assert(data.Header.StatusCode == 200) done() + }).error(function(data){ + console.log("use_stored_credit_card failed") + console.log(data.responseText) }) }) - */ + }) }) diff --git a/test/test/05-cart-flows.js b/test/test/05-cart-flows.js index 96ccfaf5..40230b9b 100644 --- a/test/test/05-cart-flows.js +++ b/test/test/05-cart-flows.js @@ -29,7 +29,7 @@ describe('cart_flows', function(){ 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)) + // console.log(JSON.stringify(data, null, 2)) done() }) }) |
