mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
34 lines
1.1 KiB
Ruby
34 lines
1.1 KiB
Ruby
describe Spree.user_class do
|
|
describe "associations" do
|
|
it { should have_many(:owned_enterprises) }
|
|
|
|
describe "enterprise ownership" do
|
|
let(:u1) { create(:user, enterprise_limit: 2) }
|
|
let(:u2) { create(:user, enterprise_limit: 1) }
|
|
let!(:e1) { create(:enterprise, owner: u1) }
|
|
let!(:e2) { create(:enterprise, owner: u1) }
|
|
|
|
it "provides access to owned enterprises" do
|
|
expect(u1.owned_enterprises(:reload)).to include e1, e2
|
|
end
|
|
|
|
it "enforces the limit on the number of enterprise owned" do
|
|
expect(u2.owned_enterprises(:reload)).to eq []
|
|
u2.owned_enterprises << e1
|
|
expect(u2.save!).to_not raise_error
|
|
expect {
|
|
u2.owned_enterprises << e2
|
|
u2.save!
|
|
}.to raise_error ActiveRecord::RecordInvalid, "Validation failed: The nominated user is not permitted to own own any more enterprises (limit is 1)."
|
|
end
|
|
end
|
|
end
|
|
|
|
context "#create" do
|
|
it "should send a signup email" do
|
|
Spree::UserMailer.should_receive(:signup_confirmation).and_return(double(:deliver => true))
|
|
create(:user)
|
|
end
|
|
end
|
|
end
|