Skip to content

Commit

Permalink
fix(gui): accept all should not save errored tests
Browse files Browse the repository at this point in the history
  • Loading branch information
DudaGod committed Apr 6, 2018
1 parent 44bc01a commit 811ec68
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 9 deletions.
9 changes: 3 additions & 6 deletions lib/static/components/section/body.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@ import ControlButton from '../controls/button';
import State from '../state';
import * as actions from '../../modules/actions';
import {isSuccessStatus, isFailStatus, isErroredStatus} from '../../../common-utils';
import {getCommonErrors} from '../../../constants/errors';

const {NO_REF_IMAGE_ERROR} = getCommonErrors();
import {isAcceptable} from '../../modules/utils';

class SectionBrowserBody extends Component {
static propTypes = {
Expand Down Expand Up @@ -55,9 +53,8 @@ class SectionBrowserBody extends Component {

_addExtraButtons(activeResult) {
const {gui, running} = this.props;
const {status, reason} = activeResult;
const stack = reason && reason.stack;
const acceptDisabled = !(isErroredStatus(status) && stack.startsWith(NO_REF_IMAGE_ERROR) || isFailStatus(status));
const {status} = activeResult;
const acceptDisabled = !isAcceptable(activeResult);
const retryDisabled = running || isSuccessStatus(status) || (!isFailStatus(status) && !isErroredStatus(status));

return gui
Expand Down
18 changes: 15 additions & 3 deletions lib/static/modules/actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import axios from 'axios';
import {assign, filter, flatMap, set, cloneDeep} from 'lodash';
import actionNames from './action-names';
import {QUEUED} from '../../constants/test-statuses';
import {isSuiteFailed} from './utils';
import {isSuiteFailed, isAcceptable} from './utils';

const localStorage = window.localStorage;

Expand Down Expand Up @@ -55,6 +55,10 @@ export const retryTest = (suite, browserId = null) => {
};

export const acceptAll = (fails, actionName = actionNames.ACCEPT_ALL) => {
if (actionName === actionNames.ACCEPT_ALL) {
fails = filterAcceptableBrowsers([].concat(fails));
}

const formattedFails = flatMap([].concat(fails), formatTests);

return async (dispatch) => {
Expand Down Expand Up @@ -123,12 +127,20 @@ function formatTests(test) {
});
}

function filterFailedBrowsers(suites = []) {
function filterBrowsers(suites = [], filterFn) {
const modifySuite = (suite) => {
return suite.children
? flatMap(suite.children, modifySuite)
: set(suite, 'browsers', filter(suite.browsers, ({result}) => isSuiteFailed(result)));
: set(suite, 'browsers', filter(suite.browsers, ({result}) => filterFn(result)));
};

return flatMap(cloneDeep(suites), modifySuite);
}

function filterFailedBrowsers(suites = []) {
return filterBrowsers(suites, isSuiteFailed);
}

function filterAcceptableBrowsers(suites = []) {
return filterBrowsers(suites, isAcceptable);
}
10 changes: 10 additions & 0 deletions lib/static/modules/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

const {isArray, find, get, values} = require('lodash');
const {isSuccessStatus, isFailStatus, isErroredStatus, isSkippedStatus, isUpdatedStatus} = require('../../common-utils');
const {getCommonErrors} = require('../../constants/errors');

const {NO_REF_IMAGE_ERROR} = getCommonErrors();

function hasFails(node) {
const {result} = node;
Expand All @@ -14,6 +17,12 @@ function isSuiteFailed(suite) {
return isFailStatus(suite.status) || isErroredStatus(suite.status);
}

function isAcceptable({status, reason = ''}) {
const stack = reason && reason.stack;

return isErroredStatus(status) && stack.startsWith(NO_REF_IMAGE_ERROR) || isFailStatus(status);
}

function hasRetries(node) {
const isRetried = node.retries && node.retries.length;
return isRetried || walk(node, hasRetries);
Expand Down Expand Up @@ -89,6 +98,7 @@ function setStatusForBranch(nodes, suitePath, status) {
module.exports = {
hasFails,
isSuiteFailed,
isAcceptable,
hasRetries,
allSkipped,
findNode,
Expand Down

0 comments on commit 811ec68

Please sign in to comment.