From 2903926e76806803ecf8594b25e3869c33033acb Mon Sep 17 00:00:00 2001 From: Alexey Sologub Date: Wed, 14 Sep 2022 12:16:03 -0400 Subject: [PATCH] Services::Users::Index specs added --- spec/factories/users.rb | 2 +- spec/services/users/index_spec.rb | 42 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 spec/services/users/index_spec.rb diff --git a/spec/factories/users.rb b/spec/factories/users.rb index ab1a7dc..59decae 100644 --- a/spec/factories/users.rb +++ b/spec/factories/users.rb @@ -1,6 +1,6 @@ FactoryBot.define do factory :user do - email { "test_email@test.com" } + sequence(:email) { |n| "test_email#{n}@test.com" } is_archived { true } password { "12345" } end diff --git a/spec/services/users/index_spec.rb b/spec/services/users/index_spec.rb new file mode 100644 index 0000000..50121d2 --- /dev/null +++ b/spec/services/users/index_spec.rb @@ -0,0 +1,42 @@ +require 'rails_helper' + +RSpec.describe 'Update' do + + describe '#call' do + + context 'when user tries to get records' do + + let!(:archived_users) { create_list(:user, 3, is_archived: true) } + let!(:not_archived_users) { create_list(:user, 5, is_archived: false) } + + before do + @service = Services::Users::Index.new(params) + @service.call + end + + context "archived users" do + + let(:params) { {"is_archived" => "true"} } + + it 'should return archived users' do + result = @service.users.count + expected_result = 3 + expect(result).to eql(expected_result) + end + + end + + context "not archived users" do + + let(:params) { {"is_archived" => "false"} } + + it 'should return not archived users' do + result = @service.users.count + expected_result = 5 + expect(result).to eql(expected_result) + end + + end + end + end +end