29 lines
769 B
Ruby
29 lines
769 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
require 'spec_helper'
|
||
|
|
||
|
describe Projects::Prometheus::Metrics::DestroyService do
|
||
|
let(:metric) { create(:prometheus_metric) }
|
||
|
|
||
|
subject { described_class.new(metric) }
|
||
|
|
||
|
it 'destroys metric' do
|
||
|
subject.execute
|
||
|
|
||
|
expect(PrometheusMetric.find_by(id: metric.id)).to be_nil
|
||
|
end
|
||
|
|
||
|
context 'when metric has a prometheus alert associated' do
|
||
|
it 'schedules a prometheus alert update' do
|
||
|
create(:prometheus_alert, project: metric.project, prometheus_metric: metric)
|
||
|
|
||
|
schedule_update_service = spy
|
||
|
allow(::Clusters::Applications::ScheduleUpdateService).to receive(:new).and_return(schedule_update_service)
|
||
|
|
||
|
subject.execute
|
||
|
|
||
|
expect(schedule_update_service).to have_received(:execute)
|
||
|
end
|
||
|
end
|
||
|
end
|