solidus_core 1.1.0 → 1.1.1

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.
Files changed (228) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/Rakefile +16 -0
  4. data/script/rails +9 -0
  5. data/solidus_core.gemspec +48 -0
  6. data/spec/fixtures/thinking-cat.jpg +0 -0
  7. data/spec/helpers/base_helper_spec.rb +173 -0
  8. data/spec/helpers/order_helper_spec.rb +12 -0
  9. data/spec/helpers/products_helper_spec.rb +208 -0
  10. data/spec/helpers/taxons_helper_spec.rb +17 -0
  11. data/spec/lib/calculated_adjustments_spec.rb +7 -0
  12. data/spec/lib/i18n_spec.rb +106 -0
  13. data/spec/lib/search/base_spec.rb +86 -0
  14. data/spec/lib/search/variant_spec.rb +112 -0
  15. data/spec/lib/spree/core/controller_helpers/auth_spec.rb +66 -0
  16. data/spec/lib/spree/core/controller_helpers/order_spec.rb +92 -0
  17. data/spec/lib/spree/core/controller_helpers/payment_parameters_spec.rb +80 -0
  18. data/spec/lib/spree/core/controller_helpers/search_spec.rb +17 -0
  19. data/spec/lib/spree/core/controller_helpers/store_spec.rb +16 -0
  20. data/spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb +39 -0
  21. data/spec/lib/spree/core/current_store_spec.rb +36 -0
  22. data/spec/lib/spree/core/delegate_belongs_to_spec.rb +24 -0
  23. data/spec/lib/spree/core/importer/order_spec.rb +431 -0
  24. data/spec/lib/spree/core/role_configuration_spec.rb +156 -0
  25. data/spec/lib/spree/core/unreturned_item_charger_spec.rb +130 -0
  26. data/spec/lib/spree/core/validators/email_spec.rb +48 -0
  27. data/spec/lib/spree/localized_number_spec.rb +38 -0
  28. data/spec/lib/spree/migrations_spec.rb +36 -0
  29. data/spec/lib/spree/money_spec.rb +127 -0
  30. data/spec/lib/tasks/exchanges_spec.rb +231 -0
  31. data/spec/lib/tasks/migrations/copy_shipped_shipments_to_cartons_spec.rb +115 -0
  32. data/spec/lib/tasks/order_capturing_spec.rb +56 -0
  33. data/spec/mailers/carton_mailer_spec.rb +55 -0
  34. data/spec/mailers/order_mailer_spec.rb +135 -0
  35. data/spec/mailers/reimbursement_mailer_spec.rb +40 -0
  36. data/spec/mailers/test_mailer_spec.rb +15 -0
  37. data/spec/models/spree/ability_spec.rb +276 -0
  38. data/spec/models/spree/address_spec.rb +376 -0
  39. data/spec/models/spree/adjustment_reason_spec.rb +13 -0
  40. data/spec/models/spree/adjustment_spec.rb +169 -0
  41. data/spec/models/spree/app_configuration_spec.rb +24 -0
  42. data/spec/models/spree/asset_spec.rb +24 -0
  43. data/spec/models/spree/calculator/default_tax_spec.rb +127 -0
  44. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +25 -0
  45. data/spec/models/spree/calculator/flat_rate_spec.rb +47 -0
  46. data/spec/models/spree/calculator/flexi_rate_spec.rb +41 -0
  47. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +15 -0
  48. data/spec/models/spree/calculator/price_sack_spec.rb +30 -0
  49. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +60 -0
  50. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +23 -0
  51. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +13 -0
  52. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +52 -0
  53. data/spec/models/spree/calculator/shipping/per_item_spec.rb +20 -0
  54. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +30 -0
  55. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +36 -0
  56. data/spec/models/spree/calculator/tiered_percent_spec.rb +47 -0
  57. data/spec/models/spree/calculator_spec.rb +36 -0
  58. data/spec/models/spree/carton_spec.rb +133 -0
  59. data/spec/models/spree/classification_spec.rb +93 -0
  60. data/spec/models/spree/concerns/display_money_spec.rb +43 -0
  61. data/spec/models/spree/concerns/ordered_property_value_list_spec.rb +25 -0
  62. data/spec/models/spree/concerns/user_address_book_spec.rb +332 -0
  63. data/spec/models/spree/concerns/user_methods_spec.rb +41 -0
  64. data/spec/models/spree/credit_card_spec.rb +341 -0
  65. data/spec/models/spree/customer_return_spec.rb +276 -0
  66. data/spec/models/spree/exchange_spec.rb +79 -0
  67. data/spec/models/spree/gateway/bogus_simple.rb +20 -0
  68. data/spec/models/spree/gateway/bogus_spec.rb +13 -0
  69. data/spec/models/spree/gateway_spec.rb +104 -0
  70. data/spec/models/spree/inventory_unit_spec.rb +307 -0
  71. data/spec/models/spree/item_adjustments_spec.rb +275 -0
  72. data/spec/models/spree/line_item_spec.rb +199 -0
  73. data/spec/models/spree/option_type_spec.rb +14 -0
  74. data/spec/models/spree/option_value_spec.rb +45 -0
  75. data/spec/models/spree/order/address_spec.rb +50 -0
  76. data/spec/models/spree/order/adjustments_spec.rb +27 -0
  77. data/spec/models/spree/order/callbacks_spec.rb +42 -0
  78. data/spec/models/spree/order/checkout_spec.rb +884 -0
  79. data/spec/models/spree/order/currency_updater_spec.rb +32 -0
  80. data/spec/models/spree/order/finalizing_spec.rb +110 -0
  81. data/spec/models/spree/order/payment_spec.rb +243 -0
  82. data/spec/models/spree/order/risk_assessment_spec.rb +68 -0
  83. data/spec/models/spree/order/state_machine_spec.rb +209 -0
  84. data/spec/models/spree/order/tax_spec.rb +84 -0
  85. data/spec/models/spree/order/totals_spec.rb +24 -0
  86. data/spec/models/spree/order/updating_spec.rb +18 -0
  87. data/spec/models/spree/order/validations_spec.rb +15 -0
  88. data/spec/models/spree/order_cancellations_spec.rb +120 -0
  89. data/spec/models/spree/order_capturing_spec.rb +150 -0
  90. data/spec/models/spree/order_contents_spec.rb +307 -0
  91. data/spec/models/spree/order_inventory_spec.rb +228 -0
  92. data/spec/models/spree/order_mutex_spec.rb +85 -0
  93. data/spec/models/spree/order_promotion_spec.rb +31 -0
  94. data/spec/models/spree/order_shipping_spec.rb +241 -0
  95. data/spec/models/spree/order_spec.rb +1482 -0
  96. data/spec/models/spree/order_stock_location_spec.rb +18 -0
  97. data/spec/models/spree/order_updater_spec.rb +283 -0
  98. data/spec/models/spree/payment_method/store_credit_spec.rb +294 -0
  99. data/spec/models/spree/payment_method_spec.rb +147 -0
  100. data/spec/models/spree/payment_spec.rb +1087 -0
  101. data/spec/models/spree/permission_sets/base_spec.rb +12 -0
  102. data/spec/models/spree/permission_sets/configuration_display.rb +82 -0
  103. data/spec/models/spree/permission_sets/configuration_management_spec.rb +50 -0
  104. data/spec/models/spree/permission_sets/dashboard_display_spec.rb +22 -0
  105. data/spec/models/spree/permission_sets/order_display_spec.rb +55 -0
  106. data/spec/models/spree/permission_sets/order_management_spec.rb +42 -0
  107. data/spec/models/spree/permission_sets/product_display_spec.rb +60 -0
  108. data/spec/models/spree/permission_sets/product_management_spec.rb +40 -0
  109. data/spec/models/spree/permission_sets/promotion_display_spec.rb +40 -0
  110. data/spec/models/spree/permission_sets/promotion_management_spec.rb +26 -0
  111. data/spec/models/spree/permission_sets/report_display_spec.rb +24 -0
  112. data/spec/models/spree/permission_sets/restricted_stock_display_spec.rb +41 -0
  113. data/spec/models/spree/permission_sets/restricted_stock_management_spec.rb +41 -0
  114. data/spec/models/spree/permission_sets/restricted_stock_transfer_display_spec.rb +50 -0
  115. data/spec/models/spree/permission_sets/restricted_stock_transfer_management_spec.rb +160 -0
  116. data/spec/models/spree/permission_sets/stock_display_spec.rb +24 -0
  117. data/spec/models/spree/permission_sets/stock_management_spec.rb +22 -0
  118. data/spec/models/spree/permission_sets/stock_transfer_display_spec.rb +24 -0
  119. data/spec/models/spree/permission_sets/stock_transfer_management_spec.rb +25 -0
  120. data/spec/models/spree/permission_sets/user_display_spec.rb +38 -0
  121. data/spec/models/spree/permission_sets/user_management_spec.rb +48 -0
  122. data/spec/models/spree/preference_spec.rb +80 -0
  123. data/spec/models/spree/preferences/configuration_spec.rb +30 -0
  124. data/spec/models/spree/preferences/preferable_spec.rb +294 -0
  125. data/spec/models/spree/preferences/scoped_store_spec.rb +60 -0
  126. data/spec/models/spree/preferences/static_model_preferences_spec.rb +78 -0
  127. data/spec/models/spree/preferences/statically_configurable_spec.rb +60 -0
  128. data/spec/models/spree/preferences/store_spec.rb +39 -0
  129. data/spec/models/spree/price_spec.rb +42 -0
  130. data/spec/models/spree/product/scopes_spec.rb +116 -0
  131. data/spec/models/spree/product_duplicator_spec.rb +103 -0
  132. data/spec/models/spree/product_filter_spec.rb +26 -0
  133. data/spec/models/spree/product_property_spec.rb +18 -0
  134. data/spec/models/spree/product_spec.rb +504 -0
  135. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +96 -0
  136. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +165 -0
  137. data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +115 -0
  138. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +40 -0
  139. data/spec/models/spree/promotion/rules/first_order_spec.rb +75 -0
  140. data/spec/models/spree/promotion/rules/first_repeat_purchase_since_spec.rb +69 -0
  141. data/spec/models/spree/promotion/rules/item_total_spec.rb +67 -0
  142. data/spec/models/spree/promotion/rules/nth_order_spec.rb +70 -0
  143. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +42 -0
  144. data/spec/models/spree/promotion/rules/option_value_spec.rb +94 -0
  145. data/spec/models/spree/promotion/rules/product_spec.rb +143 -0
  146. data/spec/models/spree/promotion/rules/taxon_spec.rb +102 -0
  147. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +27 -0
  148. data/spec/models/spree/promotion/rules/user_spec.rb +37 -0
  149. data/spec/models/spree/promotion_builder_spec.rb +118 -0
  150. data/spec/models/spree/promotion_category_spec.rb +17 -0
  151. data/spec/models/spree/promotion_code/code_builder_spec.rb +79 -0
  152. data/spec/models/spree/promotion_code_spec.rb +187 -0
  153. data/spec/models/spree/promotion_handler/cart_spec.rb +130 -0
  154. data/spec/models/spree/promotion_handler/coupon_spec.rb +335 -0
  155. data/spec/models/spree/promotion_handler/free_shipping_spec.rb +47 -0
  156. data/spec/models/spree/promotion_handler/page_spec.rb +44 -0
  157. data/spec/models/spree/promotion_rule_spec.rb +28 -0
  158. data/spec/models/spree/promotion_spec.rb +776 -0
  159. data/spec/models/spree/refund_spec.rb +192 -0
  160. data/spec/models/spree/reimbursement/credit_spec.rb +36 -0
  161. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +140 -0
  162. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +83 -0
  163. data/spec/models/spree/reimbursement_performer_spec.rb +30 -0
  164. data/spec/models/spree/reimbursement_spec.rb +231 -0
  165. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +51 -0
  166. data/spec/models/spree/reimbursement_type/credit_spec.rb +53 -0
  167. data/spec/models/spree/reimbursement_type/exchange_spec.rb +46 -0
  168. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +107 -0
  169. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +97 -0
  170. data/spec/models/spree/return_authorization_spec.rb +290 -0
  171. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +77 -0
  172. data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +58 -0
  173. data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +85 -0
  174. data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +32 -0
  175. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +29 -0
  176. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +35 -0
  177. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +65 -0
  178. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +43 -0
  179. data/spec/models/spree/return_item_spec.rb +776 -0
  180. data/spec/models/spree/returns_calculator_spec.rb +14 -0
  181. data/spec/models/spree/shipment_spec.rb +753 -0
  182. data/spec/models/spree/shipping_calculator_spec.rb +45 -0
  183. data/spec/models/spree/shipping_manifest_spec.rb +94 -0
  184. data/spec/models/spree/shipping_method_spec.rb +88 -0
  185. data/spec/models/spree/shipping_rate_spec.rb +142 -0
  186. data/spec/models/spree/state_spec.rb +14 -0
  187. data/spec/models/spree/stock/availability_validator_spec.rb +83 -0
  188. data/spec/models/spree/stock/coordinator_spec.rb +116 -0
  189. data/spec/models/spree/stock/differentiator_spec.rb +39 -0
  190. data/spec/models/spree/stock/estimator_spec.rb +146 -0
  191. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +38 -0
  192. data/spec/models/spree/stock/package_spec.rb +163 -0
  193. data/spec/models/spree/stock/packer_spec.rb +91 -0
  194. data/spec/models/spree/stock/prioritizer_spec.rb +125 -0
  195. data/spec/models/spree/stock/quantifier_spec.rb +115 -0
  196. data/spec/models/spree/stock/splitter/backordered_spec.rb +29 -0
  197. data/spec/models/spree/stock/splitter/base_spec.rb +21 -0
  198. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +50 -0
  199. data/spec/models/spree/stock/splitter/weight_spec.rb +29 -0
  200. data/spec/models/spree/stock_item_spec.rb +444 -0
  201. data/spec/models/spree/stock_location_spec.rb +279 -0
  202. data/spec/models/spree/stock_movement_spec.rb +56 -0
  203. data/spec/models/spree/stock_transfer_spec.rb +290 -0
  204. data/spec/models/spree/store_credit_category_spec.rb +17 -0
  205. data/spec/models/spree/store_credit_event_spec.rb +314 -0
  206. data/spec/models/spree/store_credit_spec.rb +876 -0
  207. data/spec/models/spree/store_spec.rb +55 -0
  208. data/spec/models/spree/tax_category_spec.rb +27 -0
  209. data/spec/models/spree/tax_rate_spec.rb +378 -0
  210. data/spec/models/spree/taxon_spec.rb +74 -0
  211. data/spec/models/spree/taxonomy_spec.rb +18 -0
  212. data/spec/models/spree/tracker_spec.rb +21 -0
  213. data/spec/models/spree/transfer_item_spec.rb +264 -0
  214. data/spec/models/spree/unit_cancel_spec.rb +149 -0
  215. data/spec/models/spree/user_spec.rb +246 -0
  216. data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +23 -0
  217. data/spec/models/spree/variant/scopes_spec.rb +55 -0
  218. data/spec/models/spree/variant_property_rule_condition_spec.rb +15 -0
  219. data/spec/models/spree/variant_property_rule_spec.rb +83 -0
  220. data/spec/models/spree/variant_property_rule_value_spec.rb +18 -0
  221. data/spec/models/spree/variant_spec.rb +601 -0
  222. data/spec/models/spree/zone_spec.rb +305 -0
  223. data/spec/spec_helper.rb +80 -0
  224. data/spec/support/big_decimal.rb +5 -0
  225. data/spec/support/concerns/default_price.rb +34 -0
  226. data/spec/support/dummy_ability.rb +4 -0
  227. data/spec/support/test_gateway.rb +2 -0
  228. metadata +242 -2
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::Base do
4
+ let(:ability) { Spree::Ability.new nil }
5
+ subject { described_class.new(ability).activate! }
6
+
7
+ describe "activate!" do
8
+ it "raises a not implemented error" do
9
+ expect{subject}.to raise_error(NotImplementedError)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,82 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::ConfigurationDisplay do
4
+ let(:ability) { DummyAbility.new }
5
+
6
+ subject { ability }
7
+
8
+ context "when activated" do
9
+ before do
10
+ described_class.new(ability).activate!
11
+ end
12
+
13
+ it { is_expected.to be_able_to(:edit, :general_settings) }
14
+ it { is_expected.to be_able_to(:display, Spree::TaxCategory) }
15
+ it { is_expected.to be_able_to(:display, Spree::TaxRate) }
16
+ it { is_expected.to be_able_to(:display, Spree::Zone) }
17
+ it { is_expected.to be_able_to(:display, Spree::Country) }
18
+ it { is_expected.to be_able_to(:display, Spree::State) }
19
+ it { is_expected.to be_able_to(:display, Spree::PaymentMethod) }
20
+ it { is_expected.to be_able_to(:display, Spree::Taxonomy) }
21
+ it { is_expected.to be_able_to(:display, Spree::ShippingMethod) }
22
+ it { is_expected.to be_able_to(:display, Spree::ShippingCategory) }
23
+ it { is_expected.to be_able_to(:display, Spree::StockLocation) }
24
+ it { is_expected.to be_able_to(:display, Spree::StockMovement) }
25
+ it { is_expected.to be_able_to(:display, Spree::Tracker) }
26
+ it { is_expected.to be_able_to(:display, Spree::RefundReason) }
27
+ it { is_expected.to be_able_to(:display, Spree::ReimbursementType) }
28
+ it { is_expected.to be_able_to(:display, Spree::ReturnReason) }
29
+ it { is_expected.to be_able_to(:admin, :general_settings) }
30
+ it { is_expected.to be_able_to(:admin, Spree::TaxCategory) }
31
+ it { is_expected.to be_able_to(:admin, Spree::TaxRate) }
32
+ it { is_expected.to be_able_to(:admin, Spree::Zone) }
33
+ it { is_expected.to be_able_to(:admin, Spree::Country) }
34
+ it { is_expected.to be_able_to(:admin, Spree::State) }
35
+ it { is_expected.to be_able_to(:admin, Spree::PaymentMethod) }
36
+ it { is_expected.to be_able_to(:admin, Spree::Taxonomy) }
37
+ it { is_expected.to be_able_to(:admin, Spree::ShippingMethod) }
38
+ it { is_expected.to be_able_to(:admin, Spree::ShippingCategory) }
39
+ it { is_expected.to be_able_to(:admin, Spree::StockLocation) }
40
+ it { is_expected.to be_able_to(:admin, Spree::StockMovement) }
41
+ it { is_expected.to be_able_to(:admin, Spree::Tracker) }
42
+ it { is_expected.to be_able_to(:admin, Spree::RefundReason) }
43
+ it { is_expected.to be_able_to(:admin, Spree::ReimbursementType) }
44
+ it { is_expected.to be_able_to(:admin, Spree::ReturnReason) }
45
+ end
46
+
47
+ context "when not activated" do
48
+ it { is_expected.not_to be_able_to(:edit, :general_settings) }
49
+ it { is_expected.not_to be_able_to(:display, Spree::TaxCategory) }
50
+ it { is_expected.not_to be_able_to(:display, Spree::TaxRate) }
51
+ it { is_expected.not_to be_able_to(:display, Spree::Zone) }
52
+ it { is_expected.not_to be_able_to(:display, Spree::Country) }
53
+ it { is_expected.not_to be_able_to(:display, Spree::State) }
54
+ it { is_expected.not_to be_able_to(:display, Spree::PaymentMethod) }
55
+ it { is_expected.not_to be_able_to(:display, Spree::Taxonomy) }
56
+ it { is_expected.not_to be_able_to(:display, Spree::ShippingMethod) }
57
+ it { is_expected.not_to be_able_to(:display, Spree::ShippingCategory) }
58
+ it { is_expected.not_to be_able_to(:display, Spree::StockLocation) }
59
+ it { is_expected.not_to be_able_to(:display, Spree::StockMovement) }
60
+ it { is_expected.not_to be_able_to(:display, Spree::Tracker) }
61
+ it { is_expected.not_to be_able_to(:display, Spree::RefundReason) }
62
+ it { is_expected.not_to be_able_to(:display, Spree::ReimbursementType) }
63
+ it { is_expected.not_to be_able_to(:display, Spree::ReturnReason) }
64
+ it { is_expected.not_to be_able_to(:admin, :general_settings) }
65
+ it { is_expected.not_to be_able_to(:admin, Spree::TaxCategory) }
66
+ it { is_expected.not_to be_able_to(:admin, Spree::TaxRate) }
67
+ it { is_expected.not_to be_able_to(:admin, Spree::Zone) }
68
+ it { is_expected.not_to be_able_to(:admin, Spree::Country) }
69
+ it { is_expected.not_to be_able_to(:admin, Spree::State) }
70
+ it { is_expected.not_to be_able_to(:admin, Spree::PaymentMethod) }
71
+ it { is_expected.not_to be_able_to(:admin, Spree::Taxonomy) }
72
+ it { is_expected.not_to be_able_to(:admin, Spree::ShippingMethod) }
73
+ it { is_expected.not_to be_able_to(:admin, Spree::ShippingCategory) }
74
+ it { is_expected.not_to be_able_to(:admin, Spree::StockLocation) }
75
+ it { is_expected.not_to be_able_to(:admin, Spree::StockMovement) }
76
+ it { is_expected.not_to be_able_to(:admin, Spree::Tracker) }
77
+ it { is_expected.not_to be_able_to(:admin, Spree::RefundReason) }
78
+ it { is_expected.not_to be_able_to(:admin, Spree::ReimbursementType) }
79
+ it { is_expected.not_to be_able_to(:admin, Spree::ReturnReason) }
80
+ end
81
+ end
82
+
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::ConfigurationManagement do
4
+ let(:ability) { DummyAbility.new }
5
+
6
+ subject { ability }
7
+
8
+ context "when activated" do
9
+ before do
10
+ described_class.new(ability).activate!
11
+ end
12
+
13
+ it { is_expected.to be_able_to(:manage, :general_settings) }
14
+ it { is_expected.to be_able_to(:manage, Spree::TaxCategory) }
15
+ it { is_expected.to be_able_to(:manage, Spree::TaxRate) }
16
+ it { is_expected.to be_able_to(:manage, Spree::Zone) }
17
+ it { is_expected.to be_able_to(:manage, Spree::Country) }
18
+ it { is_expected.to be_able_to(:manage, Spree::State) }
19
+ it { is_expected.to be_able_to(:manage, Spree::PaymentMethod) }
20
+ it { is_expected.to be_able_to(:manage, Spree::Taxonomy) }
21
+ it { is_expected.to be_able_to(:manage, Spree::ShippingMethod) }
22
+ it { is_expected.to be_able_to(:manage, Spree::ShippingCategory) }
23
+ it { is_expected.to be_able_to(:manage, Spree::StockLocation) }
24
+ it { is_expected.to be_able_to(:manage, Spree::StockMovement) }
25
+ it { is_expected.to be_able_to(:manage, Spree::Tracker) }
26
+ it { is_expected.to be_able_to(:manage, Spree::RefundReason) }
27
+ it { is_expected.to be_able_to(:manage, Spree::ReimbursementType) }
28
+ it { is_expected.to be_able_to(:manage, Spree::ReturnReason) }
29
+ end
30
+
31
+ context "when not activated" do
32
+ it { is_expected.not_to be_able_to(:manage, :general_settings) }
33
+ it { is_expected.not_to be_able_to(:manage, Spree::TaxCategory) }
34
+ it { is_expected.not_to be_able_to(:manage, Spree::TaxRate) }
35
+ it { is_expected.not_to be_able_to(:manage, Spree::Zone) }
36
+ it { is_expected.not_to be_able_to(:manage, Spree::Country) }
37
+ it { is_expected.not_to be_able_to(:manage, Spree::State) }
38
+ it { is_expected.not_to be_able_to(:manage, Spree::PaymentMethod) }
39
+ it { is_expected.not_to be_able_to(:manage, Spree::Taxonomy) }
40
+ it { is_expected.not_to be_able_to(:manage, Spree::ShippingMethod) }
41
+ it { is_expected.not_to be_able_to(:manage, Spree::ShippingCategory) }
42
+ it { is_expected.not_to be_able_to(:manage, Spree::StockLocation) }
43
+ it { is_expected.not_to be_able_to(:manage, Spree::StockMovement) }
44
+ it { is_expected.not_to be_able_to(:manage, Spree::Tracker) }
45
+ it { is_expected.not_to be_able_to(:manage, Spree::RefundReason) }
46
+ it { is_expected.not_to be_able_to(:manage, Spree::ReimbursementType) }
47
+ it { is_expected.not_to be_able_to(:manage, Spree::ReturnReason) }
48
+ end
49
+ end
50
+
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::DashboardDisplay do
4
+ let(:ability) { DummyAbility.new }
5
+
6
+ subject { ability }
7
+
8
+ context "when activated" do
9
+ before do
10
+ described_class.new(ability).activate!
11
+ end
12
+
13
+ it { is_expected.to be_able_to(:admin, :dashboards) }
14
+ it { is_expected.to be_able_to(:home, :dashboards) }
15
+ end
16
+
17
+ context "when not activated" do
18
+ it { is_expected.not_to be_able_to(:admin, :dashboards) }
19
+ it { is_expected.not_to be_able_to(:home, :dashboards) }
20
+ end
21
+ end
22
+
@@ -0,0 +1,55 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::OrderDisplay do
4
+ let(:ability) { DummyAbility.new }
5
+
6
+ subject { ability }
7
+
8
+ context "when activated" do
9
+ before do
10
+ described_class.new(ability).activate!
11
+ end
12
+
13
+ it { is_expected.to be_able_to(:display, Spree::Order) }
14
+ it { is_expected.to be_able_to(:display, Spree::Payment) }
15
+ it { is_expected.to be_able_to(:display, Spree::Shipment) }
16
+ it { is_expected.to be_able_to(:display, Spree::Adjustment) }
17
+ it { is_expected.to be_able_to(:display, Spree::LineItem) }
18
+ it { is_expected.to be_able_to(:display, Spree::ReturnAuthorization) }
19
+ it { is_expected.to be_able_to(:display, Spree::CustomerReturn) }
20
+ it { is_expected.to be_able_to(:admin, Spree::Order) }
21
+ it { is_expected.to be_able_to(:admin, Spree::Payment) }
22
+ it { is_expected.to be_able_to(:admin, Spree::Shipment) }
23
+ it { is_expected.to be_able_to(:admin, Spree::Adjustment) }
24
+ it { is_expected.to be_able_to(:admin, Spree::LineItem) }
25
+ it { is_expected.to be_able_to(:admin, Spree::ReturnAuthorization) }
26
+ it { is_expected.to be_able_to(:admin, Spree::CustomerReturn) }
27
+ it { is_expected.to be_able_to(:edit, Spree::Order) }
28
+ it { is_expected.to be_able_to(:cart, Spree::Order) }
29
+ it { is_expected.to be_able_to(:display, Spree::Reimbursement) }
30
+ it { is_expected.to be_able_to(:display, Spree::ReturnItem) }
31
+ it { is_expected.to be_able_to(:display, Spree::Refund) }
32
+ end
33
+
34
+ context "when not activated" do
35
+ it { is_expected.not_to be_able_to(:display, Spree::Order) }
36
+ it { is_expected.not_to be_able_to(:display, Spree::Payment) }
37
+ it { is_expected.not_to be_able_to(:display, Spree::Shipment) }
38
+ it { is_expected.not_to be_able_to(:display, Spree::Adjustment) }
39
+ it { is_expected.not_to be_able_to(:display, Spree::LineItem) }
40
+ it { is_expected.not_to be_able_to(:display, Spree::ReturnAuthorization) }
41
+ it { is_expected.not_to be_able_to(:display, Spree::CustomerReturn) }
42
+ it { is_expected.not_to be_able_to(:admin, Spree::Order) }
43
+ it { is_expected.not_to be_able_to(:admin, Spree::Payment) }
44
+ it { is_expected.not_to be_able_to(:admin, Spree::Shipment) }
45
+ it { is_expected.not_to be_able_to(:admin, Spree::Adjustment) }
46
+ it { is_expected.not_to be_able_to(:admin, Spree::LineItem) }
47
+ it { is_expected.not_to be_able_to(:admin, Spree::ReturnAuthorization) }
48
+ it { is_expected.not_to be_able_to(:admin, Spree::CustomerReturn) }
49
+ it { is_expected.not_to be_able_to(:cart, Spree::Order) }
50
+ it { is_expected.not_to be_able_to(:display, Spree::Reimbursement) }
51
+ it { is_expected.not_to be_able_to(:display, Spree::ReturnItem) }
52
+ it { is_expected.not_to be_able_to(:display, Spree::Refund) }
53
+ end
54
+ end
55
+
@@ -0,0 +1,42 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::OrderManagement do
4
+ let(:ability) { DummyAbility.new }
5
+
6
+ subject { ability }
7
+
8
+ context "when activated" do
9
+ before do
10
+ described_class.new(ability).activate!
11
+ end
12
+
13
+ it { is_expected.to be_able_to(:manage, Spree::Order) }
14
+ it { is_expected.to be_able_to(:manage, Spree::Payment) }
15
+ it { is_expected.to be_able_to(:manage, Spree::Shipment) }
16
+ it { is_expected.to be_able_to(:manage, Spree::Adjustment) }
17
+ it { is_expected.to be_able_to(:manage, Spree::LineItem) }
18
+ it { is_expected.to be_able_to(:manage, Spree::ReturnAuthorization) }
19
+ it { is_expected.to be_able_to(:manage, Spree::CustomerReturn) }
20
+ it { is_expected.to be_able_to(:display, Spree::ReimbursementType) }
21
+ it { is_expected.to be_able_to(:manage, Spree::OrderCancellations) }
22
+ it { is_expected.to be_able_to(:manage, Spree::Reimbursement) }
23
+ it { is_expected.to be_able_to(:manage, Spree::ReturnItem) }
24
+ it { is_expected.to be_able_to(:manage, Spree::Refund) }
25
+ end
26
+
27
+ context "when not activated" do
28
+ it { is_expected.not_to be_able_to(:manage, Spree::Order) }
29
+ it { is_expected.not_to be_able_to(:manage, Spree::Payment) }
30
+ it { is_expected.not_to be_able_to(:manage, Spree::Shipment) }
31
+ it { is_expected.not_to be_able_to(:manage, Spree::Adjustment) }
32
+ it { is_expected.not_to be_able_to(:manage, Spree::LineItem) }
33
+ it { is_expected.not_to be_able_to(:manage, Spree::ReturnAuthorization) }
34
+ it { is_expected.not_to be_able_to(:manage, Spree::CustomerReturn) }
35
+ it { is_expected.not_to be_able_to(:display, Spree::ReimbursementType) }
36
+ it { is_expected.not_to be_able_to(:manage, Spree::OrderCancellations) }
37
+ it { is_expected.not_to be_able_to(:manage, Spree::Reimbursement) }
38
+ it { is_expected.not_to be_able_to(:manage, Spree::ReturnItem) }
39
+ it { is_expected.not_to be_able_to(:manage, Spree::Refund) }
40
+ end
41
+ end
42
+
@@ -0,0 +1,60 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::ProductDisplay do
4
+ let(:ability) { DummyAbility.new }
5
+
6
+ subject { ability }
7
+
8
+ context "when activated" do
9
+ before do
10
+ described_class.new(ability).activate!
11
+ end
12
+
13
+ it { is_expected.to be_able_to(:display, Spree::Product) }
14
+ it { is_expected.to be_able_to(:display, Spree::Image) }
15
+ it { is_expected.to be_able_to(:display, Spree::Variant) }
16
+ it { is_expected.to be_able_to(:display, Spree::OptionValue) }
17
+ it { is_expected.to be_able_to(:display, Spree::ProductProperty) }
18
+ it { is_expected.to be_able_to(:display, Spree::OptionType) }
19
+ it { is_expected.to be_able_to(:display, Spree::Property) }
20
+ it { is_expected.to be_able_to(:display, Spree::Prototype) }
21
+ it { is_expected.to be_able_to(:display, Spree::Taxonomy) }
22
+ it { is_expected.to be_able_to(:display, Spree::Taxon) }
23
+ it { is_expected.to be_able_to(:admin, Spree::Product) }
24
+ it { is_expected.to be_able_to(:admin, Spree::Image) }
25
+ it { is_expected.to be_able_to(:admin, Spree::Variant) }
26
+ it { is_expected.to be_able_to(:admin, Spree::OptionValue) }
27
+ it { is_expected.to be_able_to(:admin, Spree::ProductProperty) }
28
+ it { is_expected.to be_able_to(:admin, Spree::OptionType) }
29
+ it { is_expected.to be_able_to(:admin, Spree::Property) }
30
+ it { is_expected.to be_able_to(:admin, Spree::Prototype) }
31
+ it { is_expected.to be_able_to(:admin, Spree::Taxonomy) }
32
+ it { is_expected.to be_able_to(:admin, Spree::Taxon) }
33
+ it { is_expected.to be_able_to(:edit, Spree::Product) }
34
+ end
35
+
36
+ context "when not activated" do
37
+ it { is_expected.not_to be_able_to(:display, Spree::Product) }
38
+ it { is_expected.not_to be_able_to(:display, Spree::Image) }
39
+ it { is_expected.not_to be_able_to(:display, Spree::Variant) }
40
+ it { is_expected.not_to be_able_to(:display, Spree::OptionValue) }
41
+ it { is_expected.not_to be_able_to(:display, Spree::ProductProperty) }
42
+ it { is_expected.not_to be_able_to(:display, Spree::OptionType) }
43
+ it { is_expected.not_to be_able_to(:display, Spree::Property) }
44
+ it { is_expected.not_to be_able_to(:display, Spree::Prototype) }
45
+ it { is_expected.not_to be_able_to(:display, Spree::Taxonomy) }
46
+ it { is_expected.not_to be_able_to(:display, Spree::Taxon) }
47
+ it { is_expected.not_to be_able_to(:admin, Spree::Product) }
48
+ it { is_expected.not_to be_able_to(:admin, Spree::Image) }
49
+ it { is_expected.not_to be_able_to(:admin, Spree::Variant) }
50
+ it { is_expected.not_to be_able_to(:admin, Spree::OptionValue) }
51
+ it { is_expected.not_to be_able_to(:admin, Spree::ProductProperty) }
52
+ it { is_expected.not_to be_able_to(:admin, Spree::OptionType) }
53
+ it { is_expected.not_to be_able_to(:admin, Spree::Property) }
54
+ it { is_expected.not_to be_able_to(:admin, Spree::Prototype) }
55
+ it { is_expected.not_to be_able_to(:admin, Spree::Taxonomy) }
56
+ it { is_expected.not_to be_able_to(:admin, Spree::Taxon) }
57
+ it { is_expected.not_to be_able_to(:edit, Spree::Product) }
58
+ end
59
+ end
60
+
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::ProductManagement do
4
+ let(:ability) { DummyAbility.new }
5
+
6
+ subject { ability }
7
+
8
+ context "when activated" do
9
+ before do
10
+ described_class.new(ability).activate!
11
+ end
12
+
13
+ it { is_expected.to be_able_to(:manage, Spree::Product) }
14
+ it { is_expected.to be_able_to(:manage, Spree::Image) }
15
+ it { is_expected.to be_able_to(:manage, Spree::Variant) }
16
+ it { is_expected.to be_able_to(:manage, Spree::OptionValue) }
17
+ it { is_expected.to be_able_to(:manage, Spree::ProductProperty) }
18
+ it { is_expected.to be_able_to(:manage, Spree::OptionType) }
19
+ it { is_expected.to be_able_to(:manage, Spree::Property) }
20
+ it { is_expected.to be_able_to(:manage, Spree::Prototype) }
21
+ it { is_expected.to be_able_to(:manage, Spree::Taxonomy) }
22
+ it { is_expected.to be_able_to(:manage, Spree::Taxon) }
23
+ it { is_expected.to be_able_to(:manage, Spree::Classification) }
24
+ end
25
+
26
+ context "when not activated" do
27
+ it { is_expected.not_to be_able_to(:manage, Spree::Product) }
28
+ it { is_expected.not_to be_able_to(:manage, Spree::Image) }
29
+ it { is_expected.not_to be_able_to(:manage, Spree::Variant) }
30
+ it { is_expected.not_to be_able_to(:manage, Spree::OptionValue) }
31
+ it { is_expected.not_to be_able_to(:manage, Spree::ProductProperty) }
32
+ it { is_expected.not_to be_able_to(:manage, Spree::OptionType) }
33
+ it { is_expected.not_to be_able_to(:manage, Spree::Property) }
34
+ it { is_expected.not_to be_able_to(:manage, Spree::Prototype) }
35
+ it { is_expected.not_to be_able_to(:manage, Spree::Taxonomy) }
36
+ it { is_expected.not_to be_able_to(:manage, Spree::Taxon) }
37
+ it { is_expected.not_to be_able_to(:manage, Spree::Classification) }
38
+ end
39
+ end
40
+
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::PromotionDisplay do
4
+ let(:ability) { DummyAbility.new }
5
+
6
+ subject { ability }
7
+
8
+ context "when activated" do
9
+ before do
10
+ described_class.new(ability).activate!
11
+ end
12
+
13
+ it { is_expected.to be_able_to(:display, Spree::Promotion) }
14
+ it { is_expected.to be_able_to(:display, Spree::PromotionRule) }
15
+ it { is_expected.to be_able_to(:display, Spree::PromotionAction) }
16
+ it { is_expected.to be_able_to(:display, Spree::PromotionCategory) }
17
+ it { is_expected.to be_able_to(:display, Spree::PromotionCode) }
18
+ it { is_expected.to be_able_to(:admin, Spree::Promotion) }
19
+ it { is_expected.to be_able_to(:admin, Spree::PromotionRule) }
20
+ it { is_expected.to be_able_to(:admin, Spree::PromotionAction) }
21
+ it { is_expected.to be_able_to(:admin, Spree::PromotionCategory) }
22
+ it { is_expected.to be_able_to(:admin, Spree::PromotionCode) }
23
+ it { is_expected.to be_able_to(:edit, Spree::Promotion) }
24
+ end
25
+
26
+ context "when not activated" do
27
+ it { is_expected.not_to be_able_to(:display, Spree::Promotion) }
28
+ it { is_expected.not_to be_able_to(:display, Spree::PromotionRule) }
29
+ it { is_expected.not_to be_able_to(:display, Spree::PromotionAction) }
30
+ it { is_expected.not_to be_able_to(:display, Spree::PromotionCategory) }
31
+ it { is_expected.not_to be_able_to(:display, Spree::PromotionCode) }
32
+ it { is_expected.not_to be_able_to(:admin, Spree::Promotion) }
33
+ it { is_expected.not_to be_able_to(:admin, Spree::PromotionRule) }
34
+ it { is_expected.not_to be_able_to(:admin, Spree::PromotionAction) }
35
+ it { is_expected.not_to be_able_to(:admin, Spree::PromotionCategory) }
36
+ it { is_expected.not_to be_able_to(:admin, Spree::PromotionCode) }
37
+ it { is_expected.not_to be_able_to(:edit, Spree::Promotion) }
38
+ end
39
+ end
40
+
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::PromotionManagement do
4
+ let(:ability) { DummyAbility.new }
5
+
6
+ subject { ability }
7
+
8
+ context "when activated" do
9
+ before do
10
+ described_class.new(ability).activate!
11
+ end
12
+
13
+ it { is_expected.to be_able_to(:manage, Spree::Promotion) }
14
+ it { is_expected.to be_able_to(:manage, Spree::PromotionRule) }
15
+ it { is_expected.to be_able_to(:manage, Spree::PromotionAction) }
16
+ it { is_expected.to be_able_to(:manage, Spree::PromotionCategory) }
17
+ end
18
+
19
+ context "when not activated" do
20
+ it { is_expected.not_to be_able_to(:manage, Spree::Promotion) }
21
+ it { is_expected.not_to be_able_to(:manage, Spree::PromotionRule) }
22
+ it { is_expected.not_to be_able_to(:manage, Spree::PromotionAction) }
23
+ it { is_expected.not_to be_able_to(:manage, Spree::PromotionCategory) }
24
+ end
25
+ end
26
+
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spree::PermissionSets::ReportDisplay do
4
+ let(:ability) { DummyAbility.new }
5
+
6
+ subject { ability }
7
+
8
+ context "when activated" do
9
+ before do
10
+ described_class.new(ability).activate!
11
+ end
12
+
13
+ it { is_expected.to be_able_to(:display, :reports) }
14
+ it { is_expected.to be_able_to(:admin, :reports) }
15
+ it { is_expected.to be_able_to(:sales_total, :reports) }
16
+ end
17
+
18
+ context "when not activated" do
19
+ it { is_expected.not_to be_able_to(:display, :reports) }
20
+ it { is_expected.not_to be_able_to(:admin, :reports) }
21
+ it { is_expected.not_to be_able_to(:sales_total, :reports) }
22
+ end
23
+ end
24
+