summaryrefslogtreecommitdiff
path: root/spec/serializers/merge_request_widget_entity_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/serializers/merge_request_widget_entity_spec.rb')
-rw-r--r--spec/serializers/merge_request_widget_entity_spec.rb61
1 files changed, 3 insertions, 58 deletions
diff --git a/spec/serializers/merge_request_widget_entity_spec.rb b/spec/serializers/merge_request_widget_entity_spec.rb
index d2072198d83..b591cf6dd4b 100644
--- a/spec/serializers/merge_request_widget_entity_spec.rb
+++ b/spec/serializers/merge_request_widget_entity_spec.rb
@@ -36,76 +36,21 @@ describe MergeRequestWidgetEntity do
end
describe 'metrics' do
- context 'when metrics record exists with merged data' do
- before do
- resource.mark_as_merged!
- resource.metrics.update!(merged_by: user)
- end
-
- it 'matches merge request metrics schema' do
- expect(subject[:metrics].with_indifferent_access)
- .to match_schema('entities/merge_request_metrics')
- end
-
- it 'returns values from metrics record' do
- expect(subject.dig(:metrics, :merged_by, :id))
- .to eq(resource.metrics.merged_by_id)
- end
- end
-
- context 'when metrics record exists with closed data' do
- before do
- resource.close!
- resource.metrics.update!(latest_closed_by: user)
- end
-
+ context 'when metrics record exists' do
it 'matches merge request metrics schema' do
expect(subject[:metrics].with_indifferent_access)
.to match_schema('entities/merge_request_metrics')
end
-
- it 'returns values from metrics record' do
- expect(subject.dig(:metrics, :closed_by, :id))
- .to eq(resource.metrics.latest_closed_by_id)
- end
end
context 'when metrics does not exists' do
before do
- resource.mark_as_merged!
resource.metrics.destroy!
resource.reload
end
- context 'when events exists' do
- let!(:closed_event) { create(:event, :closed, project: project, target: resource) }
- let!(:merge_event) { create(:event, :merged, project: project, target: resource) }
-
- it 'matches merge request metrics schema' do
- expect(subject[:metrics].with_indifferent_access)
- .to match_schema('entities/merge_request_metrics')
- end
-
- it 'returns values from events record' do
- expect(subject.dig(:metrics, :merged_by, :id))
- .to eq(merge_event.author_id)
-
- expect(subject.dig(:metrics, :closed_by, :id))
- .to eq(closed_event.author_id)
-
- expect(subject.dig(:metrics, :merged_at).to_s)
- .to eq(merge_event.updated_at.to_s)
-
- expect(subject.dig(:metrics, :closed_at).to_s)
- .to eq(closed_event.updated_at.to_s)
- end
- end
-
- context 'when events does not exists' do
- it 'matches merge request metrics schema' do
- expect(subject[:metrics].with_indifferent_access)
- .to match_schema('entities/merge_request_metrics')
- end
+ it 'returns nil' do
+ expect(subject[:metrics]).to be_nil
end
end
end