123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- require 'rails_helper'
- RSpec.describe Gql::Mutations::System::Setup::Unlock, :aggregate_failures, type: :graphql do
- context 'when unlocking system setup' do
- let(:mutation) do
- <<~MUTATION
- mutation systemSetupUnlock($value: String!) {
- systemSetupUnlock(value: $value) {
- success
- errors {
- message
- field
- }
- }
- }
- MUTATION
- end
- let(:resource) { 'Zammad::System::Setup' }
- let(:value) { SecureRandom.uuid }
- let(:lock_info) { { resource: resource, value: value } }
- let(:variables) { { value: value } }
- it 'returns success true' do
- allow_any_instance_of(Redlock::Client).to receive(:locked?).with(resource).and_return(true)
- allow_any_instance_of(Redlock::Client).to receive(:unlock).with(lock_info).and_return(1)
- gql.execute(mutation, variables: variables)
- expect(gql.result.data).to include({ 'success' => true })
- end
- context 'when system setup is not locked' do
- it 'returns success false' do
- allow_any_instance_of(Redlock::Client).to receive(:locked?).with(resource).and_return(false)
- gql.execute(mutation, variables: variables)
- expect(gql.result.data).to include({ 'success' => false })
- end
- end
- end
- end
|