The way we set up email sending completely changes with Spree 2. This
change encapsulates that code in a single method so that it can be
changed easily and doesn't create further merge conflicts while we are
still working on the master branch and the Spree upgrade.
This conversion is done by Transpec 3.3.0 with the following command:
transpec spec/models/spree/addresses_spec.rb
* 13 conversions
from: obj.should
to: expect(obj).to
* 2 conversions
from: it { should ... }
to: it { is_expected.to ... }
* 1 conversion
from: obj.should_not
to: expect(obj).not_to
For more details: https://github.com/yujinakayama/transpec#supported-conversions
Using deferred methods on the user model breaks delayed jobs when the
user is deleted while the job still exists. We could create a proper job
referencing a user id for sending these emails instead. But since the
user has to wait for the confirmation email anyway, we can send it
within the current request. This should be revised if performance
becomes an issue.
Sending the email directly also has the advantage that we can tell the
user if emailing failed. See the following commits.
This change impacts a bunch of specs as we now need a working email
setup to create unconfirmed users. This commit introduces a custom
matcher to unify testing for confirmation emails.
We are adding taxons to the product as you change the primary taxon.
However we never remove the previous primary taxon so it forces the user
to update the taxons manually. This can be a big problem if you are bulk
updating products.
We now remove the taxon that matches the previously set primary taxon.
When a user hit cancel while editing a product it took them to the spree
products index page instead of the bulk edit page. The button was part
of a shared view for all resources so changing it's actions were not
readily available.
It was suggested that instead of carrying our own separate controller
action we could just override the index action of the products
controller with the bulk edit functionality instead. This has the
advantage of removing some overrides and allows us to not add
additional overrides in the future.
When a user is created with the same email as existing customers
Then the user is associated with these customers
So that the user can access the private shops where he has been invited
to before signup
This makes the upgrade to Spree 2.0 a bit easier.
`spree_variants.count_on_hand` is removed in that version and this
column was used in the `in_stock` scope that we no longer use.