Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {
getDisplayedScores,
isActiveTestStatus,
getSubmissionTestProgress,
} from '../../../../../../src/shared/components/challenge-detail/MySubmissions/SubmissionsList';

Expand Down Expand Up @@ -68,3 +69,11 @@ describe('getSubmissionTestProgress', () => {
});
});
});

describe('isActiveTestStatus', () => {
it('keeps provisional scores hidden while tests are still running', () => {
expect(isActiveTestStatus('IN PROGRESS')).toBe(true);
expect(isActiveTestStatus('SUCCESS')).toBe(false);
expect(isActiveTestStatus('FAILED')).toBe(false);
});
});
2 changes: 2 additions & 0 deletions __tests__/shared/utils/mm-review-summations.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ describe('buildMmSubmissionData', () => {
testType: 'system',
},
reviewedDate: '2026-05-26T06:52:08.038Z',
updatedAt: '2026-05-26T07:00:00.000Z',
submissionId: 'submission-latest',
submitterHandle: 'topacc_four',
submitterId: '1004',
Expand Down Expand Up @@ -247,6 +248,7 @@ describe('buildMmSubmissionData', () => {
expect.objectContaining({ id: 'summation-example' }),
]),
submissionId: 'submission-latest',
submissionTime: '2026-05-26T06:02:59.385Z',
}),
]);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ class SubmissionsDetailView extends React.Component {
const { sortedSubmissions } = this.state;
const { isAccepted } = getSubmissionStatus(submission);
const finalStatusStyleName = isAccepted ? 'status-complete' : 'status-in-queue';
const finalStatusLabel = isAccepted ? 'Complete' : 'In Queue';
const finalStatusLabel = isAccepted ? 'Complete' : 'Preparing';

const { field, sort } = this.getSubmissionsSortParam();
const revertSort = (sort === 'desc') ? 'asc' : 'desc';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,17 @@ function normalizeTestStatus(value) {
return undefined;
}

/**
* Returns whether a Marathon Match test status still represents active testing.
*
* @param {String} status normalized test status from review summation metadata.
* @returns {Boolean} true when scoring should remain hidden until testing completes.
*/
export function isActiveTestStatus(status) {
const normalized = normalizeTestStatus(status);
return Boolean(normalized && ['FAILED', 'SUCCESS'].indexOf(normalized) < 0);
}

/**
* Normalizes Review API test progress metadata into the supported 0-to-1 range.
*
Expand Down Expand Up @@ -622,24 +633,27 @@ class SubmissionsListView extends React.Component {
{
sortedSubmissions.map((mySubmission) => {
let { finalScore, provisionalScore } = getDisplayedScores(mySubmission);
const testProgress = getSubmissionTestProgress(mySubmission);
const hideProvisionalScore = isActiveTestStatus(testProgress.status);
if (_.isNumber(finalScore)) {
if (finalScore > 0) {
finalScore = finalScore.toFixed(2);
}
} else {
finalScore = 'N/A';
}
if (_.isNumber(provisionalScore)) {
if (hideProvisionalScore) {
provisionalScore = '-';
} else if (_.isNumber(provisionalScore)) {
if (provisionalScore > 0) {
provisionalScore = provisionalScore.toFixed(2);
}
} else {
provisionalScore = 'N/A';
}
const { isAccepted } = getSubmissionStatus(mySubmission);
const testProgress = getSubmissionTestProgress(mySubmission);
const statusStyleName = isAccepted ? 'accepted' : 'queue';
const statusLabel = isAccepted ? 'Accepted' : 'In Queue';
const statusLabel = isAccepted ? 'Accepted' : 'Preparing';
const displaySubmissionId = getDisplaySubmissionId(mySubmission);
const submissionCreatedTime = getSubmissionCreatedTime(mySubmission);
const submissionTimeDisplay = submissionCreatedTime
Expand Down
14 changes: 6 additions & 8 deletions src/shared/utils/mm-review-summations.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,10 @@ function getSubmissionRating(submission) {

function getSubmissionTimestamp(submission) {
const candidates = [
_.get(submission, 'submissionTime'),
_.get(submission, 'submittedDate'),
_.get(submission, 'created'),
_.get(submission, 'createdAt'),
_.get(submission, 'reviewedDate'),
_.get(submission, 'updated'),
_.get(submission, 'updatedAt'),
_.get(submission, 'created'),
_.get(submission, 'submissionTime'),
];
return _.find(candidates, value => !!value) || null;
}
Expand Down Expand Up @@ -358,11 +355,12 @@ function updateSubmissionEntryFromSubmission(
let { submissionTime, latestTimestamp } = baseEntry;
let submissionIsLatest = baseEntry.isLatest;

if (timestamp) {
submissionTime = timestamp;
}

if (timestampValue > latestTimestamp) {
latestTimestamp = timestampValue;
submissionTime = timestamp || submissionTime;
} else if (!submissionTime && timestamp) {
submissionTime = timestamp;
}

if (!_.isNil(isLatest)) {
Expand Down
Loading