* First draft - all the big changes * Changing some more references to 'internal' * Relocate internal request tests to admin * Relocate internal system tests to admin * Fix trailing space * Test fix * Move queries from internal to admin * Docs updates * Rename internal stimuls controllers to admin (plus docs) * Rename admin layout * Fix routing after rebase * Fixes for latest added admin interfaces * Serviceworker ignore paths
50 lines
1.4 KiB
Ruby
50 lines
1.4 KiB
Ruby
require "rails_helper"
|
|
|
|
RSpec.describe Admin::UsersQuery, type: :query do
|
|
subject { described_class.call(options: options) }
|
|
|
|
let!(:user) { create(:user, :trusted, name: "Greg") }
|
|
let!(:user2) { create(:user, :trusted, name: "Gregory") }
|
|
let!(:user3) { create(:user, :tag_moderator, name: "Paul") }
|
|
let!(:user4) { create(:user, :admin, name: "Susi") }
|
|
let!(:user5) { create(:user, :trusted, :admin, name: "Beth") }
|
|
let!(:user6) { create(:user, :super_admin, name: "Jean") }
|
|
|
|
describe ".call" do
|
|
context "when no arguments are given" do
|
|
it "returns all users" do
|
|
expect(described_class.call).to eq([user6, user5, user4, user3, user2, user])
|
|
end
|
|
end
|
|
|
|
context "when search is set" do
|
|
let(:options) { { search: "greg" } }
|
|
|
|
it { is_expected.to eq([user2, user]) }
|
|
end
|
|
|
|
context "when role is tag_moderator" do
|
|
let(:options) { { role: "tag_moderator" } }
|
|
|
|
it { is_expected.to eq([user3]) }
|
|
end
|
|
|
|
context "when role is super_admin" do
|
|
let(:options) { { role: "super_admin" } }
|
|
|
|
it { is_expected.to eq([user6]) }
|
|
end
|
|
|
|
context "when role is trusted" do
|
|
let(:options) { { role: "trusted" } }
|
|
|
|
it { is_expected.to eq([user5, user2, user]) }
|
|
end
|
|
|
|
context "when role is admin" do
|
|
let(:options) { { role: "admin" } }
|
|
|
|
it { is_expected.to eq([user5, user4]) }
|
|
end
|
|
end
|
|
end
|