summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--StoneIsland/www/js/lib/cart/CartPayment.js41
-rw-r--r--StoneIsland/www/js/sdk/cart.js20
-rw-r--r--StoneIsland/www/js/sdk/payment.js2
-rw-r--r--test/test/03-address.js5
-rw-r--r--test/test/04-cart.js23
-rw-r--r--test/test/05-cart-flows.js2
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()
})
})