mirror of
https://github.com/zammad/zammad
synced 2026-05-24 09:48:36 +00:00
62 lines
1.8 KiB
Ruby
62 lines
1.8 KiB
Ruby
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
|
|
|
|
require 'rails_helper'
|
|
|
|
RSpec.describe Selector::Sql, 'organization' do
|
|
describe 'organization.members_existing' do
|
|
let(:user_1) { create(:agent, organization: Organization.first) }
|
|
let(:organization_unused_1) { create(:organization) }
|
|
let(:organization_unused_2) { create(:organization) }
|
|
let(:organization_unused_3) { create(:organization) }
|
|
|
|
before do
|
|
user_1
|
|
Organization.first.touch
|
|
organization_unused_1
|
|
organization_unused_2
|
|
organization_unused_3
|
|
end
|
|
|
|
it 'does find the organizations with users', :aggregate_failures do
|
|
condition = {
|
|
operator: 'AND',
|
|
conditions: [
|
|
{
|
|
name: 'organization.id',
|
|
operator: 'is',
|
|
value: [Organization.first.id.to_s, organization_unused_1.id.to_s, organization_unused_2.id.to_s, organization_unused_3.id.to_s],
|
|
},
|
|
{
|
|
name: 'organization.members_existing',
|
|
operator: 'is',
|
|
value: 'true',
|
|
},
|
|
]
|
|
}
|
|
|
|
count, = Organization.selectors(condition)
|
|
expect(count).to eq(1)
|
|
end
|
|
|
|
it 'does find the organizations with no users', :aggregate_failures do
|
|
condition = {
|
|
operator: 'AND',
|
|
conditions: [
|
|
{
|
|
name: 'organization.id',
|
|
operator: 'is',
|
|
value: [Organization.first.id.to_s, organization_unused_1.id.to_s, organization_unused_2.id.to_s, organization_unused_3.id.to_s],
|
|
},
|
|
{
|
|
name: 'organization.members_existing',
|
|
operator: 'is',
|
|
value: 'false',
|
|
},
|
|
]
|
|
}
|
|
|
|
count, = Organization.selectors(condition)
|
|
expect(count).to eq(3)
|
|
end
|
|
end
|
|
end
|