summaryrefslogtreecommitdiff
path: root/spec/services/clusters/agent_tokens/create_service_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/services/clusters/agent_tokens/create_service_spec.rb')
-rw-r--r--spec/services/clusters/agent_tokens/create_service_spec.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/services/clusters/agent_tokens/create_service_spec.rb b/spec/services/clusters/agent_tokens/create_service_spec.rb
index 92629af06c8..dc7abd1504b 100644
--- a/spec/services/clusters/agent_tokens/create_service_spec.rb
+++ b/spec/services/clusters/agent_tokens/create_service_spec.rb
@@ -47,6 +47,21 @@ RSpec.describe Clusters::AgentTokens::CreateService do
expect(token.name).to eq(params[:name])
end
+ it 'creates an activity event' do
+ expect { subject }.to change { ::Clusters::Agents::ActivityEvent.count }.by(1)
+
+ token = subject.payload[:token].reload
+ event = cluster_agent.activity_events.last
+
+ expect(event).to have_attributes(
+ kind: 'token_created',
+ level: 'info',
+ recorded_at: token.created_at,
+ user: token.created_by_user,
+ agent_token: token
+ )
+ end
+
context 'when params are invalid' do
let(:params) { { agent_id: 'bad_id' } }
@@ -54,6 +69,10 @@ RSpec.describe Clusters::AgentTokens::CreateService do
expect { subject }.not_to change(::Clusters::AgentToken, :count)
end
+ it 'does not create an activity event' do
+ expect { subject }.not_to change { ::Clusters::Agents::ActivityEvent.count }
+ end
+
it 'returns validation errors', :aggregate_failures do
expect(subject.status).to eq(:error)
expect(subject.message).to eq(["Agent must exist", "Name can't be blank"])