Skip to content

Commit ca2ce67

Browse files
committed
Test for delete changes
#6616
1 parent 8979873 commit ca2ce67

File tree

2 files changed

+31
-11
lines changed

2 files changed

+31
-11
lines changed

src/shared/containers/SubmissionManagement/index.jsx

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import smpActions from '../../actions/page/submission_management';
2222

2323
const { getService } = services.submissions;
2424

25-
const TIME_DELAY = 750;
2625
const theme = {
2726
container: style.modalContainer,
2827
};
@@ -34,6 +33,8 @@ class SubmissionManagementPageContainer extends React.Component {
3433

3534
this.state = {
3635
needReload: false,
36+
initialState: true,
37+
submissions: [],
3738
};
3839
}
3940

@@ -76,13 +77,30 @@ class SubmissionManagementPageContainer extends React.Component {
7677

7778
componentDidUpdate(prevProps) {
7879
const {
79-
loadMySubmissions, authTokens, deletionSucceed, challengeId,
80+
deletionSucceed,
81+
toBeDeletedId,
82+
mySubmissions,
8083
} = this.props;
84+
const { initialState } = this.state;
85+
86+
if (initialState && mySubmissions) {
87+
// eslint-disable-next-line react/no-did-update-set-state
88+
this.setState({
89+
submissions: [...mySubmissions],
90+
initialState: false,
91+
});
92+
return;
93+
}
94+
const { submissions } = this.state;
8195

8296
if (deletionSucceed !== prevProps.deletionSucceed) {
83-
setTimeout(() => {
84-
loadMySubmissions(authTokens, challengeId);
85-
}, TIME_DELAY);
97+
_.remove(submissions, submission => (
98+
submission.id === toBeDeletedId
99+
));
100+
// eslint-disable-next-line react/no-did-update-set-state
101+
this.setState({
102+
submissions,
103+
});
86104
}
87105
}
88106

@@ -96,7 +114,6 @@ class SubmissionManagementPageContainer extends React.Component {
96114
loadingSubmissionsForChallengeId,
97115
submissionPhaseStartDate,
98116
isLoadingChallenge,
99-
mySubmissions,
100117
onCancelSubmissionDelete,
101118
onShowDetails,
102119
onSubmissionDelete,
@@ -105,6 +122,9 @@ class SubmissionManagementPageContainer extends React.Component {
105122
showModal,
106123
toBeDeletedId,
107124
} = this.props;
125+
126+
const { submissions } = this.state;
127+
108128
if (!challenge.isRegistered) return <AccessDenied redirectLink={`${challengesUrl}/${challenge.id}`} cause={ACCESS_DENIED_REASON.HAVE_NOT_SUBMITTED_TO_THE_CHALLENGE} />;
109129

110130
const isEmpty = _.isEmpty(challenge);
@@ -139,7 +159,7 @@ class SubmissionManagementPageContainer extends React.Component {
139159
challenge={challenge}
140160
challengesUrl={challengesUrl}
141161
loadingSubmissions={Boolean(loadingSubmissionsForChallengeId)}
142-
submissions={mySubmissions}
162+
submissions={submissions}
143163
showDetails={showDetails}
144164
submissionPhaseStartDate={submissionPhaseStartDate}
145165
{...smConfig}

src/shared/reducers/page/submission_management.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ function create(initialState = {}) {
3232
deletionSucceed: false,
3333
}),
3434

35-
'SMP/DELETE_SUBMISSION_INIT': state => ({
35+
'SMP/DELETE_SUBMISSION_INIT': (state, { payload }) => ({
3636
...state,
3737
deletingSubmission: false,
3838
deletionSucceed: false,
3939
showModal: false,
40-
toBeDeletedId: '',
40+
toBeDeletedId: payload,
4141
}),
4242

4343
'SMP/DELETE_SUBMISSION_FAIL': state => ({
@@ -48,11 +48,11 @@ function create(initialState = {}) {
4848
deletionSucceed: true,
4949
}),
5050

51-
'SMP/DELETE_SUBMISSION_DONE': state => ({
51+
'SMP/DELETE_SUBMISSION_DONE': (state, { payload }) => ({
5252
...state,
5353
deletingSubmission: false,
5454
showModal: false,
55-
toBeDeletedId: '',
55+
toBeDeletedId: payload,
5656
deletionSucceed: true,
5757
}),
5858

0 commit comments

Comments
 (0)