From 51f865e441ae4cab6e882e6501c38fbf1a35c3c6 Mon Sep 17 00:00:00 2001 From: Becky Reamy Date: Wed, 1 Jul 2020 15:48:29 -0400 Subject: [PATCH] KPMP-1919: Finished success page --- public/img/fail-kidneys.jpg | Bin 0 -> 23566 bytes public/img/happy-kidneys.jpg | Bin 0 -> 45386 bytes src/actions/Validation/validationActions.js | 31 ++++++ .../Validation/validationActions.test.js | 26 +++++ src/actions/actionNames.js | 8 +- .../Validation/FilenameValidationPage.js | 77 ++++++++------ .../FilenameValidationPageContainer.js | 8 ++ .../Validation/ValidationFailure.js | 23 +++++ .../Validation/ValidationSuccess.js | 95 ++++++++++++++++++ .../Validation/filenameValidationReducer.js | 15 +++ .../filenameValidationReducer.test.js | 25 +++++ src/index.css | 15 +++ src/index.scss | 21 +++- src/reducers.js | 6 +- 14 files changed, 315 insertions(+), 35 deletions(-) create mode 100644 public/img/fail-kidneys.jpg create mode 100644 public/img/happy-kidneys.jpg create mode 100644 src/actions/Validation/validationActions.js create mode 100644 src/actions/Validation/validationActions.test.js create mode 100644 src/components/Validation/ValidationFailure.js create mode 100644 src/components/Validation/ValidationSuccess.js create mode 100644 src/components/Validation/filenameValidationReducer.js create mode 100644 src/components/Validation/filenameValidationReducer.test.js diff --git a/public/img/fail-kidneys.jpg b/public/img/fail-kidneys.jpg new file mode 100644 index 0000000000000000000000000000000000000000..484bb3e0f1afd6a2f3c7a82d5e28b0e030d712be GIT binary patch literal 23566 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 V|E3TAe$D>7>G%J9AH&7OzW^cp43hu= literal 0 HcmV?d00001 diff --git a/public/img/happy-kidneys.jpg b/public/img/happy-kidneys.jpg new file mode 100644 index 0000000000000000000000000000000000000000..674907c68c31aa498cb2ae69f32bbdc08b59248e GIT binary patch literal 45386 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 b%9tb2bp1R0%YR9P@&EVx=UQ^9Pb2>VEaP0l literal 0 HcmV?d00001 diff --git a/src/actions/Validation/validationActions.js b/src/actions/Validation/validationActions.js new file mode 100644 index 0000000..9c0baca --- /dev/null +++ b/src/actions/Validation/validationActions.js @@ -0,0 +1,31 @@ +import actionNames from '../actionNames'; +import Api from '../../helpers/Api'; +import { sendMessageToBackend } from '../Error/errorActions'; + +const api = Api.getInstance(); + +export const setValidationResult = (result) => { + return { + type: actionNames.SET_VALIDATION_RESULT, + payload: result + } +} + +export const validateFilenames = (formData) => { + return (dispatch) => { + api.post('/api//v1/package/files/validation', formData) + .then(res => { + dispatch(setValidationResult(res.data)); + }) + .catch(error => { + console.log(error); + dispatch(sendMessageToBackend(error)); + }); + } +} + +export const clearValidationResult = () => { + return { + type: actionNames.CLEAR_VALIDATION_RESULT + } +} \ No newline at end of file diff --git a/src/actions/Validation/validationActions.test.js b/src/actions/Validation/validationActions.test.js new file mode 100644 index 0000000..49d96c6 --- /dev/null +++ b/src/actions/Validation/validationActions.test.js @@ -0,0 +1,26 @@ +import actionNames from '../actionNames'; +import { setValidationResult, clearValidationResult } from './validationActions'; + +describe('setValidationResult', () => { + it('should return the result in the correct structure', () => { + let expectedResult = { + type: actionNames.SET_VALIDATION_RESULT, + payload: { 'key': 'value' } + }; + + let result = setValidationResult({ 'key': 'value' }); + + expect(result).toEqual(expectedResult); + }); +}); +describe('clearValidationResult', () => { + it('should return the result in the correct structure', () => { + let expectedResult = { + type: actionNames.CLEAR_VALIDATION_RESULT + }; + + let result = clearValidationResult(); + + expect(result).toEqual(expectedResult); + }); +}); \ No newline at end of file diff --git a/src/actions/actionNames.js b/src/actions/actionNames.js index 819ab34..f00142c 100644 --- a/src/actions/actionNames.js +++ b/src/actions/actionNames.js @@ -1,7 +1,9 @@ const actionNames = { - RESET_STATE: 'RESET_STATE', - SET_PACKAGES: 'SET_PACKAGES', - GET_PACKAGES: 'GET_PACKAGES' + CLEAR_VALIDATION_RESULT: 'CLEAR_VALIDATION_RESULT', + GET_PACKAGES: 'GET_PACKAGES', + RESET_STATE: 'RESET_STATE', + SET_PACKAGES: 'SET_PACKAGES', + SET_VALIDATION_RESULT: 'SET_VALIDATION_RESULT' }; export default actionNames; diff --git a/src/components/Validation/FilenameValidationPage.js b/src/components/Validation/FilenameValidationPage.js index 71b017f..809ad99 100644 --- a/src/components/Validation/FilenameValidationPage.js +++ b/src/components/Validation/FilenameValidationPage.js @@ -1,5 +1,7 @@ import React, { Component } from 'react'; import { Container, Row, Col, Button } from 'reactstrap'; +import ValidationSuccess from './ValidationSuccess'; +import ValidationFailure from './ValidationFailure'; class FilenameValidationPage extends Component { @@ -9,6 +11,7 @@ class FilenameValidationPage extends Component { packageId: '', filenames: '' }; + this.props.clearValidationResult(); this.handleSubmit = this.handleSubmit.bind(this); } @@ -22,41 +25,57 @@ class FilenameValidationPage extends Component { handleSubmit(e) { e.preventDefault(); + this.props.validateFilenames(this.state); } render() { const { packageId, filenames } = this.state; const isEnabled = packageId.length > 0 && filenames.length > 0; - return ( - -
- - - - - - this.packageId = input} onChange={this.handlePackageIdChange}/> - - - - - - - -