mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-13 23:37:47 +00:00
Refactoring how we change window.location
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
Darkswarm.factory 'Order', ($resource, Product, order, $http, CheckoutFormState, flash)->
|
||||
Darkswarm.factory 'Order', ($resource, Product, order, $http, CheckoutFormState, flash, Navigation)->
|
||||
new class Order
|
||||
errors: {}
|
||||
|
||||
@@ -7,12 +7,9 @@ Darkswarm.factory 'Order', ($resource, Product, order, $http, CheckoutFormState,
|
||||
# Default to first shipping method if none selected
|
||||
@order.shipping_method_id ||= parseInt(Object.keys(@order.shipping_methods)[0])
|
||||
|
||||
navigate: (path)->
|
||||
window.location.pathname = path
|
||||
|
||||
submit: ->
|
||||
$http.put('/shop/checkout', {order: @preprocess()}).success (data, status)=>
|
||||
@navigate(data.path)
|
||||
Navigation.go data.path
|
||||
.error (response, status)=>
|
||||
@errors = response.errors
|
||||
flash.error = response.flash?.error
|
||||
|
||||
@@ -3,6 +3,7 @@ describe 'Order service', ->
|
||||
orderData = null
|
||||
$httpBackend = null
|
||||
CheckoutFormState = null
|
||||
Navigation = null
|
||||
flash = null
|
||||
|
||||
beforeEach ->
|
||||
@@ -28,9 +29,10 @@ describe 'Order service', ->
|
||||
inject ($injector, _$httpBackend_)->
|
||||
$httpBackend = _$httpBackend_
|
||||
Order = $injector.get("Order")
|
||||
Navigation = $injector.get("Navigation")
|
||||
flash = $injector.get("flash")
|
||||
CheckoutFormState = $injector.get("CheckoutFormState")
|
||||
spyOn(Order, "navigate") # Stubbing out writes to window.location
|
||||
spyOn(Navigation, "go") # Stubbing out writes to window.location
|
||||
|
||||
it "defaults the shipping method to the first", ->
|
||||
expect(Order.order.shipping_method_id).toEqual 7
|
||||
|
||||
Reference in New Issue
Block a user