mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Adding known_users method to Spree::User
This commit is contained in:
@@ -11,6 +11,12 @@ Spree.user_class.class_eval do
|
||||
|
||||
validate :limit_owned_enterprises
|
||||
|
||||
def known_users
|
||||
Spree::User
|
||||
.includes(:enterprises)
|
||||
.where("enterprises.id IN (SELECT enterprise_id FROM enterprise_roles WHERE user_id = ?)", id)
|
||||
end
|
||||
|
||||
def build_enterprise_roles
|
||||
Enterprise.all.each do |enterprise|
|
||||
unless self.enterprise_roles.find_by_enterprise_id enterprise.id
|
||||
|
||||
@@ -30,4 +30,22 @@ describe Spree.user_class do
|
||||
create(:user)
|
||||
end
|
||||
end
|
||||
|
||||
describe "known_users" do
|
||||
let(:u1) { create(:user) }
|
||||
let(:u2) { create(:user) }
|
||||
let(:u3) { create(:user) }
|
||||
let!(:e1) { create(:enterprise, owner: u1, users: [u1, u2]) }
|
||||
|
||||
it "returns a list of users which manage shared enterprises" do
|
||||
t1 = Time.now
|
||||
expect(u1.known_users).to include u1, u2
|
||||
expect(u1.known_users).to_not include u3
|
||||
expect(u2.known_users).to include u1,u2
|
||||
expect(u2.known_users).to_not include u3
|
||||
expect(u3.known_users).to_not include u1,u2,u3
|
||||
t2 = Time.now
|
||||
binding.pry
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user