|
@@ -2088,6 +2088,7 @@ RSpec.describe 'Ticket', type: :request do # rubocop:disable Metrics/BlockLength
|
|
|
describe 'reopening a ticket' do
|
|
|
shared_examples 'successfully reopen a ticket' do
|
|
|
it 'succeeds' do
|
|
|
+ authenticated_as(user)
|
|
|
put "/api/v1/tickets/#{ticket.id}",
|
|
|
params: { state_id: Ticket::State.find_by(name: 'open').id },
|
|
|
as: :json
|
|
@@ -2099,6 +2100,7 @@ RSpec.describe 'Ticket', type: :request do # rubocop:disable Metrics/BlockLength
|
|
|
|
|
|
shared_examples 'fail to reopen a ticket' do
|
|
|
it 'fails' do
|
|
|
+ authenticated_as(user)
|
|
|
put "/api/v1/tickets/#{ticket.id}",
|
|
|
params: { state_id: Ticket::State.find_by(name: 'open').id },
|
|
|
as: :json
|
|
@@ -2111,32 +2113,44 @@ RSpec.describe 'Ticket', type: :request do # rubocop:disable Metrics/BlockLength
|
|
|
context 'when ticket.group.follow_up_possible = "yes"' do
|
|
|
before { ticket.group.update(follow_up_possible: 'yes') }
|
|
|
|
|
|
- context 'as admin', authenticated_as: :admin do
|
|
|
- include_examples 'successfully reopen a ticket'
|
|
|
+ context 'as admin' do
|
|
|
+ include_examples 'successfully reopen a ticket' do
|
|
|
+ let(:user) { admin }
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
- context 'as agent', authenticated_as: :agent do
|
|
|
- include_examples 'successfully reopen a ticket'
|
|
|
+ context 'as agent' do
|
|
|
+ include_examples 'successfully reopen a ticket' do
|
|
|
+ let(:user) { agent }
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
- context 'as customer', authenticated_as: :customer do
|
|
|
- include_examples 'successfully reopen a ticket'
|
|
|
+ context 'as customer' do
|
|
|
+ include_examples 'successfully reopen a ticket' do
|
|
|
+ let(:user) { customer }
|
|
|
+ end
|
|
|
end
|
|
|
end
|
|
|
|
|
|
context 'when ticket.group.follow_up_possible = "new_ticket"' do
|
|
|
before { ticket.group.update(follow_up_possible: 'new_ticket') }
|
|
|
|
|
|
- context 'as admin', authenticated_as: :admin do
|
|
|
- include_examples 'successfully reopen a ticket'
|
|
|
+ context 'as admin' do
|
|
|
+ include_examples 'successfully reopen a ticket' do
|
|
|
+ let(:user) { admin }
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
- context 'as agent', authenticated_as: :agent do
|
|
|
- include_examples 'successfully reopen a ticket'
|
|
|
+ context 'as agent' do
|
|
|
+ include_examples 'successfully reopen a ticket' do
|
|
|
+ let(:user) { agent }
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
- context 'as customer', authenticated_as: :customer do
|
|
|
- include_examples 'fail to reopen a ticket'
|
|
|
+ context 'as customer' do
|
|
|
+ include_examples 'fail to reopen a ticket' do
|
|
|
+ let(:user) { customer }
|
|
|
+ end
|
|
|
end
|
|
|
end
|
|
|
end
|