Skip to content

Commit

Permalink
Merge pull request #494 from CBIIT/CRDCDH-1674
Browse files Browse the repository at this point in the history
CRDCDH-1674 Update Submit button logic for Admin Submit
  • Loading branch information
amattu2 authored Oct 15, 2024
2 parents c7d44b5 + 3b78171 commit d0431eb
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 21 deletions.
17 changes: 4 additions & 13 deletions src/config/SubmitButtonConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,30 +60,30 @@ export const SUBMIT_BUTTON_CONDITIONS: SubmitButtonCondition[] = [
preConditionCheck: (s) => s.intention === "Delete",
check: (s) => !!s.metadataValidationStatus,
tooltip: TOOLTIP_TEXT.SUBMISSION_ACTIONS.SUBMIT.DISABLED.NEW_DATA_OR_VALIDATION_ERRORS,
required: false,
required: true,
},
{
_identifier: "Metadata validation should be initialized for 'Metadata Only' submissions",
preConditionCheck: (s) => s.dataType === "Metadata Only",
check: (s) => !!s.metadataValidationStatus,
tooltip: TOOLTIP_TEXT.SUBMISSION_ACTIONS.SUBMIT.DISABLED.NEW_DATA_OR_VALIDATION_ERRORS,
required: false,
required: true,
},
{
_identifier:
"Data file validation should be initialized for 'Metadata and Data Files' submissions",
preConditionCheck: (s) => s.dataType === "Metadata and Data Files",
check: (s) => !!s.fileValidationStatus,
tooltip: TOOLTIP_TEXT.SUBMISSION_ACTIONS.SUBMIT.DISABLED.MISSING_DATA_FILE,
required: false,
required: true,
},
{
_identifier:
"Metadata validation should be initialized for 'Metadata and Data Files' submissions",
preConditionCheck: (s) => s.dataType === "Metadata and Data Files",
check: (s) => !!s.metadataValidationStatus,
tooltip: TOOLTIP_TEXT.SUBMISSION_ACTIONS.SUBMIT.DISABLED.NEW_DATA_OR_VALIDATION_ERRORS,
required: false,
required: true,
},
{
_identifier: "There should be no validation errors for metadata or data files",
Expand All @@ -104,13 +104,4 @@ export const ADMIN_OVERRIDE_CONDITIONS: AdminOverrideCondition[] = [
check: (s) => s.metadataValidationStatus === "Error" || s.fileValidationStatus === "Error",
tooltip: undefined,
},
{
_identifier:
"Admin Override - Submission is missing either metadata or data files for 'Metadata and Data Files' submissions",
check: (s) =>
(!!s.metadataValidationStatus && !s.fileValidationStatus) ||
(!s.metadataValidationStatus && !!s.fileValidationStatus),
preConditionCheck: (s) => s.dataType === "Metadata and Data Files",
tooltip: undefined,
},
];
16 changes: 8 additions & 8 deletions src/utils/dataSubmissionUtils.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -349,15 +349,15 @@ describe("Admin Submit", () => {
expect(result.isAdminOverride).toBe(false);
});

it("should allow admin override when metadata is passed but file validation is null", () => {
it("should not allow admin override when metadata is passed but file validation is null", () => {
const submission: Submission = {
...baseSubmission,
metadataValidationStatus: "Passed",
fileValidationStatus: null,
};
const result = utils.shouldEnableSubmit(submission, "Admin");
expect(result.enabled).toBe(true);
expect(result.isAdminOverride).toBe(true);
expect(result.enabled).toBe(false);
expect(result.isAdminOverride).toBe(false);
});

it("should not enable submit when both validations are null", () => {
Expand All @@ -373,6 +373,7 @@ describe("Admin Submit", () => {
it("should allow admin override when file validation is null and intention is 'Delete'", () => {
const submission: Submission = {
...baseSubmission,
dataType: "Metadata Only",
metadataValidationStatus: "Error",
fileValidationStatus: null,
intention: "Delete",
Expand Down Expand Up @@ -437,6 +438,7 @@ describe("Admin Submit", () => {
it("should allow submit with isAdminOverride when metadata validation is 'Error', file validation is null, and intention is 'Delete'", () => {
const submission: Submission = {
...baseSubmission,
dataType: "Metadata Only",
metadataValidationStatus: "Error",
fileValidationStatus: null,
intention: "Delete",
Expand Down Expand Up @@ -514,14 +516,12 @@ describe("shouldAllowAdminOverride", () => {
it("should check condition if preConditionCheck is met", () => {
const submission: Submission = {
...baseSubmission,
dataType: "Metadata and Data Files",
metadataValidationStatus: "Passed",
dataType: "Metadata Only",
metadataValidationStatus: "Error",
fileValidationStatus: null,
};
const result = utils.shouldAllowAdminOverride(submission);
expect(result._identifier).toBe(
"Admin Override - Submission is missing either metadata or data files for 'Metadata and Data Files' submissions"
);
expect(result._identifier).toBe("Admin Override - Submission has validation errors");
expect(result.enabled).toBe(true);
expect(result.isAdminOverride).toBe(true);
});
Expand Down

0 comments on commit d0431eb

Please sign in to comment.