solidus_core 1.3.2 → 1.4.0.beta1
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/README.md +15 -0
- data/app/helpers/spree/base_helper.rb +6 -2
- data/app/mailers/spree/base_mailer.rb +1 -1
- data/app/mailers/spree/carton_mailer.rb +1 -1
- data/app/mailers/spree/order_mailer.rb +2 -2
- data/app/mailers/spree/reimbursement_mailer.rb +7 -7
- data/app/mailers/spree/test_mailer.rb +3 -2
- data/app/models/concerns/spree/user_payment_source.rb +1 -1
- data/app/models/spree/address.rb +14 -4
- data/app/models/spree/adjustment.rb +11 -19
- data/app/models/spree/app_configuration.rb +23 -1
- data/app/models/spree/base.rb +9 -0
- data/app/models/spree/country.rb +2 -2
- data/app/models/spree/exchange.rb +1 -1
- data/app/models/spree/gateway.rb +1 -1
- data/app/models/spree/item_adjustments.rb +7 -0
- data/app/models/spree/line_item.rb +1 -13
- data/app/models/spree/order/checkout.rb +19 -16
- data/app/models/spree/order/payments.rb +0 -2
- data/app/models/spree/order.rb +7 -21
- data/app/models/spree/order_contents.rb +60 -4
- data/app/models/spree/order_merger.rb +2 -4
- data/app/models/spree/order_shipping.rb +1 -1
- data/app/models/spree/order_update_attributes.rb +0 -2
- data/app/models/spree/order_updater.rb +14 -11
- data/app/models/spree/payment.rb +2 -3
- data/app/models/spree/payment_create.rb +5 -2
- data/app/models/spree/payment_method/store_credit.rb +6 -5
- data/app/models/spree/product/scopes.rb +2 -1
- data/app/models/spree/product.rb +2 -5
- data/app/models/spree/promotion/actions/create_item_adjustments.rb +5 -3
- data/app/models/spree/promotion/actions/free_shipping.rb +1 -1
- data/app/models/spree/promotion/rules/option_value.rb +2 -3
- data/app/models/spree/promotion/rules/product.rb +9 -3
- data/app/models/spree/promotion/rules/taxon.rb +33 -7
- data/app/models/spree/promotion/rules/user.rb +2 -3
- data/app/models/spree/promotion.rb +16 -6
- data/app/models/spree/promotion_handler/coupon.rb +1 -1
- data/app/models/spree/shipment.rb +12 -16
- data/app/models/spree/stock/estimator.rb +1 -1
- data/app/models/spree/stock/package.rb +0 -1
- data/app/models/spree/stock_item.rb +2 -6
- data/app/models/spree/store.rb +2 -1
- data/app/models/spree/tax_rate.rb +1 -1
- data/app/models/spree/wallet/add_payment_sources_to_wallet.rb +29 -0
- data/app/models/spree/wallet/default_payment_builder.rb +26 -0
- data/app/views/spree/reimbursement_mailer/reimbursement_email.html.erb +46 -0
- data/app/views/spree/reimbursement_mailer/reimbursement_email.text.erb +1 -1
- data/app/views/spree/shared/_base_mailer_footer.html.erb +1 -20
- data/app/views/spree/shared/_base_mailer_header.html.erb +1 -31
- data/config/initializers/spree_user.rb +1 -1
- data/config/locales/en.yml +58 -34
- data/db/migrate/20130414000512_update_name_fields_on_spree_credit_cards.rb +1 -1
- data/db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb +15 -3
- data/db/migrate/20160527070401_rename_shipment_address_field.rb +7 -0
- data/db/migrate/20160616232103_remove_user_id_from_promotion_rules.rb +11 -0
- data/db/migrate/20160718205341_add_payment_id_index_to_spree_refunds.rb +5 -0
- data/db/migrate/20160718205859_add_reimbursement_id_index_to_spree_refunds.rb +5 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +1 -1
- data/lib/generators/spree/dummy/templates/rails/database.yml +3 -1
- data/lib/generators/spree/dummy/templates/rails/test.rb +4 -2
- data/lib/generators/spree/install/install_generator.rb +6 -16
- data/lib/spree/core/controller_helpers/auth.rb +1 -1
- data/lib/spree/core/controller_helpers/common.rb +1 -1
- data/lib/spree/core/controller_helpers/order.rb +2 -2
- data/lib/spree/core/current_store.rb +5 -1
- data/lib/spree/core/delegate_belongs_to.rb +1 -1
- data/lib/spree/core/routes.rb +6 -32
- data/lib/spree/core/search/base.rb +2 -2
- data/lib/spree/core/stock_configuration.rb +6 -0
- data/lib/spree/core/version.rb +2 -2
- data/lib/spree/core.rb +2 -1
- data/lib/spree/i18n.rb +7 -0
- data/lib/spree/mailer_previews/carton_preview.rb +2 -1
- data/lib/spree/mailer_previews/order_preview.rb +8 -3
- data/lib/spree/mailer_previews/reimbursement_preview.rb +11 -0
- data/lib/spree/migrations.rb +13 -7
- data/lib/spree/permitted_attributes.rb +1 -1
- data/lib/spree/testing_support/capybara_ext.rb +6 -1
- data/lib/spree/testing_support/common_rake.rb +3 -7
- data/lib/spree/testing_support/controller_requests.rb +8 -0
- data/lib/spree/testing_support/factories/order_factory.rb +30 -8
- data/lib/spree/testing_support/factories/payment_factory.rb +1 -1
- data/lib/spree/testing_support/factories/product_factory.rb +6 -0
- data/lib/spree/testing_support/factories/reimbursement_factory.rb +1 -0
- data/lib/tasks/migrations/copy_shipped_shipments_to_cartons.rake +3 -1
- data/solidus_core.gemspec +3 -3
- data/spec/helpers/base_helper_spec.rb +18 -2
- data/spec/lib/i18n_spec.rb +4 -0
- data/spec/lib/spree/core/controller_helpers/order_spec.rb +16 -4
- data/spec/lib/spree/core/controller_helpers/payment_parameters_spec.rb +75 -59
- data/spec/lib/spree/core/delegate_belongs_to_spec.rb +1 -1
- data/spec/lib/spree/core/importer/order_spec.rb +4 -2
- data/spec/lib/spree/core/stock_configuration_spec.rb +17 -0
- data/spec/lib/spree/core/testing_support/factories/order_factory_spec.rb +195 -0
- data/spec/lib/spree/core/testing_support/factories/payment_factory_spec.rb +6 -0
- data/spec/lib/spree/core/testing_support/factories/reimbursement_factory_spec.rb +6 -0
- data/spec/lib/spree/migrations_spec.rb +3 -9
- data/spec/lib/tasks/migrations/copy_shipped_shipments_to_cartons_spec.rb +1 -1
- data/spec/mailers/carton_mailer_spec.rb +1 -1
- data/spec/mailers/order_mailer_spec.rb +2 -2
- data/spec/mailers/reimbursement_mailer_spec.rb +1 -1
- data/spec/models/spree/address_spec.rb +22 -0
- data/spec/models/spree/adjustment_spec.rb +0 -10
- data/spec/models/spree/carton_spec.rb +1 -1
- data/spec/models/spree/country_spec.rb +9 -1
- data/spec/models/spree/gateway/bogus_spec.rb +1 -1
- data/spec/models/spree/item_adjustments_spec.rb +33 -0
- data/spec/models/spree/line_item_spec.rb +2 -21
- data/spec/models/spree/order/checkout_spec.rb +32 -45
- data/spec/models/spree/order/payment_spec.rb +1 -16
- data/spec/models/spree/order_cancellations_spec.rb +8 -3
- data/spec/models/spree/order_contents_spec.rb +48 -0
- data/spec/models/spree/order_merger_spec.rb +8 -5
- data/spec/models/spree/order_shipping_spec.rb +3 -4
- data/spec/models/spree/order_spec.rb +23 -59
- data/spec/models/spree/order_update_attributes_spec.rb +1 -5
- data/spec/models/spree/order_updater_spec.rb +39 -11
- data/spec/models/spree/payment_create_spec.rb +61 -0
- data/spec/models/spree/payment_method/store_credit_spec.rb +23 -10
- data/spec/models/spree/payment_spec.rb +17 -4
- data/spec/models/spree/product_spec.rb +1 -1
- data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +8 -13
- data/spec/models/spree/promotion/rules/product_spec.rb +33 -0
- data/spec/models/spree/promotion/rules/taxon_spec.rb +52 -8
- data/spec/models/spree/promotion_spec.rb +18 -12
- data/spec/models/spree/return_authorization_spec.rb +0 -16
- data/spec/models/spree/shipment_spec.rb +57 -36
- data/spec/models/spree/stock/coordinator_spec.rb +0 -5
- data/spec/models/spree/stock/package_spec.rb +0 -1
- data/spec/models/spree/stock_item_spec.rb +35 -145
- data/spec/models/spree/store_spec.rb +24 -10
- data/spec/models/spree/tax_rate_spec.rb +2 -2
- data/spec/models/spree/user_spec.rb +1 -1
- data/spec/models/spree/validations/db_maximum_length_validator_spec.rb +20 -12
- data/spec/support/concerns/working_factories.rb +4 -0
- metadata +30 -10
- data/config/routes.rb +0 -1
|
@@ -229,7 +229,7 @@ describe Spree::StockItem, type: :model do
|
|
|
229
229
|
context "when deprecated binary_inventory_cache is used" do
|
|
230
230
|
before do
|
|
231
231
|
Spree::Config.binary_inventory_cache = binary_inventory_cache
|
|
232
|
-
allow(
|
|
232
|
+
allow(Spree::Deprecation).to receive(:warn)
|
|
233
233
|
subject.set_count_on_hand(9)
|
|
234
234
|
end
|
|
235
235
|
|
|
@@ -237,7 +237,7 @@ describe Spree::StockItem, type: :model do
|
|
|
237
237
|
let(:binary_inventory_cache) { true }
|
|
238
238
|
|
|
239
239
|
it "logs a deprecation warning" do
|
|
240
|
-
expect(
|
|
240
|
+
expect(Spree::Deprecation).to have_received(:warn)
|
|
241
241
|
end
|
|
242
242
|
end
|
|
243
243
|
|
|
@@ -248,7 +248,7 @@ describe Spree::StockItem, type: :model do
|
|
|
248
248
|
end
|
|
249
249
|
|
|
250
250
|
it "does not log a deprecation warning" do
|
|
251
|
-
expect(
|
|
251
|
+
expect(Spree::Deprecation).not_to have_received(:warn)
|
|
252
252
|
end
|
|
253
253
|
end
|
|
254
254
|
end
|
|
@@ -271,170 +271,60 @@ describe Spree::StockItem, type: :model do
|
|
|
271
271
|
end
|
|
272
272
|
|
|
273
273
|
describe 'validations' do
|
|
274
|
+
before do
|
|
275
|
+
subject.backorderable = backorderable
|
|
276
|
+
subject.send(:count_on_hand=, count_on_hand)
|
|
277
|
+
end
|
|
278
|
+
|
|
274
279
|
describe 'count_on_hand' do
|
|
275
280
|
shared_examples_for 'valid count_on_hand' do
|
|
276
|
-
before(:each) do
|
|
277
|
-
subject.save
|
|
278
|
-
end
|
|
279
|
-
|
|
280
281
|
it 'has :no errors_on' do
|
|
282
|
+
expect(subject).to be_valid
|
|
281
283
|
expect(subject.errors_on(:count_on_hand).size).to eq(0)
|
|
282
284
|
end
|
|
283
285
|
end
|
|
284
286
|
|
|
285
|
-
shared_examples_for '
|
|
286
|
-
|
|
287
|
-
subject.
|
|
288
|
-
end
|
|
289
|
-
|
|
290
|
-
it 'has 1 error_on' do
|
|
287
|
+
shared_examples_for 'invalid count_on_hand' do
|
|
288
|
+
it 'has the correct error on count_on_hand' do
|
|
289
|
+
expect(subject).not_to be_valid
|
|
291
290
|
expect(subject.error_on(:count_on_hand).size).to eq(1)
|
|
291
|
+
expect(subject.errors[:count_on_hand]).to include('must be greater than or equal to 0')
|
|
292
292
|
end
|
|
293
|
-
it { expect(subject.errors[:count_on_hand]).to include 'must be greater than or equal to 0' }
|
|
294
293
|
end
|
|
295
294
|
|
|
296
|
-
context 'when
|
|
297
|
-
|
|
298
|
-
before(:each) do
|
|
299
|
-
subject.backorderable = false
|
|
300
|
-
end
|
|
301
|
-
it_should_behave_like 'valid count_on_hand'
|
|
302
|
-
end
|
|
295
|
+
context 'when backorderable' do
|
|
296
|
+
let(:backorderable) { true }
|
|
303
297
|
|
|
304
|
-
context 'when
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
end
|
|
308
|
-
it_should_behave_like 'valid count_on_hand'
|
|
298
|
+
context 'when count_on_hand is positive' do
|
|
299
|
+
let(:count_on_hand) { 3 }
|
|
300
|
+
it_should_behave_like "valid count_on_hand"
|
|
309
301
|
end
|
|
310
|
-
end
|
|
311
302
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
before(:each) do
|
|
315
|
-
subject.backorderable = true
|
|
316
|
-
end
|
|
317
|
-
context 'when both count_on_hand and count_on_hand_was are positive' do
|
|
318
|
-
context 'when count_on_hand is greater than count_on_hand_was' do
|
|
319
|
-
before(:each) do
|
|
320
|
-
subject.update_column(:count_on_hand, 3)
|
|
321
|
-
subject.send(:count_on_hand=, subject.count_on_hand + 3)
|
|
322
|
-
end
|
|
323
|
-
it_should_behave_like 'valid count_on_hand'
|
|
324
|
-
end
|
|
325
|
-
|
|
326
|
-
context 'when count_on_hand is smaller than count_on_hand_was' do
|
|
327
|
-
before(:each) do
|
|
328
|
-
subject.update_column(:count_on_hand, 3)
|
|
329
|
-
subject.send(:count_on_hand=, subject.count_on_hand - 2)
|
|
330
|
-
end
|
|
331
|
-
|
|
332
|
-
it_should_behave_like 'valid count_on_hand'
|
|
333
|
-
end
|
|
334
|
-
end
|
|
303
|
+
context 'when count_on_hand is negative' do
|
|
304
|
+
let(:count_on_hand) { -3 }
|
|
335
305
|
|
|
336
|
-
|
|
337
|
-
context 'when count_on_hand is greater than count_on_hand_was' do
|
|
338
|
-
before(:each) do
|
|
339
|
-
subject.update_column(:count_on_hand, -3)
|
|
340
|
-
subject.send(:count_on_hand=, subject.count_on_hand + 2)
|
|
341
|
-
end
|
|
342
|
-
it_should_behave_like 'valid count_on_hand'
|
|
343
|
-
end
|
|
344
|
-
|
|
345
|
-
context 'when count_on_hand is smaller than count_on_hand_was' do
|
|
346
|
-
before(:each) do
|
|
347
|
-
subject.update_column(:count_on_hand, 3)
|
|
348
|
-
subject.send(:count_on_hand=, subject.count_on_hand - 3)
|
|
349
|
-
end
|
|
350
|
-
|
|
351
|
-
it_should_behave_like 'valid count_on_hand'
|
|
352
|
-
end
|
|
353
|
-
end
|
|
354
|
-
|
|
355
|
-
context 'when both count_on_hand is positive and count_on_hand_was is negative' do
|
|
356
|
-
context 'when count_on_hand is greater than count_on_hand_was' do
|
|
357
|
-
before(:each) do
|
|
358
|
-
subject.update_column(:count_on_hand, -3)
|
|
359
|
-
subject.send(:count_on_hand=, subject.count_on_hand + 6)
|
|
360
|
-
end
|
|
361
|
-
it_should_behave_like 'valid count_on_hand'
|
|
362
|
-
end
|
|
363
|
-
end
|
|
306
|
+
it_should_behave_like "valid count_on_hand"
|
|
364
307
|
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
before(:each) do
|
|
368
|
-
subject.update_column(:count_on_hand, 3)
|
|
369
|
-
subject.send(:count_on_hand=, subject.count_on_hand - 6)
|
|
370
|
-
end
|
|
371
|
-
it_should_behave_like 'valid count_on_hand'
|
|
372
|
-
end
|
|
373
|
-
end
|
|
374
|
-
end
|
|
375
|
-
|
|
376
|
-
context 'when not backorderable' do
|
|
377
|
-
before(:each) do
|
|
308
|
+
it "can't be changed to not backorderable" do
|
|
309
|
+
expect(subject).to be_valid
|
|
378
310
|
subject.backorderable = false
|
|
311
|
+
expect(subject).not_to be_valid
|
|
379
312
|
end
|
|
313
|
+
end
|
|
314
|
+
end
|
|
380
315
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
before(:each) do
|
|
384
|
-
subject.update_column(:count_on_hand, 3)
|
|
385
|
-
subject.send(:count_on_hand=, subject.count_on_hand + 3)
|
|
386
|
-
end
|
|
387
|
-
it_should_behave_like 'valid count_on_hand'
|
|
388
|
-
end
|
|
389
|
-
|
|
390
|
-
context 'when count_on_hand is smaller than count_on_hand_was' do
|
|
391
|
-
before(:each) do
|
|
392
|
-
subject.update_column(:count_on_hand, 3)
|
|
393
|
-
subject.send(:count_on_hand=, subject.count_on_hand - 2)
|
|
394
|
-
end
|
|
395
|
-
|
|
396
|
-
it_should_behave_like 'valid count_on_hand'
|
|
397
|
-
end
|
|
398
|
-
end
|
|
316
|
+
context 'when not backorderable' do
|
|
317
|
+
let(:backorderable) { false }
|
|
399
318
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
subject.send(:count_on_hand=, subject.count_on_hand + 2)
|
|
405
|
-
end
|
|
406
|
-
it_should_behave_like 'valid count_on_hand'
|
|
407
|
-
end
|
|
408
|
-
|
|
409
|
-
context 'when count_on_hand is smaller than count_on_hand_was' do
|
|
410
|
-
before(:each) do
|
|
411
|
-
subject.update_column(:count_on_hand, -3)
|
|
412
|
-
subject.send(:count_on_hand=, subject.count_on_hand - 3)
|
|
413
|
-
end
|
|
414
|
-
|
|
415
|
-
it_should_behave_like 'not valid count_on_hand'
|
|
416
|
-
end
|
|
417
|
-
end
|
|
319
|
+
context 'when count_on_hand is positive' do
|
|
320
|
+
let(:count_on_hand) { 3 }
|
|
321
|
+
it_should_behave_like "valid count_on_hand"
|
|
322
|
+
end
|
|
418
323
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
before(:each) do
|
|
422
|
-
subject.update_column(:count_on_hand, -3)
|
|
423
|
-
subject.send(:count_on_hand=, subject.count_on_hand + 6)
|
|
424
|
-
end
|
|
425
|
-
it_should_behave_like 'valid count_on_hand'
|
|
426
|
-
end
|
|
427
|
-
end
|
|
324
|
+
context 'when count_on_hand is negative' do
|
|
325
|
+
let(:count_on_hand) { -3 }
|
|
428
326
|
|
|
429
|
-
|
|
430
|
-
context 'when count_on_hand is greater than count_on_hand_was' do
|
|
431
|
-
before(:each) do
|
|
432
|
-
subject.update_column(:count_on_hand, 3)
|
|
433
|
-
subject.send(:count_on_hand=, subject.count_on_hand - 6)
|
|
434
|
-
end
|
|
435
|
-
it_should_behave_like 'not valid count_on_hand'
|
|
436
|
-
end
|
|
437
|
-
end
|
|
327
|
+
it_should_behave_like "invalid count_on_hand"
|
|
438
328
|
end
|
|
439
329
|
end
|
|
440
330
|
end
|
|
@@ -16,23 +16,37 @@ describe Spree::Store, type: :model do
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
describe '.current' do
|
|
19
|
-
|
|
20
|
-
let!(:
|
|
21
|
-
|
|
19
|
+
let!(:store_1) { create(:store) }
|
|
20
|
+
let!(:store_default) { create(:store, name: 'default', default: true) }
|
|
22
21
|
let!(:store_2) { create(:store, default: false, url: 'www.subdomain.com') }
|
|
23
22
|
let!(:store_3) { create(:store, default: false, url: 'www.another.com', code: 'CODE') }
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
delegate :current, to: :described_class
|
|
25
|
+
|
|
26
|
+
context "with no argument" do
|
|
27
|
+
it 'should return default' do
|
|
28
|
+
Spree::Deprecation.silence do
|
|
29
|
+
expect(current).to eql(store_default)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
context "with no match" do
|
|
35
|
+
it 'should return the default domain' do
|
|
36
|
+
expect(current('foobar.com')).to eql(store_default)
|
|
37
|
+
end
|
|
27
38
|
end
|
|
28
39
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
context "with matching url" do
|
|
41
|
+
it 'should return matching store' do
|
|
42
|
+
expect(current('www.subdomain.com')).to eql(store_2)
|
|
43
|
+
end
|
|
32
44
|
end
|
|
33
45
|
|
|
34
|
-
|
|
35
|
-
|
|
46
|
+
context "with matching code" do
|
|
47
|
+
it 'should return matching store' do
|
|
48
|
+
expect(current('CODE')).to eql(store_3)
|
|
49
|
+
end
|
|
36
50
|
end
|
|
37
51
|
end
|
|
38
52
|
|
|
@@ -140,7 +140,7 @@ describe Spree::TaxRate, type: :model do
|
|
|
140
140
|
let(:line_item) { stub_model(Spree::LineItem) }
|
|
141
141
|
|
|
142
142
|
it 'should emit a deprecation warning and call the item adjuster' do
|
|
143
|
-
expect(
|
|
143
|
+
expect(Spree::Deprecation).to receive(:warn)
|
|
144
144
|
expect(Spree::Tax::ItemAdjuster).to receive_message_chain(:new, :adjust!)
|
|
145
145
|
Spree::TaxRate.adjust(zone, [line_item])
|
|
146
146
|
end
|
|
@@ -150,7 +150,7 @@ describe Spree::TaxRate, type: :model do
|
|
|
150
150
|
let(:shipment) { stub_model(Spree::Shipment) }
|
|
151
151
|
|
|
152
152
|
it 'should emit a deprecation warning and call the item adjuster' do
|
|
153
|
-
expect(
|
|
153
|
+
expect(Spree::Deprecation).to receive(:warn)
|
|
154
154
|
expect(Spree::Tax::ItemAdjuster).to receive_message_chain(:new, :adjust!)
|
|
155
155
|
Spree::TaxRate.adjust(zone, [shipment])
|
|
156
156
|
end
|
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
3
|
describe Spree::Validations::DbMaximumLengthValidator, type: :model do
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
with_model 'LimitedProduct', scope: :all do
|
|
5
|
+
table do |t|
|
|
6
|
+
t.string :slug, limit: 255
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
model do
|
|
8
10
|
validates_with Spree::Validations::DbMaximumLengthValidator, field: :slug
|
|
9
11
|
end
|
|
10
|
-
|
|
11
|
-
let(:product) { Spree::Product.new }
|
|
12
|
-
let(:slug) { "x" * (limit + 1) }
|
|
12
|
+
end
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
let(:record) { LimitedProduct.new(slug: slug) }
|
|
15
|
+
|
|
16
|
+
context "when slug is below limit" do
|
|
17
|
+
let(:slug) { 'a' * 255 }
|
|
18
|
+
it 'should be valid' do
|
|
19
|
+
expect(record).to be_valid
|
|
20
|
+
expect(record.errors).to be_empty
|
|
16
21
|
end
|
|
22
|
+
end
|
|
17
23
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
context "when slug is too long" do
|
|
25
|
+
let(:slug) { 'a' * 256 }
|
|
26
|
+
it 'should be invalid and set error' do
|
|
27
|
+
expect(record).not_to be_valid
|
|
28
|
+
expect(record.errors[:slug]).to include(I18n.t("errors.messages.too_long", count: 255))
|
|
21
29
|
end
|
|
22
30
|
end
|
|
23
31
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solidus_core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.4.0.beta1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Solidus Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-08-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activemerchant
|
|
@@ -43,6 +43,9 @@ dependencies:
|
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '3.0'
|
|
48
|
+
- - ">="
|
|
46
49
|
- !ruby/object:Gem::Version
|
|
47
50
|
version: 3.0.1
|
|
48
51
|
type: :runtime
|
|
@@ -50,6 +53,9 @@ dependencies:
|
|
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
54
|
requirements:
|
|
52
55
|
- - "~>"
|
|
56
|
+
- !ruby/object:Gem::Version
|
|
57
|
+
version: '3.0'
|
|
58
|
+
- - ">="
|
|
53
59
|
- !ruby/object:Gem::Version
|
|
54
60
|
version: 3.0.1
|
|
55
61
|
- !ruby/object:Gem::Dependency
|
|
@@ -162,14 +168,14 @@ dependencies:
|
|
|
162
168
|
requirements:
|
|
163
169
|
- - "~>"
|
|
164
170
|
- !ruby/object:Gem::Version
|
|
165
|
-
version: 4.2
|
|
171
|
+
version: '4.2'
|
|
166
172
|
type: :runtime
|
|
167
173
|
prerelease: false
|
|
168
174
|
version_requirements: !ruby/object:Gem::Requirement
|
|
169
175
|
requirements:
|
|
170
176
|
- - "~>"
|
|
171
177
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: 4.2
|
|
178
|
+
version: '4.2'
|
|
173
179
|
- !ruby/object:Gem::Dependency
|
|
174
180
|
name: paranoia
|
|
175
181
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -278,14 +284,20 @@ dependencies:
|
|
|
278
284
|
name: truncate_html
|
|
279
285
|
requirement: !ruby/object:Gem::Requirement
|
|
280
286
|
requirements:
|
|
281
|
-
- -
|
|
287
|
+
- - "~>"
|
|
288
|
+
- !ruby/object:Gem::Version
|
|
289
|
+
version: '0.9'
|
|
290
|
+
- - ">="
|
|
282
291
|
- !ruby/object:Gem::Version
|
|
283
292
|
version: 0.9.2
|
|
284
293
|
type: :runtime
|
|
285
294
|
prerelease: false
|
|
286
295
|
version_requirements: !ruby/object:Gem::Requirement
|
|
287
296
|
requirements:
|
|
288
|
-
- -
|
|
297
|
+
- - "~>"
|
|
298
|
+
- !ruby/object:Gem::Version
|
|
299
|
+
version: '0.9'
|
|
300
|
+
- - ">="
|
|
289
301
|
- !ruby/object:Gem::Version
|
|
290
302
|
version: 0.9.2
|
|
291
303
|
- !ruby/object:Gem::Dependency
|
|
@@ -324,6 +336,7 @@ extra_rdoc_files: []
|
|
|
324
336
|
files:
|
|
325
337
|
- Gemfile
|
|
326
338
|
- LICENSE
|
|
339
|
+
- README.md
|
|
327
340
|
- Rakefile
|
|
328
341
|
- app/assets/images/logo/solidus_logo.png
|
|
329
342
|
- app/assets/images/noimage/large.png
|
|
@@ -561,6 +574,8 @@ files:
|
|
|
561
574
|
- app/models/spree/variant_property_rule.rb
|
|
562
575
|
- app/models/spree/variant_property_rule_condition.rb
|
|
563
576
|
- app/models/spree/variant_property_rule_value.rb
|
|
577
|
+
- app/models/spree/wallet/add_payment_sources_to_wallet.rb
|
|
578
|
+
- app/models/spree/wallet/default_payment_builder.rb
|
|
564
579
|
- app/models/spree/zone.rb
|
|
565
580
|
- app/models/spree/zone_member.rb
|
|
566
581
|
- app/views/layouts/spree/base_mailer.html.erb
|
|
@@ -570,6 +585,7 @@ files:
|
|
|
570
585
|
- app/views/spree/order_mailer/confirm_email.html.erb
|
|
571
586
|
- app/views/spree/order_mailer/confirm_email.text.erb
|
|
572
587
|
- app/views/spree/order_mailer/inventory_cancellation_email.text.erb
|
|
588
|
+
- app/views/spree/reimbursement_mailer/reimbursement_email.html.erb
|
|
573
589
|
- app/views/spree/reimbursement_mailer/reimbursement_email.text.erb
|
|
574
590
|
- app/views/spree/shared/_base_mailer_footer.html.erb
|
|
575
591
|
- app/views/spree/shared/_base_mailer_header.html.erb
|
|
@@ -582,7 +598,6 @@ files:
|
|
|
582
598
|
- config/initializers/premailer_assets.rb
|
|
583
599
|
- config/initializers/spree_user.rb
|
|
584
600
|
- config/locales/en.yml
|
|
585
|
-
- config/routes.rb
|
|
586
601
|
- db/default/spree/countries.rb
|
|
587
602
|
- db/default/spree/return_reasons.rb
|
|
588
603
|
- db/default/spree/roles.rb
|
|
@@ -881,8 +896,12 @@ files:
|
|
|
881
896
|
- db/migrate/20160318145302_add_timestamps_to_prices.rb
|
|
882
897
|
- db/migrate/20160330204846_add_missing_timestamp_columns.rb
|
|
883
898
|
- db/migrate/20160509181311_add_country_iso_to_prices.rb
|
|
899
|
+
- db/migrate/20160527070401_rename_shipment_address_field.rb
|
|
884
900
|
- db/migrate/20160608162651_ensure_default_store.rb
|
|
885
901
|
- db/migrate/20160608180751_ensure_store_on_orders.rb
|
|
902
|
+
- db/migrate/20160616232103_remove_user_id_from_promotion_rules.rb
|
|
903
|
+
- db/migrate/20160718205341_add_payment_id_index_to_spree_refunds.rb
|
|
904
|
+
- db/migrate/20160718205859_add_reimbursement_id_index_to_spree_refunds.rb
|
|
886
905
|
- db/seeds.rb
|
|
887
906
|
- lib/generators/spree/custom_user/custom_user_generator.rb
|
|
888
907
|
- lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt
|
|
@@ -940,6 +959,7 @@ files:
|
|
|
940
959
|
- lib/spree/localized_number.rb
|
|
941
960
|
- lib/spree/mailer_previews/carton_preview.rb
|
|
942
961
|
- lib/spree/mailer_previews/order_preview.rb
|
|
962
|
+
- lib/spree/mailer_previews/reimbursement_preview.rb
|
|
943
963
|
- lib/spree/migration_helpers.rb
|
|
944
964
|
- lib/spree/migrations.rb
|
|
945
965
|
- lib/spree/money.rb
|
|
@@ -1390,12 +1410,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
1390
1410
|
version: 2.1.0
|
|
1391
1411
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1392
1412
|
requirements:
|
|
1393
|
-
- - "
|
|
1413
|
+
- - ">"
|
|
1394
1414
|
- !ruby/object:Gem::Version
|
|
1395
|
-
version:
|
|
1415
|
+
version: 1.3.1
|
|
1396
1416
|
requirements: []
|
|
1397
1417
|
rubyforge_project:
|
|
1398
|
-
rubygems_version: 2.
|
|
1418
|
+
rubygems_version: 2.5.1
|
|
1399
1419
|
signing_key:
|
|
1400
1420
|
specification_version: 4
|
|
1401
1421
|
summary: Essential models, mailers, and classes for the Solidus e-commerce project.
|
data/config/routes.rb
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Spree::Core::Engine.draw_routes
|