From 4aacfc1c2cba18b9fe3d3e9198c9c91fff433581 Mon Sep 17 00:00:00 2001 From: Martin Gruner Date: Tue, 28 Apr 2026 10:13:52 +0200 Subject: [PATCH 1/2] Maintenance: Improve rspec handling --- .rubocop_todo.yml | 3 --- spec/zammad_api/resources/group_spec.rb | 6 +++--- spec/zammad_api/resources/organization_spec.rb | 6 +++--- spec/zammad_api/resources/ticket_priority_spec.rb | 6 +++--- spec/zammad_api/resources/ticket_spec.rb | 6 +++--- spec/zammad_api/resources/ticket_state_spec.rb | 6 +++--- spec/zammad_api/resources/user_spec.rb | 13 ++++++------- spec/zammad_api_spec.rb | 7 +++++-- 8 files changed, 26 insertions(+), 27 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 20ec1c6..cc90604 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -30,6 +30,3 @@ RSpec/ContextWording: RSpec/BeforeAfterAll: Enabled: false - -RSpec/LeakyLocalVariable: - Enabled: false diff --git a/spec/zammad_api/resources/group_spec.rb b/spec/zammad_api/resources/group_spec.rb index 0b96426..745b8d9 100644 --- a/spec/zammad_api/resources/group_spec.rb +++ b/spec/zammad_api/resources/group_spec.rb @@ -1,10 +1,10 @@ require 'spec_helper' describe ZammadAPI, 'group object basics' do - client = Helper.client + let(:client) { Helper.client } - name = "some_group#{Helper.random}" - group = nil + let(:name) { "some_group#{Helper.random}" } + let(:group) { nil } it 'new with invalid attributes' do group_invalid = client.group.new diff --git a/spec/zammad_api/resources/organization_spec.rb b/spec/zammad_api/resources/organization_spec.rb index 85af4e9..ce91bfa 100644 --- a/spec/zammad_api/resources/organization_spec.rb +++ b/spec/zammad_api/resources/organization_spec.rb @@ -1,10 +1,10 @@ require 'spec_helper' describe ZammadAPI, 'organization object basics' do - client = Helper.client + let(:client) { Helper.client } - name = "some_organization#{Helper.random}" - organization = nil + let(:name) { "some_organization#{Helper.random}" } + let(:organization) { nil } it 'new with invalid attributes' do organization_invalid = client.organization.new diff --git a/spec/zammad_api/resources/ticket_priority_spec.rb b/spec/zammad_api/resources/ticket_priority_spec.rb index d84a717..64a4920 100644 --- a/spec/zammad_api/resources/ticket_priority_spec.rb +++ b/spec/zammad_api/resources/ticket_priority_spec.rb @@ -1,10 +1,10 @@ require 'spec_helper' describe ZammadAPI, 'ticket priority object basics' do - client = Helper.client + let(:client) { Helper.client } - name = "some_ticket_priority#{Helper.random}" - ticket_priority = nil + let(:name) { "some_ticket_priority#{Helper.random}" } + let(:ticket_priority) { nil } it 'new with invalid attributes' do ticket_priority_invalid = client.ticket_priority.new diff --git a/spec/zammad_api/resources/ticket_spec.rb b/spec/zammad_api/resources/ticket_spec.rb index d0fbb59..9c08181 100644 --- a/spec/zammad_api/resources/ticket_spec.rb +++ b/spec/zammad_api/resources/ticket_spec.rb @@ -1,10 +1,10 @@ require 'spec_helper' describe ZammadAPI, 'ticket object basics' do - client = Helper.client + let(:client) { Helper.client } - title = "some ticket title ##{Helper.random}" - ticket = nil + let(:title) { "some ticket title ##{Helper.random}" } + let(:ticket) { nil } it 'new with invalid attributes' do ticket_invalid = client.ticket.new diff --git a/spec/zammad_api/resources/ticket_state_spec.rb b/spec/zammad_api/resources/ticket_state_spec.rb index f605b35..c5ba964 100644 --- a/spec/zammad_api/resources/ticket_state_spec.rb +++ b/spec/zammad_api/resources/ticket_state_spec.rb @@ -1,10 +1,10 @@ require 'spec_helper' describe ZammadAPI, 'ticket state object basics' do - client = Helper.client + let(:client) { Helper.client } - name = "some_ticket_state#{Helper.random}" - ticket_state = nil + let(:name) { "some_ticket_state#{Helper.random}" } + let(:ticket_state) { nil } it 'new with invalid attributes' do ticket_state_invalid = client.ticket_state.new diff --git a/spec/zammad_api/resources/user_spec.rb b/spec/zammad_api/resources/user_spec.rb index b96f154..8e00c76 100644 --- a/spec/zammad_api/resources/user_spec.rb +++ b/spec/zammad_api/resources/user_spec.rb @@ -1,13 +1,12 @@ require 'spec_helper' describe ZammadAPI, 'user object basics' do - client = Helper.client + let(:client) { Helper.client } - random = Helper.random - firstname = "firstname#{random}" - lastname = "lastname#{random}" - email = "some_user#{random}@example.com" - user = nil + let(:firstname) { "firstname#{Helper.random}" } + let(:lastname) { "lastname#{Helper.random}" } + let(:email) { "some_user#{Helper.random}@example.com" } + let(:user) { nil } it 'new with invalid attributes' do user_invalid = client.user.new @@ -61,7 +60,7 @@ expect(user.created_by).to eq('admin@example.com') expect(user.updated_by).to eq('admin@example.com') - user.firstname = "firstname#{random}-2" + user.firstname = "firstname#{Helper.random}-2" user.roles = ['Agent'] user.note = 'some note' diff --git a/spec/zammad_api_spec.rb b/spec/zammad_api_spec.rb index 07aee5f..dfbb62b 100644 --- a/spec/zammad_api_spec.rb +++ b/spec/zammad_api_spec.rb @@ -6,8 +6,11 @@ end context 'failing authentication' do - Helper.auto_wizard - client = Helper.client(user: 'not_existing', password: 'not_existing') + before(:all) do + Helper.auto_wizard + end + + let(:client) { Helper.client(user: 'not_existing', password: 'not_existing') } it 'user' do expect { client.user.find(1) }.to raise_error(RuntimeError) From 3b0396af39cae33a6abe2d91ce13f4ec05d8cf75 Mon Sep 17 00:00:00 2001 From: Martin Gruner Date: Tue, 28 Apr 2026 10:23:33 +0200 Subject: [PATCH 2/2] Fix test execution --- .rubocop_todo.yml | 3 --- spec/zammad_api/client_spec.rb | 4 ++-- spec/zammad_api/transport_spec.rb | 4 ++-- spec/zammad_api_spec.rb | 5 ++--- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index cc90604..b75dc0f 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -27,6 +27,3 @@ RSpec/DescribeMethod: RSpec/ContextWording: Enabled: false - -RSpec/BeforeAfterAll: - Enabled: false diff --git a/spec/zammad_api/client_spec.rb b/spec/zammad_api/client_spec.rb index d213b1e..90b15c8 100644 --- a/spec/zammad_api/client_spec.rb +++ b/spec/zammad_api/client_spec.rb @@ -2,11 +2,11 @@ require 'logger' describe ZammadAPI::Client do - before(:all) do + before(:all) do # rubocop:disable RSpec/BeforeAfterAll WebMock.enable! end - after(:all) do + after(:all) do # rubocop:disable RSpec/BeforeAfterAll WebMock.disable! end diff --git a/spec/zammad_api/transport_spec.rb b/spec/zammad_api/transport_spec.rb index 38f1934..7fa78a7 100644 --- a/spec/zammad_api/transport_spec.rb +++ b/spec/zammad_api/transport_spec.rb @@ -2,11 +2,11 @@ require 'logger' describe ZammadAPI::Transport do - before(:all) do + before(:all) do # rubocop:disable RSpec/BeforeAfterAll WebMock.enable! end - after(:all) do + after(:all) do # rubocop:disable RSpec/BeforeAfterAll WebMock.disable! end diff --git a/spec/zammad_api_spec.rb b/spec/zammad_api_spec.rb index dfbb62b..32b679a 100644 --- a/spec/zammad_api_spec.rb +++ b/spec/zammad_api_spec.rb @@ -6,9 +6,8 @@ end context 'failing authentication' do - before(:all) do - Helper.auto_wizard - end + # TODO: this will be executed at test parsing time, not execution time. Consider improving this. + Helper.auto_wizard let(:client) { Helper.client(user: 'not_existing', password: 'not_existing') }