spree_api 2.4.6 → 2.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/spree/api/checkouts_controller.rb +2 -2
- data/app/controllers/spree/api/countries_controller.rb +3 -3
- data/app/controllers/spree/api/images_controller.rb +2 -2
- data/app/controllers/spree/api/inventory_units_controller.rb +1 -1
- data/app/controllers/spree/api/orders_controller.rb +4 -4
- data/app/controllers/spree/api/payments_controller.rb +1 -1
- data/app/controllers/spree/api/product_properties_controller.rb +1 -1
- data/app/controllers/spree/api/products_controller.rb +4 -4
- data/app/controllers/spree/api/properties_controller.rb +1 -1
- data/app/controllers/spree/api/return_authorizations_controller.rb +4 -4
- data/app/controllers/spree/api/states_controller.rb +2 -2
- data/app/controllers/spree/api/stock_items_controller.rb +4 -4
- data/app/controllers/spree/api/stock_locations_controller.rb +5 -5
- data/app/controllers/spree/api/stock_movements_controller.rb +3 -3
- data/app/controllers/spree/api/stores_controller.rb +5 -5
- data/app/controllers/spree/api/taxonomies_controller.rb +4 -4
- data/app/controllers/spree/api/taxons_controller.rb +1 -1
- data/app/controllers/spree/api/variants_controller.rb +3 -3
- data/app/controllers/spree/api/zones_controller.rb +3 -3
- data/app/views/spree/api/variants/big.v1.rabl +0 -6
- data/spec/controllers/spree/api/products_controller_spec.rb +7 -0
- data/spec/controllers/spree/api/users_controller_spec.rb +1 -1
- data/spec/controllers/spree/api/variants_controller_spec.rb +5 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 99560ebdaf455a59e76c64abf84ae1d2da1adb30
|
4
|
+
data.tar.gz: e9d198bf6d7a8a2131a7db49d55c61ae4d231b63
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94c7b6c9613e7ee865c0cc6cc0e0b761d4b077b76d7013677dacab09b032b15dccabdb3b1cb8d746557f6b66c82864bfcfedd688848c7a16da50c94a99375ba5
|
7
|
+
data.tar.gz: 1f4b86560857b5170b7566f641ace8b91d58f367d23dcc5bb4dfe8db02de637b19191825f3722ee378c96e02e53279e054d2f054fda207bb072f635acc070466
|
@@ -52,7 +52,7 @@ module Spree
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def nested_params
|
55
|
-
map_nested_attributes_keys Order, params[:order] || {}
|
55
|
+
map_nested_attributes_keys Spree::Order, params[:order] || {}
|
56
56
|
end
|
57
57
|
|
58
58
|
# Should be overriden if you have areas of your checkout that don't match
|
@@ -79,7 +79,7 @@ module Spree
|
|
79
79
|
|
80
80
|
def after_update_attributes
|
81
81
|
if nested_params && nested_params[:coupon_code].present?
|
82
|
-
handler = PromotionHandler::Coupon.new(@order).apply
|
82
|
+
handler = Spree::PromotionHandler::Coupon.new(@order).apply
|
83
83
|
|
84
84
|
if handler.error.present?
|
85
85
|
@coupon_message = handler.error
|
@@ -5,17 +5,17 @@ module Spree
|
|
5
5
|
skip_before_action :authenticate_user
|
6
6
|
|
7
7
|
def index
|
8
|
-
@countries = Country.accessible_by(current_ability, :read).ransack(params[:q]).result.
|
8
|
+
@countries = Spree::Country.accessible_by(current_ability, :read).ransack(params[:q]).result.
|
9
9
|
includes(:states).order('name ASC').
|
10
10
|
page(params[:page]).per(params[:per_page])
|
11
|
-
country = Country.order("updated_at ASC").last
|
11
|
+
country = Spree::Country.order("updated_at ASC").last
|
12
12
|
if stale?(country)
|
13
13
|
respond_with(@countries)
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
17
|
def show
|
18
|
-
@country = Country.accessible_by(current_ability, :read).find(params[:id])
|
18
|
+
@country = Spree::Country.accessible_by(current_ability, :read).find(params[:id])
|
19
19
|
respond_with(@country)
|
20
20
|
end
|
21
21
|
end
|
@@ -8,12 +8,12 @@ module Spree
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def show
|
11
|
-
@image = Image.accessible_by(current_ability, :read).find(params[:id])
|
11
|
+
@image = Spree::Image.accessible_by(current_ability, :read).find(params[:id])
|
12
12
|
respond_with(@image)
|
13
13
|
end
|
14
14
|
|
15
15
|
def create
|
16
|
-
authorize! :create, Image
|
16
|
+
authorize! :create, Spree::Image
|
17
17
|
@image = scope.images.create(image_params)
|
18
18
|
respond_with(@image, :status => 201, :default_template => :show)
|
19
19
|
end
|
@@ -24,7 +24,7 @@ module Spree
|
|
24
24
|
private
|
25
25
|
|
26
26
|
def inventory_unit
|
27
|
-
@inventory_unit ||= InventoryUnit.accessible_by(current_ability, :read).find(params[:id])
|
27
|
+
@inventory_unit ||= Spree::InventoryUnit.accessible_by(current_ability, :read).find(params[:id])
|
28
28
|
end
|
29
29
|
|
30
30
|
def prepare_event
|
@@ -7,7 +7,7 @@ module Spree
|
|
7
7
|
before_action :find_order, except: [:create, :mine, :current, :index, :update]
|
8
8
|
|
9
9
|
# Dynamically defines our stores checkout steps to ensure we check authorization on each step.
|
10
|
-
Order.checkout_steps.keys.each do |step|
|
10
|
+
Spree::Order.checkout_steps.keys.each do |step|
|
11
11
|
define_method step do
|
12
12
|
find_order
|
13
13
|
authorize! :update, @order, params[:token]
|
@@ -21,7 +21,7 @@ module Spree
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def create
|
24
|
-
authorize! :create, Order
|
24
|
+
authorize! :create, Spree::Order
|
25
25
|
order_user = if @current_user_roles.include?('admin') && order_params[:user_id]
|
26
26
|
Spree.user_class.find(order_params[:user_id])
|
27
27
|
else
|
@@ -46,7 +46,7 @@ module Spree
|
|
46
46
|
|
47
47
|
def index
|
48
48
|
authorize! :index, Order
|
49
|
-
@orders = Order.ransack(params[:q]).result.page(params[:page]).per(params[:per_page])
|
49
|
+
@orders = Spree::Order.ransack(params[:q]).result.page(params[:page]).per(params[:per_page])
|
50
50
|
respond_with(@orders)
|
51
51
|
end
|
52
52
|
|
@@ -99,7 +99,7 @@ module Spree
|
|
99
99
|
find_order
|
100
100
|
authorize! :update, @order, order_token
|
101
101
|
@order.coupon_code = params[:coupon_code]
|
102
|
-
@handler = PromotionHandler::Coupon.new(@order).apply
|
102
|
+
@handler = Spree::PromotionHandler::Coupon.new(@order).apply
|
103
103
|
status = @handler.successful? ? 200 : 422
|
104
104
|
render "spree/api/promotions/handler", :status => status
|
105
105
|
end
|
@@ -20,7 +20,7 @@ module Spree
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def create
|
23
|
-
authorize! :create, ProductProperty
|
23
|
+
authorize! :create, Spree::ProductProperty
|
24
24
|
@product_property = @product.product_properties.new(product_property_params)
|
25
25
|
if @product_property.save
|
26
26
|
respond_with(@product_property, status: 201, default_template: :show)
|
@@ -57,12 +57,12 @@ module Spree
|
|
57
57
|
# }
|
58
58
|
#
|
59
59
|
def create
|
60
|
-
authorize! :create, Product
|
60
|
+
authorize! :create, Spree::Product
|
61
61
|
params[:product][:available_on] ||= Time.now
|
62
62
|
set_up_shipping_category
|
63
63
|
|
64
64
|
options = { variants_attrs: variants_params, options_attrs: option_types_params }
|
65
|
-
@product = Core::Importer::Product.new(nil, product_params, options).create
|
65
|
+
@product = Spree::Core::Importer::Product.new(nil, product_params, options).create
|
66
66
|
|
67
67
|
if @product.persisted?
|
68
68
|
respond_with(@product, :status => 201, :default_template => :show)
|
@@ -76,7 +76,7 @@ module Spree
|
|
76
76
|
authorize! :update, @product
|
77
77
|
|
78
78
|
options = { variants_attrs: variants_params, options_attrs: option_types_params }
|
79
|
-
@product = Core::Importer::Product.new(@product, product_params, options).update
|
79
|
+
@product = Spree::Core::Importer::Product.new(@product, product_params, options).update
|
80
80
|
|
81
81
|
if @product.errors.empty?
|
82
82
|
respond_with(@product.reload, :status => 200, :default_template => :show)
|
@@ -119,7 +119,7 @@ module Spree
|
|
119
119
|
|
120
120
|
def set_up_shipping_category
|
121
121
|
if shipping_category = params[:product].delete(:shipping_category)
|
122
|
-
id = ShippingCategory.find_or_create_by(name: shipping_category).id
|
122
|
+
id = Spree::ShippingCategory.find_or_create_by(name: shipping_category).id
|
123
123
|
params[:product][:shipping_category_id] = id
|
124
124
|
end
|
125
125
|
end
|
@@ -3,7 +3,7 @@ module Spree
|
|
3
3
|
class ReturnAuthorizationsController < Spree::Api::BaseController
|
4
4
|
|
5
5
|
def create
|
6
|
-
authorize! :create, ReturnAuthorization
|
6
|
+
authorize! :create, Spree::ReturnAuthorization
|
7
7
|
@return_authorization = order.return_authorizations.build(return_authorization_params)
|
8
8
|
if @return_authorization.save
|
9
9
|
respond_with(@return_authorization, status: 201, default_template: :show)
|
@@ -19,7 +19,7 @@ module Spree
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def index
|
22
|
-
authorize! :admin, ReturnAuthorization
|
22
|
+
authorize! :admin, Spree::ReturnAuthorization
|
23
23
|
@return_authorizations = order.return_authorizations.accessible_by(current_ability, :read).
|
24
24
|
ransack(params[:q]).result.
|
25
25
|
page(params[:page]).per(params[:per_page])
|
@@ -27,11 +27,11 @@ module Spree
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def new
|
30
|
-
authorize! :admin, ReturnAuthorization
|
30
|
+
authorize! :admin, Spree::ReturnAuthorization
|
31
31
|
end
|
32
32
|
|
33
33
|
def show
|
34
|
-
authorize! :admin, ReturnAuthorization
|
34
|
+
authorize! :admin, Spree::ReturnAuthorization
|
35
35
|
@return_authorization = order.return_authorizations.accessible_by(current_ability, :read).find(params[:id])
|
36
36
|
respond_with(@return_authorization)
|
37
37
|
end
|
@@ -27,10 +27,10 @@ module Spree
|
|
27
27
|
private
|
28
28
|
def scope
|
29
29
|
if params[:country_id]
|
30
|
-
@country = Country.accessible_by(current_ability, :read).find(params[:country_id])
|
30
|
+
@country = Spree::Country.accessible_by(current_ability, :read).find(params[:country_id])
|
31
31
|
return @country.states.accessible_by(current_ability, :read)
|
32
32
|
else
|
33
|
-
return State.accessible_by(current_ability, :read)
|
33
|
+
return Spree::State.accessible_by(current_ability, :read)
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
@@ -14,7 +14,7 @@ module Spree
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def create
|
17
|
-
authorize! :create, StockItem
|
17
|
+
authorize! :create, Spree::StockItem
|
18
18
|
|
19
19
|
count_on_hand = 0
|
20
20
|
if params[:stock_item].has_key?(:count_on_hand)
|
@@ -31,7 +31,7 @@ module Spree
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def update
|
34
|
-
@stock_item = StockItem.accessible_by(current_ability, :update).find(params[:id])
|
34
|
+
@stock_item = Spree::StockItem.accessible_by(current_ability, :update).find(params[:id])
|
35
35
|
|
36
36
|
count_on_hand = 0
|
37
37
|
if params[:stock_item].has_key?(:count_on_hand)
|
@@ -50,7 +50,7 @@ module Spree
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def destroy
|
53
|
-
@stock_item = StockItem.accessible_by(current_ability, :destroy).find(params[:id])
|
53
|
+
@stock_item = Spree::StockItem.accessible_by(current_ability, :destroy).find(params[:id])
|
54
54
|
@stock_item.destroy
|
55
55
|
respond_with(@stock_item, status: 204)
|
56
56
|
end
|
@@ -59,7 +59,7 @@ module Spree
|
|
59
59
|
|
60
60
|
def stock_location
|
61
61
|
render 'spree/api/shared/stock_location_required', status: 422 and return unless params[:stock_location_id]
|
62
|
-
@stock_location ||= StockLocation.accessible_by(current_ability, :read).find(params[:stock_location_id])
|
62
|
+
@stock_location ||= Spree::StockLocation.accessible_by(current_ability, :read).find(params[:stock_location_id])
|
63
63
|
end
|
64
64
|
|
65
65
|
def scope
|
@@ -2,8 +2,8 @@ module Spree
|
|
2
2
|
module Api
|
3
3
|
class StockLocationsController < Spree::Api::BaseController
|
4
4
|
def index
|
5
|
-
authorize! :read, StockLocation
|
6
|
-
@stock_locations = StockLocation.accessible_by(current_ability, :read).order('name ASC').ransack(params[:q]).result.page(params[:page]).per(params[:per_page])
|
5
|
+
authorize! :read, Spree::StockLocation
|
6
|
+
@stock_locations = Spree::StockLocation.accessible_by(current_ability, :read).order('name ASC').ransack(params[:q]).result.page(params[:page]).per(params[:per_page])
|
7
7
|
respond_with(@stock_locations)
|
8
8
|
end
|
9
9
|
|
@@ -12,8 +12,8 @@ module Spree
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def create
|
15
|
-
authorize! :create, StockLocation
|
16
|
-
@stock_location = StockLocation.new(stock_location_params)
|
15
|
+
authorize! :create, Spree::StockLocation
|
16
|
+
@stock_location = Spree::StockLocation.new(stock_location_params)
|
17
17
|
if @stock_location.save
|
18
18
|
respond_with(@stock_location, status: 201, default_template: :show)
|
19
19
|
else
|
@@ -39,7 +39,7 @@ module Spree
|
|
39
39
|
private
|
40
40
|
|
41
41
|
def stock_location
|
42
|
-
@stock_location ||= StockLocation.accessible_by(current_ability, :read).find(params[:id])
|
42
|
+
@stock_location ||= Spree::StockLocation.accessible_by(current_ability, :read).find(params[:id])
|
43
43
|
end
|
44
44
|
|
45
45
|
def stock_location_params
|
@@ -4,7 +4,7 @@ module Spree
|
|
4
4
|
before_action :stock_location, except: [:update, :destroy]
|
5
5
|
|
6
6
|
def index
|
7
|
-
authorize! :read, StockMovement
|
7
|
+
authorize! :read, Spree::StockMovement
|
8
8
|
@stock_movements = scope.ransack(params[:q]).result.page(params[:page]).per(params[:per_page])
|
9
9
|
respond_with(@stock_movements)
|
10
10
|
end
|
@@ -15,7 +15,7 @@ module Spree
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def create
|
18
|
-
authorize! :create, StockMovement
|
18
|
+
authorize! :create, Spree::StockMovement
|
19
19
|
@stock_movement = scope.new(stock_movement_params)
|
20
20
|
if @stock_movement.save
|
21
21
|
respond_with(@stock_movement, status: 201, default_template: :show)
|
@@ -28,7 +28,7 @@ module Spree
|
|
28
28
|
|
29
29
|
def stock_location
|
30
30
|
render 'spree/api/shared/stock_location_required', status: 422 and return unless params[:stock_location_id]
|
31
|
-
@stock_location ||= StockLocation.accessible_by(current_ability, :read).find(params[:stock_location_id])
|
31
|
+
@stock_location ||= Spree::StockLocation.accessible_by(current_ability, :read).find(params[:stock_location_id])
|
32
32
|
end
|
33
33
|
|
34
34
|
def scope
|
@@ -5,14 +5,14 @@ module Spree
|
|
5
5
|
before_filter :get_store, except: [:index, :create]
|
6
6
|
|
7
7
|
def index
|
8
|
-
authorize! :read, Store
|
9
|
-
@stores = Store.accessible_by(current_ability, :read).all
|
8
|
+
authorize! :read, Spree::Store
|
9
|
+
@stores = Spree::Store.accessible_by(current_ability, :read).all
|
10
10
|
respond_with(@stores)
|
11
11
|
end
|
12
12
|
|
13
13
|
def create
|
14
|
-
authorize! :create, Store
|
15
|
-
@store = Store.new(store_params)
|
14
|
+
authorize! :create, Spree::Store
|
15
|
+
@store = Spree::Store.new(store_params)
|
16
16
|
@store.code = params[:store][:code]
|
17
17
|
if @store.save
|
18
18
|
respond_with(@store, status: 201, default_template: :show)
|
@@ -44,7 +44,7 @@ module Spree
|
|
44
44
|
private
|
45
45
|
|
46
46
|
def get_store
|
47
|
-
@store = Store.find(params[:id])
|
47
|
+
@store = Spree::Store.find(params[:id])
|
48
48
|
end
|
49
49
|
|
50
50
|
def store_params
|
@@ -16,8 +16,8 @@ module Spree
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def create
|
19
|
-
authorize! :create, Taxonomy
|
20
|
-
@taxonomy = Taxonomy.new(taxonomy_params)
|
19
|
+
authorize! :create, Spree::Taxonomy
|
20
|
+
@taxonomy = Spree::Taxonomy.new(taxonomy_params)
|
21
21
|
if @taxonomy.save
|
22
22
|
respond_with(@taxonomy, :status => 201, :default_template => :show)
|
23
23
|
else
|
@@ -43,13 +43,13 @@ module Spree
|
|
43
43
|
private
|
44
44
|
|
45
45
|
def taxonomies
|
46
|
-
@taxonomies = Taxonomy.accessible_by(current_ability, :read).order('name').includes(:root => :children).
|
46
|
+
@taxonomies = Spree::Taxonomy.accessible_by(current_ability, :read).order('name').includes(:root => :children).
|
47
47
|
ransack(params[:q]).result.
|
48
48
|
page(params[:page]).per(params[:per_page])
|
49
49
|
end
|
50
50
|
|
51
51
|
def taxonomy
|
52
|
-
@taxonomy ||= Taxonomy.accessible_by(current_ability, :read).find(params[:id])
|
52
|
+
@taxonomy ||= Spree::Taxonomy.accessible_by(current_ability, :read).find(params[:id])
|
53
53
|
end
|
54
54
|
|
55
55
|
def taxonomy_params
|
@@ -4,7 +4,7 @@ module Spree
|
|
4
4
|
before_action :product
|
5
5
|
|
6
6
|
def create
|
7
|
-
authorize! :create, Variant
|
7
|
+
authorize! :create, Spree::Variant
|
8
8
|
@variant = scope.new(variant_params)
|
9
9
|
if @variant.save
|
10
10
|
respond_with(@variant, status: 201, default_template: :show)
|
@@ -55,10 +55,10 @@ module Spree
|
|
55
55
|
if @product
|
56
56
|
variants = @product.variants_including_master
|
57
57
|
else
|
58
|
-
variants = Variant
|
58
|
+
variants = Spree::Variant
|
59
59
|
end
|
60
60
|
|
61
|
-
if current_ability.can?(:manage, Variant) && params[:show_deleted]
|
61
|
+
if current_ability.can?(:manage, Spree::Variant) && params[:show_deleted]
|
62
62
|
variants = variants.with_deleted
|
63
63
|
end
|
64
64
|
|
@@ -3,8 +3,8 @@ module Spree
|
|
3
3
|
class ZonesController < Spree::Api::BaseController
|
4
4
|
|
5
5
|
def create
|
6
|
-
authorize! :create, Zone
|
7
|
-
@zone = Zone.new(map_nested_attributes_keys(Spree::Zone, params[:zone]))
|
6
|
+
authorize! :create, Spree::Zone
|
7
|
+
@zone = Spree::Zone.new(map_nested_attributes_keys(Spree::Zone, params[:zone]))
|
8
8
|
if @zone.save
|
9
9
|
respond_with(@zone, :status => 201, :default_template => :show)
|
10
10
|
else
|
@@ -19,7 +19,7 @@ module Spree
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def index
|
22
|
-
@zones = Zone.accessible_by(current_ability, :read).order('name ASC').ransack(params[:q]).result.page(params[:page]).per(params[:per_page])
|
22
|
+
@zones = Spree::Zone.accessible_by(current_ability, :read).order('name ASC').ransack(params[:q]).result.page(params[:page]).per(params[:per_page])
|
23
23
|
respond_with(@zones)
|
24
24
|
end
|
25
25
|
|
@@ -1,15 +1,9 @@
|
|
1
1
|
object @variant
|
2
|
-
attributes *variant_attributes
|
3
2
|
|
4
3
|
cache [I18n.locale, @current_user_roles.include?('admin'), 'big_variant', root_object]
|
5
4
|
|
6
5
|
extends "spree/api/variants/small"
|
7
6
|
|
8
|
-
node :total_on_hand do
|
9
|
-
root_object.total_on_hand
|
10
|
-
end
|
11
|
-
|
12
|
-
|
13
7
|
child(:stock_items => :stock_items) do
|
14
8
|
attributes :id, :count_on_hand, :stock_location_id, :backorderable
|
15
9
|
attribute :available? => :available
|
@@ -315,6 +315,13 @@ module Spree
|
|
315
315
|
expect(json_response['option_types'].count).to eq(2)
|
316
316
|
end
|
317
317
|
|
318
|
+
it "creates product with option_types ids" do
|
319
|
+
option_type = create(:option_type)
|
320
|
+
product_data.merge!(option_type_ids: [option_type.id])
|
321
|
+
api_post :create, product: product_data
|
322
|
+
expect(json_response['option_types'].first['id']).to eq option_type.id
|
323
|
+
end
|
324
|
+
|
318
325
|
it "creates with shipping categories" do
|
319
326
|
hash = { :name => "The Other Product",
|
320
327
|
:price => 19.99,
|
@@ -4,7 +4,7 @@ module Spree
|
|
4
4
|
describe Api::UsersController, :type => :controller do
|
5
5
|
render_views
|
6
6
|
|
7
|
-
let(:user) { create(:user, spree_api_key: rand) }
|
7
|
+
let(:user) { create(:user, spree_api_key: rand.to_s) }
|
8
8
|
let(:stranger) { create(:user, :email => 'stranger@example.com') }
|
9
9
|
let(:attributes) { [:id, :email, :created_at, :updated_at] }
|
10
10
|
|
@@ -4,10 +4,11 @@ module Spree
|
|
4
4
|
describe Api::VariantsController, :type => :controller do
|
5
5
|
render_views
|
6
6
|
|
7
|
+
let(:option_value) { create(:option_value) }
|
7
8
|
let!(:product) { create(:product) }
|
8
9
|
let!(:variant) do
|
9
10
|
variant = product.master
|
10
|
-
variant.option_values <<
|
11
|
+
variant.option_values << option_value
|
11
12
|
variant
|
12
13
|
end
|
13
14
|
|
@@ -166,10 +167,12 @@ module Spree
|
|
166
167
|
end
|
167
168
|
|
168
169
|
it "can create a new variant" do
|
169
|
-
api_post :create, :
|
170
|
+
api_post :create, variant: { sku: "12345", option_value_ids: [option_value.id] }
|
171
|
+
|
170
172
|
expect(json_response).to have_attributes(new_attributes)
|
171
173
|
expect(response.status).to eq(201)
|
172
174
|
expect(json_response["sku"]).to eq("12345")
|
175
|
+
expect(json_response["option_values"].first["id"]).to eq option_value.id
|
173
176
|
|
174
177
|
expect(variant.product.variants.count).to eq(1)
|
175
178
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Bigg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.4.
|
19
|
+
version: 2.4.7
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.4.
|
26
|
+
version: 2.4.7
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rabl
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|