Commit 6618d14
Changed files (2)
app
models
scim
spec
models
app/models/scim/visitor.rb
@@ -9,6 +9,8 @@ module Scim
User.where(attr => tree[:value].to_s[1..-2])
when 'ne'
User.where.not(attr => tree[:value].to_s[1..-2])
+ when 'co'
+ User.where("#{attr} like ?", "#{tree[:value].to_s[1..-2]}%")
else
User.none
end
spec/models/user_spec.rb
@@ -30,13 +30,17 @@ RSpec.describe User do
expect(results.pluck(:email)).not_to include(random_user.email)
end
+ specify do
+ results = User.scim_filter_for(tree_for("userName co \"#{random_user.email[0..3]}\""))
+ expect(results).to match_array([random_user])
+ end
+
specify do
first_user = users.sample
second_user = users.sample
- parse_tree = tree_for(%(userName eq "#{first_user.email}" or userName eq "#{second_user.email}"))
- puts parse_tree
- results = User.scim_filter_for(parse_tree)
- puts results.to_sql
+ results = User.scim_filter_for(
+ tree_for(%(userName eq "#{first_user.email}" or userName eq "#{second_user.email}"))
+ )
expect(results.pluck(:email)).to match_array([first_user.email, second_user.email])
end
end