Commit 84f24dce authored by Phil Hughes's avatar Phil Hughes

Merge branch '49966-improve-junit-fe' into 'master'

Resolve "Improve JUnit support"

See merge request gitlab-org/gitlab-ce!21067
parents f3b36ac1 0f0e70bc
......@@ -69,7 +69,7 @@
return (
report.existing_failures.length > 0 ||
report.new_failures.length > 0 ||
report.resolved_failures > 0
report.resolved_failures.length > 0
);
},
},
......
......@@ -9,6 +9,8 @@ export default {
state.isLoading = true;
},
[types.RECEIVE_REPORTS_SUCCESS](state, response) {
// Make sure to clean previous state in case it was an error
state.hasError = false;
state.isLoading = false;
......
---
title: Renders test reports for resolved failures and resets error state
merge_request:
author:
type: fixed
......@@ -7,6 +7,7 @@ import mountComponent from '../../helpers/vue_mount_component_helper';
import newFailedTestReports from '../mock_data/new_failures_report.json';
import successTestReports from '../mock_data/no_failures_report.json';
import mixedResultsTestReports from '../mock_data/new_and_fixed_failures_report.json';
import resolvedFailures from '../mock_data/resolved_failures.json';
describe('Grouped Test Reports App', () => {
let vm;
......@@ -123,6 +124,41 @@ describe('Grouped Test Reports App', () => {
});
});
describe('with resolved failures', () => {
beforeEach(() => {
mock.onGet('test_results.json').reply(200, resolvedFailures, {});
vm = mountComponent(Component, {
endpoint: 'test_results.json',
});
});
it('renders summary text', done => {
setTimeout(() => {
expect(vm.$el.querySelector('.fa-spinner')).toBeNull();
expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual(
'Test summary contained 2 fixed test results out of 11 total tests',
);
expect(vm.$el.textContent).toContain(
'rspec:pg found 2 fixed test results out of 8 total tests',
);
done();
}, 0);
});
it('renders resolved failures', done => {
setTimeout(() => {
expect(vm.$el.querySelector('.js-mr-code-resolved-issues').textContent).toContain(
resolvedFailures.suites[0].resolved_failures[0].name,
);
expect(vm.$el.querySelector('.js-mr-code-resolved-issues').textContent).toContain(
resolvedFailures.suites[0].resolved_failures[1].name,
);
done();
}, 0);
});
});
describe('with error', () => {
beforeEach(() => {
mock.onGet('test_results.json').reply(500, {}, {});
......
{
"status": "success",
"summary": { "total": 11, "resolved": 2, "failed": 0 },
"suites": [
{
"name": "rspec:pg",
"status": "success",
"summary": { "total": 8, "resolved": 2, "failed": 0 },
"new_failures": [],
"resolved_failures": [
{
"status": "success",
"name": "Test#sum when a is 1 and b is 2 returns summary",
"execution_time": 0.000411,
"system_output": null,
"stack_trace": null
},
{
"status": "success",
"name": "Test#sum when a is 100 and b is 200 returns summary",
"execution_time": 7.6e-5,
"system_output": null,
"stack_trace": null
}
],
"existing_failures": []
},
{
"name": "java ant",
"status": "success",
"summary": { "total": 3, "resolved": 0, "failed": 0 },
"new_failures": [],
"resolved_failures": [],
"existing_failures": []
}
]
}
......@@ -72,6 +72,10 @@ describe('Reports Store Mutations', () => {
expect(stateCopy.isLoading).toEqual(false);
});
it('should reset hasError', () => {
expect(stateCopy.hasError).toEqual(false);
});
it('should set summary counts', () => {
expect(stateCopy.summary.total).toEqual(mockedResponse.summary.total);
expect(stateCopy.summary.resolved).toEqual(mockedResponse.summary.resolved);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment