32 lines
1,011 B
Ruby
32 lines
1,011 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe Gitlab::Ci::Reports::TestFailureHistory, :aggregate_failures do
|
|
include TestReportsHelper
|
|
|
|
describe '#load!' do
|
|
let_it_be(:project) { create(:project) }
|
|
let(:failed_rspec) { create_test_case_rspec_failed }
|
|
let(:failed_java) { create_test_case_java_failed }
|
|
|
|
subject(:load_history) { described_class.new([failed_rspec, failed_java], project).load! }
|
|
|
|
before do
|
|
allow(Ci::TestCaseFailure)
|
|
.to receive(:recent_failures_count)
|
|
.with(project: project, test_case_keys: [failed_rspec.key, failed_java.key])
|
|
.and_return(
|
|
failed_rspec.key => 2,
|
|
failed_java.key => 1
|
|
)
|
|
end
|
|
|
|
it 'sets the recent failures for each matching failed test case in all test suites' do
|
|
load_history
|
|
|
|
expect(failed_rspec.recent_failures).to eq(count: 2, base_branch: 'master')
|
|
expect(failed_java.recent_failures).to eq(count: 1, base_branch: 'master')
|
|
end
|
|
end
|
|
end
|