solidus_core 1.0.2 → 1.0.3

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 (216) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1 -0
  3. data/Gemfile +3 -0
  4. data/Rakefile +16 -0
  5. data/script/rails +9 -0
  6. data/solidus_core.gemspec +48 -0
  7. data/spec/fixtures/thinking-cat.jpg +0 -0
  8. data/spec/helpers/base_helper_spec.rb +173 -0
  9. data/spec/helpers/order_helper_spec.rb +12 -0
  10. data/spec/helpers/products_helper_spec.rb +220 -0
  11. data/spec/helpers/taxons_helper_spec.rb +17 -0
  12. data/spec/lib/calculated_adjustments_spec.rb +7 -0
  13. data/spec/lib/i18n_spec.rb +123 -0
  14. data/spec/lib/search/base_spec.rb +86 -0
  15. data/spec/lib/search/variant_spec.rb +92 -0
  16. data/spec/lib/spree/core/controller_helpers/auth_spec.rb +66 -0
  17. data/spec/lib/spree/core/controller_helpers/order_spec.rb +92 -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 +22 -0
  23. data/spec/lib/spree/core/importer/order_spec.rb +431 -0
  24. data/spec/lib/spree/core/role_configuration_spec.rb +138 -0
  25. data/spec/lib/spree/core/validators/email_spec.rb +48 -0
  26. data/spec/lib/spree/localized_number_spec.rb +38 -0
  27. data/spec/lib/spree/migrations_spec.rb +36 -0
  28. data/spec/lib/spree/money_spec.rb +127 -0
  29. data/spec/lib/tasks/exchanges_spec.rb +231 -0
  30. data/spec/lib/tasks/migrations/copy_shipped_shipments_to_cartons_spec.rb +115 -0
  31. data/spec/lib/tasks/order_capturing_spec.rb +56 -0
  32. data/spec/mailers/carton_mailer_spec.rb +43 -0
  33. data/spec/mailers/order_mailer_spec.rb +122 -0
  34. data/spec/mailers/reimbursement_mailer_spec.rb +40 -0
  35. data/spec/mailers/test_mailer_spec.rb +15 -0
  36. data/spec/models/spree/ability_spec.rb +276 -0
  37. data/spec/models/spree/address_spec.rb +250 -0
  38. data/spec/models/spree/adjustment_reason_spec.rb +13 -0
  39. data/spec/models/spree/adjustment_spec.rb +177 -0
  40. data/spec/models/spree/app_configuration_spec.rb +20 -0
  41. data/spec/models/spree/asset_spec.rb +24 -0
  42. data/spec/models/spree/calculator/default_tax_spec.rb +127 -0
  43. data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +25 -0
  44. data/spec/models/spree/calculator/flat_rate_spec.rb +47 -0
  45. data/spec/models/spree/calculator/flexi_rate_spec.rb +41 -0
  46. data/spec/models/spree/calculator/percent_on_line_item_spec.rb +15 -0
  47. data/spec/models/spree/calculator/price_sack_spec.rb +30 -0
  48. data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +51 -0
  49. data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +23 -0
  50. data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +13 -0
  51. data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +52 -0
  52. data/spec/models/spree/calculator/shipping/per_item_spec.rb +20 -0
  53. data/spec/models/spree/calculator/shipping/price_sack_spec.rb +30 -0
  54. data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +36 -0
  55. data/spec/models/spree/calculator/tiered_percent_spec.rb +47 -0
  56. data/spec/models/spree/calculator_spec.rb +36 -0
  57. data/spec/models/spree/carton_spec.rb +133 -0
  58. data/spec/models/spree/classification_spec.rb +15 -0
  59. data/spec/models/spree/concerns/display_money_spec.rb +43 -0
  60. data/spec/models/spree/concerns/user_methods_spec.rb +41 -0
  61. data/spec/models/spree/credit_card_spec.rb +334 -0
  62. data/spec/models/spree/customer_return_spec.rb +276 -0
  63. data/spec/models/spree/exchange_spec.rb +79 -0
  64. data/spec/models/spree/gateway/bogus_simple.rb +20 -0
  65. data/spec/models/spree/gateway/bogus_spec.rb +13 -0
  66. data/spec/models/spree/gateway_spec.rb +82 -0
  67. data/spec/models/spree/inventory_unit_spec.rb +307 -0
  68. data/spec/models/spree/item_adjustments_spec.rb +256 -0
  69. data/spec/models/spree/line_item_spec.rb +191 -0
  70. data/spec/models/spree/option_type_spec.rb +14 -0
  71. data/spec/models/spree/option_value_spec.rb +22 -0
  72. data/spec/models/spree/order/address_spec.rb +50 -0
  73. data/spec/models/spree/order/adjustments_spec.rb +39 -0
  74. data/spec/models/spree/order/callbacks_spec.rb +42 -0
  75. data/spec/models/spree/order/checkout_spec.rb +902 -0
  76. data/spec/models/spree/order/currency_updater_spec.rb +32 -0
  77. data/spec/models/spree/order/finalizing_spec.rb +111 -0
  78. data/spec/models/spree/order/payment_spec.rb +210 -0
  79. data/spec/models/spree/order/risk_assessment_spec.rb +68 -0
  80. data/spec/models/spree/order/state_machine_spec.rb +221 -0
  81. data/spec/models/spree/order/tax_spec.rb +84 -0
  82. data/spec/models/spree/order/totals_spec.rb +24 -0
  83. data/spec/models/spree/order/updating_spec.rb +18 -0
  84. data/spec/models/spree/order/validations_spec.rb +15 -0
  85. data/spec/models/spree/order_cancellations_spec.rb +120 -0
  86. data/spec/models/spree/order_capturing_spec.rb +116 -0
  87. data/spec/models/spree/order_contents_spec.rb +265 -0
  88. data/spec/models/spree/order_inventory_spec.rb +228 -0
  89. data/spec/models/spree/order_mutex_spec.rb +85 -0
  90. data/spec/models/spree/order_promotion_spec.rb +31 -0
  91. data/spec/models/spree/order_shipping_spec.rb +247 -0
  92. data/spec/models/spree/order_spec.rb +1412 -0
  93. data/spec/models/spree/order_stock_location_spec.rb +18 -0
  94. data/spec/models/spree/order_updater_spec.rb +299 -0
  95. data/spec/models/spree/payment_method/store_credit_spec.rb +294 -0
  96. data/spec/models/spree/payment_method_spec.rb +96 -0
  97. data/spec/models/spree/payment_spec.rb +1044 -0
  98. data/spec/models/spree/permission_sets/base_spec.rb +12 -0
  99. data/spec/models/spree/permission_sets/configuration_display.rb +82 -0
  100. data/spec/models/spree/permission_sets/configuration_management_spec.rb +50 -0
  101. data/spec/models/spree/permission_sets/dashboard_display_spec.rb +22 -0
  102. data/spec/models/spree/permission_sets/order_display_spec.rb +49 -0
  103. data/spec/models/spree/permission_sets/order_management_spec.rb +36 -0
  104. data/spec/models/spree/permission_sets/product_display_spec.rb +60 -0
  105. data/spec/models/spree/permission_sets/product_management_spec.rb +40 -0
  106. data/spec/models/spree/permission_sets/promotion_display_spec.rb +34 -0
  107. data/spec/models/spree/permission_sets/promotion_management_spec.rb +26 -0
  108. data/spec/models/spree/permission_sets/report_display_spec.rb +24 -0
  109. data/spec/models/spree/permission_sets/restricted_transfer_management_spec.rb +132 -0
  110. data/spec/models/spree/permission_sets/stock_display_spec.rb +26 -0
  111. data/spec/models/spree/permission_sets/stock_management_spec.rb +24 -0
  112. data/spec/models/spree/permission_sets/user_display_spec.rb +36 -0
  113. data/spec/models/spree/permission_sets/user_management_spec.rb +28 -0
  114. data/spec/models/spree/preference_spec.rb +80 -0
  115. data/spec/models/spree/preferences/configuration_spec.rb +30 -0
  116. data/spec/models/spree/preferences/preferable_spec.rb +294 -0
  117. data/spec/models/spree/preferences/scoped_store_spec.rb +58 -0
  118. data/spec/models/spree/preferences/static_model_preferences_spec.rb +78 -0
  119. data/spec/models/spree/preferences/statically_configurable_spec.rb +60 -0
  120. data/spec/models/spree/preferences/store_spec.rb +39 -0
  121. data/spec/models/spree/price_spec.rb +42 -0
  122. data/spec/models/spree/product/scopes_spec.rb +148 -0
  123. data/spec/models/spree/product_duplicator_spec.rb +103 -0
  124. data/spec/models/spree/product_filter_spec.rb +26 -0
  125. data/spec/models/spree/product_property_spec.rb +20 -0
  126. data/spec/models/spree/product_spec.rb +437 -0
  127. data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +96 -0
  128. data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +165 -0
  129. data/spec/models/spree/promotion/actions/create_quantity_adjustments_spec.rb +115 -0
  130. data/spec/models/spree/promotion/actions/free_shipping_spec.rb +40 -0
  131. data/spec/models/spree/promotion/rules/first_order_spec.rb +75 -0
  132. data/spec/models/spree/promotion/rules/item_total_spec.rb +67 -0
  133. data/spec/models/spree/promotion/rules/nth_order_spec.rb +70 -0
  134. data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +42 -0
  135. data/spec/models/spree/promotion/rules/option_value_spec.rb +94 -0
  136. data/spec/models/spree/promotion/rules/product_spec.rb +143 -0
  137. data/spec/models/spree/promotion/rules/taxon_spec.rb +102 -0
  138. data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +27 -0
  139. data/spec/models/spree/promotion/rules/user_spec.rb +37 -0
  140. data/spec/models/spree/promotion_builder_spec.rb +118 -0
  141. data/spec/models/spree/promotion_category_spec.rb +17 -0
  142. data/spec/models/spree/promotion_code/code_builder_spec.rb +79 -0
  143. data/spec/models/spree/promotion_code_spec.rb +187 -0
  144. data/spec/models/spree/promotion_handler/cart_spec.rb +114 -0
  145. data/spec/models/spree/promotion_handler/coupon_spec.rb +335 -0
  146. data/spec/models/spree/promotion_handler/free_shipping_spec.rb +47 -0
  147. data/spec/models/spree/promotion_handler/page_spec.rb +44 -0
  148. data/spec/models/spree/promotion_rule_spec.rb +28 -0
  149. data/spec/models/spree/promotion_spec.rb +767 -0
  150. data/spec/models/spree/refund_spec.rb +204 -0
  151. data/spec/models/spree/reimbursement/credit_spec.rb +36 -0
  152. data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +140 -0
  153. data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +83 -0
  154. data/spec/models/spree/reimbursement_performer_spec.rb +30 -0
  155. data/spec/models/spree/reimbursement_spec.rb +231 -0
  156. data/spec/models/spree/reimbursement_tax_calculator_spec.rb +51 -0
  157. data/spec/models/spree/reimbursement_type/credit_spec.rb +53 -0
  158. data/spec/models/spree/reimbursement_type/exchange_spec.rb +46 -0
  159. data/spec/models/spree/reimbursement_type/original_payment_spec.rb +107 -0
  160. data/spec/models/spree/reimbursement_type/store_credit_spec.rb +97 -0
  161. data/spec/models/spree/return_authorization_spec.rb +290 -0
  162. data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +77 -0
  163. data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +58 -0
  164. data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +85 -0
  165. data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +32 -0
  166. data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +29 -0
  167. data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +35 -0
  168. data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +65 -0
  169. data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +43 -0
  170. data/spec/models/spree/return_item_spec.rb +775 -0
  171. data/spec/models/spree/returns_calculator_spec.rb +14 -0
  172. data/spec/models/spree/shipment_spec.rb +709 -0
  173. data/spec/models/spree/shipping_calculator_spec.rb +45 -0
  174. data/spec/models/spree/shipping_method_spec.rb +88 -0
  175. data/spec/models/spree/shipping_rate_spec.rb +142 -0
  176. data/spec/models/spree/state_spec.rb +14 -0
  177. data/spec/models/spree/stock/availability_validator_spec.rb +83 -0
  178. data/spec/models/spree/stock/coordinator_spec.rb +116 -0
  179. data/spec/models/spree/stock/differentiator_spec.rb +39 -0
  180. data/spec/models/spree/stock/estimator_spec.rb +146 -0
  181. data/spec/models/spree/stock/inventory_unit_builder_spec.rb +38 -0
  182. data/spec/models/spree/stock/package_spec.rb +163 -0
  183. data/spec/models/spree/stock/packer_spec.rb +91 -0
  184. data/spec/models/spree/stock/prioritizer_spec.rb +125 -0
  185. data/spec/models/spree/stock/quantifier_spec.rb +115 -0
  186. data/spec/models/spree/stock/splitter/backordered_spec.rb +29 -0
  187. data/spec/models/spree/stock/splitter/base_spec.rb +21 -0
  188. data/spec/models/spree/stock/splitter/shipping_category_spec.rb +50 -0
  189. data/spec/models/spree/stock/splitter/weight_spec.rb +29 -0
  190. data/spec/models/spree/stock_item_spec.rb +426 -0
  191. data/spec/models/spree/stock_location_spec.rb +279 -0
  192. data/spec/models/spree/stock_movement_spec.rb +56 -0
  193. data/spec/models/spree/stock_transfer_spec.rb +290 -0
  194. data/spec/models/spree/store_credit_category_spec.rb +17 -0
  195. data/spec/models/spree/store_credit_event_spec.rb +314 -0
  196. data/spec/models/spree/store_credit_spec.rb +876 -0
  197. data/spec/models/spree/store_spec.rb +55 -0
  198. data/spec/models/spree/tax_category_spec.rb +27 -0
  199. data/spec/models/spree/tax_rate_spec.rb +378 -0
  200. data/spec/models/spree/taxon_spec.rb +74 -0
  201. data/spec/models/spree/taxonomy_spec.rb +18 -0
  202. data/spec/models/spree/tracker_spec.rb +21 -0
  203. data/spec/models/spree/transfer_item_spec.rb +264 -0
  204. data/spec/models/spree/unit_cancel_spec.rb +148 -0
  205. data/spec/models/spree/user_spec.rb +223 -0
  206. data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +23 -0
  207. data/spec/models/spree/variant/scopes_spec.rb +55 -0
  208. data/spec/models/spree/variant_spec.rb +546 -0
  209. data/spec/models/spree/zone_spec.rb +305 -0
  210. data/spec/spec_helper.rb +78 -0
  211. data/spec/support/big_decimal.rb +5 -0
  212. data/spec/support/concerns/default_price.rb +34 -0
  213. data/spec/support/dummy_ability.rb +4 -0
  214. data/spec/support/test_gateway.rb +2 -0
  215. metadata +229 -3
  216. data/lib/spree/testing_support/rspec-activemodel-mocks_patch.rb +0 -8
@@ -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,49 @@
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
+ end
30
+
31
+ context "when not activated" do
32
+ it { is_expected.not_to be_able_to(:display, Spree::Order) }
33
+ it { is_expected.not_to be_able_to(:display, Spree::Payment) }
34
+ it { is_expected.not_to be_able_to(:display, Spree::Shipment) }
35
+ it { is_expected.not_to be_able_to(:display, Spree::Adjustment) }
36
+ it { is_expected.not_to be_able_to(:display, Spree::LineItem) }
37
+ it { is_expected.not_to be_able_to(:display, Spree::ReturnAuthorization) }
38
+ it { is_expected.not_to be_able_to(:display, Spree::CustomerReturn) }
39
+ it { is_expected.not_to be_able_to(:admin, Spree::Order) }
40
+ it { is_expected.not_to be_able_to(:admin, Spree::Payment) }
41
+ it { is_expected.not_to be_able_to(:admin, Spree::Shipment) }
42
+ it { is_expected.not_to be_able_to(:admin, Spree::Adjustment) }
43
+ it { is_expected.not_to be_able_to(:admin, Spree::LineItem) }
44
+ it { is_expected.not_to be_able_to(:admin, Spree::ReturnAuthorization) }
45
+ it { is_expected.not_to be_able_to(:admin, Spree::CustomerReturn) }
46
+ it { is_expected.not_to be_able_to(:cart, Spree::Order) }
47
+ end
48
+ end
49
+
@@ -0,0 +1,36 @@
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
+ end
23
+
24
+ context "when not activated" do
25
+ it { is_expected.not_to be_able_to(:manage, Spree::Order) }
26
+ it { is_expected.not_to be_able_to(:manage, Spree::Payment) }
27
+ it { is_expected.not_to be_able_to(:manage, Spree::Shipment) }
28
+ it { is_expected.not_to be_able_to(:manage, Spree::Adjustment) }
29
+ it { is_expected.not_to be_able_to(:manage, Spree::LineItem) }
30
+ it { is_expected.not_to be_able_to(:manage, Spree::ReturnAuthorization) }
31
+ it { is_expected.not_to be_able_to(:manage, Spree::CustomerReturn) }
32
+ it { is_expected.not_to be_able_to(:display, Spree::ReimbursementType) }
33
+ it { is_expected.not_to be_able_to(:manage, Spree::OrderCancellations) }
34
+ end
35
+ end
36
+
@@ -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,34 @@
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(:admin, Spree::Promotion) }
18
+ it { is_expected.to be_able_to(:admin, Spree::PromotionRule) }
19
+ it { is_expected.to be_able_to(:admin, Spree::PromotionAction) }
20
+ it { is_expected.to be_able_to(:admin, Spree::PromotionCategory) }
21
+ end
22
+
23
+ context "when not activated" do
24
+ it { is_expected.not_to be_able_to(:display, Spree::Promotion) }
25
+ it { is_expected.not_to be_able_to(:display, Spree::PromotionRule) }
26
+ it { is_expected.not_to be_able_to(:display, Spree::PromotionAction) }
27
+ it { is_expected.not_to be_able_to(:display, Spree::PromotionCategory) }
28
+ it { is_expected.not_to be_able_to(:admin, Spree::Promotion) }
29
+ it { is_expected.not_to be_able_to(:admin, Spree::PromotionRule) }
30
+ it { is_expected.not_to be_able_to(:admin, Spree::PromotionAction) }
31
+ it { is_expected.not_to be_able_to(:admin, Spree::PromotionCategory) }
32
+ end
33
+ end
34
+
@@ -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
+