mirror of
https://github.com/discourse/discourse.git
synced 2024-12-31 03:08:24 +08:00
40 lines
1.3 KiB
Ruby
40 lines
1.3 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
RSpec.describe UserCustomField do
|
||
|
describe ".searchable" do
|
||
|
it "includes user_custom_fields with valid, searchable user_field references" do
|
||
|
Fabricate(:user_field, id: 123, searchable: true)
|
||
|
valid_user_custom_field = Fabricate(:user_custom_field, name: "user_field_123")
|
||
|
|
||
|
result = UserCustomField.searchable
|
||
|
|
||
|
expect(result).to include(valid_user_custom_field)
|
||
|
end
|
||
|
|
||
|
it "excludes user_custom_fields with non-searchable user_field references" do
|
||
|
Fabricate(:user_field, id: 456, searchable: false)
|
||
|
non_searchable_custom_field = Fabricate(:user_custom_field, name: "user_field_456")
|
||
|
|
||
|
result = UserCustomField.searchable
|
||
|
|
||
|
expect(result).not_to include(non_searchable_custom_field)
|
||
|
end
|
||
|
|
||
|
it "excludes user_custom_fields with invalid user_field references" do
|
||
|
invalid_user_custom_field = Fabricate(:user_custom_field, name: "user_field_invalid")
|
||
|
|
||
|
result = UserCustomField.searchable
|
||
|
|
||
|
expect(result).not_to include(invalid_user_custom_field)
|
||
|
end
|
||
|
|
||
|
it "excludes user_custom_fields with unrelated names" do
|
||
|
unrelated_custom_field = Fabricate(:user_custom_field, name: "cost_center")
|
||
|
|
||
|
result = UserCustomField.searchable
|
||
|
|
||
|
expect(result).not_to include(unrelated_custom_field)
|
||
|
end
|
||
|
end
|
||
|
end
|