diff --git a/src/config/projectQuestions/crowd_testing.v1.0.js b/src/config/projectQuestions/crowd_testing.v1.0.js index f59c0a71e..50e77da8a 100644 --- a/src/config/projectQuestions/crowd_testing.v1.0.js +++ b/src/config/projectQuestions/crowd_testing.v1.0.js @@ -1,8 +1,11 @@ import _ from 'lodash' +import React from 'react' import { Icons } from 'appirio-tech-react-components' -import NumberText from '../../components/NumberText/NumberText' +import SVGIconImage from '../../components/SVGIconImage' +// import NumberText from '../../components/NumberText/NumberText' import { findProduct} from '../projectWizard' + const isFileRequired = (project, subSections) => { const subSection = _.find(subSections, (s) => s.type === 'questions') const fields = _.filter(subSection.questions, q => q.type.indexOf('see-attached') > -1) @@ -54,56 +57,46 @@ const sections = [ fieldName: 'details.appDefinition.testType', type: 'tiled-radio-group', options: [ - {value: 'unstructured', title: 'Unstructured', icon: Icons.IconTechOutlineMobile, iconOptions: { fill: '#00000'}, desc: ''}, - {value: 'structured', title: 'Structured', icon: Icons.IconTechOutlineTablet, iconOptions: { fill: '#00000'}, desc: ''}, - {value: 'dontKnow', title: 'Do not know', icon: 'icon-dont-know', iconOptions: { fill: '#00000'}, desc: ''} + {value: 'unstructured', title: 'Unstructured', icon: SVGIconImage, iconOptions: { filePath: 'icon-test-unstructured', fill: '#00000'}, desc: ''}, + {value: 'structured', title: 'Structured', icon: SVGIconImage, iconOptions: { filePath: 'icon-test-structured', fill: '#00000'}, desc: ''}, + {value: 'dontKnow', title: 'Do not know', icon: SVGIconImage, iconOptions: { filePath: 'icon-dont-know', fill: '#00000'}, desc: ''} ] }, { icon: 'question', required: true, - validationError: 'Please let us know the expected hours', - title: 'Approximately how many hours of crowd testing are you \ - looking for your app?', - description: 'If you know roughly the amount of time you want spent \ - testing the application please list it here. If you do \ - not know how many hours you require your copilot can \ - assist you.', + validationError: 'Please let us know if you have test cases.', + title: 'Do you have test cases written?', + description: 'Do you have test cases you would like executed? These are essential when running structured testing and optional for unstructured testing. If you are planning a structured test cycle and do not have test cases do not worry, we can help!', fieldName: 'details.appDefinition.expectedHours', - type: 'tiled-radio-group', + type: 'radio-group', options: [ - {value: 'upto100', title: 'hours', icon: NumberText, iconOptions: { number: '100' }, desc: 'or fewer'}, - {value: 'upTo250', title: 'hours', icon: NumberText, iconOptions: { number: '250' }, desc: 'or fewer'}, - {value: 'upTo500', title: 'hours', icon: NumberText, iconOptions: { number: '500' }, desc: 'or fewer'}, - {value: 'dontKnow', title: 'Do not know', icon: 'icon-dont-know', iconOptions: { fill: '#00000'}, desc: 'or not applicable'} + {value: 'true', label: 'Yes I have test cases.'}, + {value: 'false', label: 'No I do not have test cases.'} ] }, { icon: 'question', - title: 'In which geographies would you like to test?', - description: '', - type: 'checkbox-group', - options: [ - {value: 'africa', label: 'Africa'}, - {value: 'asia', label: 'Asia'}, - {value: 'australia', label: 'Australia'}, - {value: 'europe', label: 'Europe'}, - {value: 'northAmerica', label: 'North America'}, - {value: 'southAmerica', label: 'South America'} - ], - fieldName: 'details.appDefinition.geographies' + title: 'Please tell us about your users.', + description: 'Please share information about your end users. Where are they from? What is their goal? This information can help you find the best testers for your application.', + type: 'textbox', + fieldName: 'details.appDefinition.userInfo' }, { icon: 'question', - title: 'Approximately how many platform/device - browser configurations to be tested?', - description: '', - fieldName: 'details.appDefinition.browserConfigurations', + title: 'Which is your primary device target?', + description: 'Select only the device that you need to develop for. \ + In most cases limiting the scope of your project would result \ + in better final result. Topcoder recommends to always start \ + with the mobile phone view and expand to other devices as your \ + app matures.', + fieldName: 'details.appDefinition.primaryTarget', type: 'tiled-radio-group', options: [ - {value: 'upto5', title: 'configurations', icon: NumberText, iconOptions: { number: '5' }, desc: 'or fewer'}, - {value: 'upTo10', title: 'configurations', icon: NumberText, iconOptions: { number: '10' }, desc: 'or fewer'}, - {value: 'upTo20', title: 'configurations', icon: NumberText, iconOptions: { number: '20' }, desc: 'or fewer'}, - {value: 'dontKnow', title: 'Do not know', icon: Icons.IconTechOutlineWatchApple, iconOptions: { fill: '#00000'}, desc: 'We will find the best fit for you.'} + {value: 'phone', title: 'Phone', icon: Icons.IconTechOutlineMobile, iconOptions: { fill: '#00000'}, desc: 'iOS, Android, Hybrid'}, + {value: 'tablet', title: 'Tablet', icon: Icons.IconTechOutlineTablet, iconOptions: { fill: '#00000'}, desc: 'iOS, Android, Hybrid'}, + {value: 'desktop', title: 'Desktop', icon: Icons.IconTechOutlineDesktop, iconOptions: { fill: '#00000'}, desc: 'all OS'}, + {value: 'wearable', title: 'Wearable', icon: Icons.IconTechOutlineWatchApple, iconOptions: { fill: '#00000'}, desc: 'Watch OS, Android Wear'} ] } ] @@ -282,46 +275,49 @@ export const basicSections = [ fieldName: 'details.appDefinition.testType', type: 'tiled-radio-group', options: [ - {value: 'unstructured', title: 'Unstructured', icon: Icons.IconTechOutlineMobile, iconOptions: { fill: '#00000'}, desc: ''}, - {value: 'structured', title: 'Structured', icon: Icons.IconTechOutlineTablet, iconOptions: { fill: '#00000'}, desc: ''}, - {value: 'dontKnow', title: 'Do not know', icon: 'icon-dont-know', iconOptions: { fill: '#00000'}, desc: ''} + {value: 'unstructured', title: 'Unstructured', icon: SVGIconImage, iconOptions: { filePath: 'icon-test-unstructured', fill: '#00000'}, desc: ''}, + {value: 'structured', title: 'Structured', icon: SVGIconImage, iconOptions: { filePath: 'icon-test-structured', fill: '#00000'}, desc: ''}, + {value: 'dontKnow', title: 'Do not know', icon: SVGIconImage, iconOptions: { filePath: 'icon-dont-know', fill: '#00000'}, desc: ''} ] }, { icon: 'question', required: true, - validationError: 'Please let us know the expected hours', - title: 'Approximately how many hours of crowd testing are you \ - looking for your app?', - description: 'If you know roughly the amount of time you want spent \ - testing the application please list it here. If you do \ - not know how many hours you require your copilot can \ - assist you.', + validationError: 'Please let us know if you have test cases.', + title: 'Do you have test cases written?', + description: 'Do you have test cases you would like executed? These are essential when running structured testing and optional for unstructured testing. If you are planning a structured test cycle and do not have test cases do not worry, we can help!', fieldName: 'details.appDefinition.expectedHours', - type: 'tiled-radio-group', + type: 'radio-group', options: [ - {value: 'upto100', title: 'hours', icon: NumberText, iconOptions: { number: '100' }, desc: 'or fewer'}, - {value: 'upTo250', title: 'hours', icon: NumberText, iconOptions: { number: '250' }, desc: 'or fewer'}, - {value: 'upTo500', title: 'hours', icon: NumberText, iconOptions: { number: '500' }, desc: 'or fewer'}, - {value: 'dontKnow', title: 'Do not know', icon: 'icon-dont-know', iconOptions: { fill: '#00000'}, desc: 'or not applicable'} + {value: 'true', label: 'Yes I have test cases.'}, + {value: 'false', label: 'No I do not have test cases.'} ] }, { icon: 'question', - title: 'In which geographies would you like to test?', - description: '', - type: 'checkbox-group', - options: [ - {value: 'africa', label: 'Africa'}, - {value: 'asia', label: 'Asia'}, - {value: 'australia', label: 'Australia'}, - {value: 'europe', label: 'Europe'}, - {value: 'northAmerica', label: 'North America'}, - {value: 'southAmerica', label: 'South America'} - ], - fieldName: 'details.appDefinition.geographies' + title: 'Please tell us about your users.', + description: 'Please share information about your end users. Where are they from? What is their goal? This information can help you find the best testers for your application.', + type: 'textbox', + fieldName: 'details.appDefinition.userInfo' }, { + icon: 'question', + title: 'Which is your primary device target?', + description: 'Select only the device that you need to develop for. \ + In most cases limiting the scope of your project would result \ + in better final result. Topcoder recommends to always start \ + with the mobile phone view and expand to other devices as your \ + app matures.', + fieldName: 'details.appDefinition.primaryTarget', + type: 'tiled-radio-group', + options: [ + {value: 'phone', title: 'Phone', icon: Icons.IconTechOutlineMobile, iconOptions: { fill: '#00000'}, desc: 'iOS, Android, Hybrid'}, + {value: 'tablet', title: 'Tablet', icon: Icons.IconTechOutlineTablet, iconOptions: { fill: '#00000'}, desc: 'iOS, Android, Hybrid'}, + {value: 'desktop', title: 'Desktop', icon: Icons.IconTechOutlineDesktop, iconOptions: { fill: '#00000'}, desc: 'all OS'}, + {value: 'wearable', title: 'Wearable', icon: Icons.IconTechOutlineWatchApple, iconOptions: { fill: '#00000'}, desc: 'Watch OS, Android Wear'} + ] + } + /*{ icon: 'question', title: 'Approximately how many platform/device - browser configurations to be tested?', description: '', @@ -331,10 +327,10 @@ export const basicSections = [ {value: 'upto5', title: 'configurations', icon: NumberText, iconOptions: { number: '5' }, desc: 'or fewer'}, {value: 'upTo10', title: 'configurations', icon: NumberText, iconOptions: { number: '10' }, desc: 'or fewer'}, {value: 'upTo20', title: 'configurations', icon: NumberText, iconOptions: { number: '20' }, desc: 'or fewer'}, - {value: 'dontKnow', title: 'Do not know', icon: Icons.IconTechOutlineWatchApple, iconOptions: { fill: '#00000'}, desc: 'We will find the best fit for you.'} + {value: 'dontKnow', title: 'Do not know', icon: SVGIconImage, iconOptions: { filePath: 'icon-dont-know', fill: '#00000'}, desc: 'We will find the best fit for you.'} ] } - /*{ + { id: 'projectInfo', required: true, validationError: 'Please provide any user accounts \