From 2676cd632323493ba7c4c7684f215ad91144dc3b Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 11 Sep 2017 10:49:32 -0700 Subject: [PATCH 01/31] Implements all linting fixes from merge Many changes from following branches into one 1. serafin-1082 1. serafin-1082-attempt-2 1. patrick-serafin-1082 1. jorge-serafin-1082 1. serafin-1082-attempt-3 1. merge-test --- app.env.encrypted | 1 - metautil/autoloadscript.js | 85 +++++++++ npm-shrinkwrap.json | 74 ++++---- package.json | 2 - src/common/actions/app.js | 6 +- src/common/actions/auth.js | 4 +- src/common/actions/types/index.js | 172 +++++++++--------- .../SurveyFormInputSliderGroup.test.js | 6 +- src/common/containers/RetroSurvey/index.jsx | 2 +- src/common/models/survey.js | 2 +- .../util/__tests__/getAvatarImageURL.test.js | 2 +- .../__tests__/assertSurveyIsComplete.test.js | 3 + .../__tests__/createPoolsForCycle.test.js | 2 +- .../__tests__/saveSurveyResponse.test.js | 2 +- src/server/actions/addMemberToPoolInCycle.js | 2 +- src/server/actions/compileSurveyData.js | 4 +- src/server/actions/createPoolsForCycle.js | 2 +- src/server/actions/deactivateUser.js | 2 +- .../actions/findActiveMembersForPhase.js | 2 +- .../actions/findActiveMembersInChapter.js | 2 +- .../findActiveVotingMembersInChapter.js | 2 +- src/server/actions/findUsers.js | 2 +- src/server/actions/formProjects.js | 4 +- src/server/actions/getChapter.js | 9 +- src/server/actions/getCycleVotingResults.js | 8 +- src/server/actions/getUser.js | 2 +- src/server/actions/importProject.js | 6 +- .../commands/__tests__/cycle.test.js | 4 +- src/server/cliCommand/commands/cycle.js | 4 +- src/server/cliCommand/commands/playbook.js | 2 +- src/server/cliCommand/commands/profile.js | 2 +- src/server/cliCommand/commands/project.js | 4 +- src/server/cliCommand/commands/retro.js | 2 +- src/server/cliCommand/commands/vote.js | 9 +- .../util/processStateChangefeed.js | 2 +- src/server/graphql/mutations/index.js | 27 ++- src/server/graphql/queries/index.js | 44 ++++- src/server/graphql/schemas/index.js | 80 +++++++- src/server/render.jsx | 2 +- src/server/server.js | 2 +- .../__tests__/createDirectMessage.test.js | 2 +- .../__tests__/getChannelList.test.js | 2 +- .../chatService/__tests__/getUserList.test.js | 2 +- .../__tests__/inviteToChannel.test.js | 2 +- src/server/services/dataService/index.js | 118 +++++++++++- .../services/dataService/models/index.js | 32 +++- .../queries/getSurveyBlueprintByDescriptor.js | 2 +- .../services/dataService/queries/index.js | 78 +++++++- .../services/goalLibraryService/index.js | 4 +- .../projectFormationService/lib/errors.js | 2 +- .../lib/partitioning.js | 6 +- .../lib/quickTeamFormationPlan/index.js | 2 +- src/server/services/surveyService/index.js | 2 +- src/server/util/index.js | 11 -- src/server/util/jwt.js | 2 +- src/server/util/project.js | 2 +- src/server/workers/chapterCreated.js | 6 +- src/server/workers/cycleInitialized.js | 4 +- src/server/workers/memberPhaseChanged.js | 2 +- src/server/workers/voteSubmitted.js | 2 +- src/test/helpers/index.js | 11 +- src/test/stubs/chatService.js | 2 +- src/test/stubs/crmService.js | 2 +- src/test/stubs/gitHubService.js | 2 +- src/test/stubs/herokuService.js | 2 +- src/test/stubs/idmService.js | 2 +- src/test/stubs/jobService.js | 2 +- src/test/stubs/notificationService.js | 2 +- src/test/stubs/util.js | 2 +- 69 files changed, 658 insertions(+), 246 deletions(-) delete mode 100644 app.env.encrypted create mode 100755 metautil/autoloadscript.js diff --git a/app.env.encrypted b/app.env.encrypted deleted file mode 100644 index c55f3591..00000000 --- a/app.env.encrypted +++ /dev/null @@ -1 +0,0 @@ -O5u7DDlps49K8PCvEVjzYnCHJWloW0gRBSVCUfGqtYNtCCQvO4Wb+dAHGjRdNmk8NEUS1Ftvve0vM73Tf02OMKNO3MRQbXTbhVJl0RE/vymOeAsaErimVRKW1tpE8YAnQlsg4c2YTwUmLh6ZM9Ko/gVj87EPdeAbtsgynPzJ2DVxzrQbGUYke3hh+GNI5ZhtEE47FTtbZ/tyLyPU \ No newline at end of file diff --git a/metautil/autoloadscript.js b/metautil/autoloadscript.js new file mode 100755 index 00000000..266b7f2f --- /dev/null +++ b/metautil/autoloadscript.js @@ -0,0 +1,85 @@ +const fs = require('fs') + +function readdirPromise(dirpath) { + return new Promise((resolve, reject) => { + fs.readdir(dirpath, (err, result) => { + if (err) { + reject(err) + } else { + resolve(result) + } + }) + }) +} + +function writefilePromise(dirpath, content) { + return new Promise((resolve, reject) => { + fs.writeFile(`${dirpath}/index.js`, content, err => { + if (err) { + reject(err) + } else { + resolve(true) + } + }) + }) +} + +function parseFileNames(dirpath) { + return readdirPromise(dirpath) + .then(results => { + if (results) { + const filteredResults = results.filter(e => !e.startsWith('_')) + return filteredResults + } + }) +} + +function createFileString(arrayOfFiles) { + const parsedInformation = arrayOfFiles.reduce((accumulator, fileName) => { + const filenameWithoutExtension = fileName.match(/(.*)(?:\.)/)[1] + if (fileName === 'index.js') { + return accumulator + } + return [ + accumulator[0].concat( + `import ${filenameWithoutExtension} from '${process.argv[2]}${filenameWithoutExtension}'\n` + ), [...accumulator[1], filenameWithoutExtension] + ] + }, ['', []]) + + let string = parsedInformation[0] + + string = string + .concat('\nexport default {') + .concat(parsedInformation[1].reduce((str, nameWithoutExtension) => { + return str.concat(`\n ${nameWithoutExtension},`) + }, '')) + .concat('\n}\n') + + return Promise.resolve(string) +} + +if (!process.argv[2] || + process.argv[2].length <= 0 || + !process.argv[3] || + process.argv[3].length <= 0) { + console.log(`Error - follow this format: + node autoloadscript.js {path} {'log' || 'write'}`) +} + +parseFileNames(process.argv[2]) + .then(arrayOfFiles => { + return createFileString(arrayOfFiles) + }) + .then(fileString => { + if (process.argv[3] === 'log') { + console.log(fileString) + } else if (process.argv[3] === 'write') { + return writefilePromise(process.argv[2], fileString) + } + }) + .then(written => { + // This ternary is to make falsy value of "undefined" spit + // out as literally "false" when it doesn't write a file + console.log('written --> ', written ? true : false) // eslint-disable-line no-unneeded-ternary + }) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index c0c3db9d..6eb4dca6 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -325,11 +325,6 @@ "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz", "integrity": "sha1-lfE2KbEsOlGl0hWr3OKqnzL4B3M=" }, - "auto-loader": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/auto-loader/-/auto-loader-0.2.0.tgz", - "integrity": "sha1-clobOHjh0gwxYkURS9DXGAQi+eE=" - }, "autoprefixer": { "version": "6.7.7", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", @@ -6360,14 +6355,6 @@ } } }, - "string_decoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", - "requires": { - "safe-buffer": "5.0.1" - } - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -6378,6 +6365,14 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", + "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", + "requires": { + "safe-buffer": "5.0.1" + } + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -7802,11 +7797,6 @@ "jwa": "1.1.3" } }, - "keymirror": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/keymirror/-/keymirror-0.1.1.tgz", - "integrity": "sha1-kYiJ6hP40KQufFVyUO7nE63JXDU=" - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -12383,22 +12373,6 @@ "tunnel-agent": "0.4.3" } }, - "require_optional": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", - "integrity": "sha1-TPNaQkf2TKPfjC7yCMxJSxyo/C4=", - "requires": { - "resolve-from": "2.0.0", - "semver": "5.3.0" - }, - "dependencies": { - "resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -12448,6 +12422,22 @@ } } }, + "require_optional": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", + "integrity": "sha1-TPNaQkf2TKPfjC7yCMxJSxyo/C4=", + "requires": { + "resolve-from": "2.0.0", + "semver": "5.3.0" + }, + "dependencies": { + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" + } + } + }, "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", @@ -13342,14 +13332,6 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, - "string_decoder": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz", - "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=", - "requires": { - "safe-buffer": "5.0.1" - } - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -13360,6 +13342,14 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz", + "integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=", + "requires": { + "safe-buffer": "5.0.1" + } + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", diff --git a/package.json b/package.json index ffe99508..062ba8b4 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,6 @@ "@learnersguild/echo-cli": "^2.1.5", "@learnersguild/idm-jwt-auth": "^2.0.1", "animal-id": "0.0.1", - "auto-loader": "^0.2.0", "autoprefixer": "^6.5.3", "babel-cli": "^6.18.0", "babel-core": "^6.20.0", @@ -118,7 +117,6 @@ "json-loader": "^0.5.4", "jsonwebtoken": "^7.0.1", "juration": "0.0.1", - "keymirror": "^0.1.1", "later": "^1.2.0", "md5": "^2.1.0", "micromustache": "^2.1.26", diff --git a/src/common/actions/app.js b/src/common/actions/app.js index 564bc16b..0206c621 100644 --- a/src/common/actions/app.js +++ b/src/common/actions/app.js @@ -1,4 +1,6 @@ -import { +import Types from './types' + +const { APP_SHOW_LOADING, APP_HIDE_LOADING, FETCH_DATA_REQUEST, @@ -6,7 +8,7 @@ import { FETCH_DATA_SUCCESS, AUTHORIZATION_ERROR, DISMISS_ERROR, -} from './types' +} = Types export function fetchDataRequest() { return {type: FETCH_DATA_REQUEST} diff --git a/src/common/actions/auth.js b/src/common/actions/auth.js index 9fede538..5602f618 100644 --- a/src/common/actions/auth.js +++ b/src/common/actions/auth.js @@ -1,4 +1,6 @@ -import {UPDATE_JWT, UNAUTHENTICATED_ERROR} from './types' +import Types from './types' + +const {UPDATE_JWT, UNAUTHENTICATED_ERROR} = Types export function updateJWT(lgJWT) { return {type: UPDATE_JWT, lgJWT} diff --git a/src/common/actions/types/index.js b/src/common/actions/types/index.js index e01542a8..8c4ca76b 100644 --- a/src/common/actions/types/index.js +++ b/src/common/actions/types/index.js @@ -1,115 +1,113 @@ -import keyMirror from 'keymirror' +export default { + UPDATE_JWT: 'UPDATE_JWT', + AUTHORIZATION_ERROR: 'AUTHORIZATION_ERROR', + UNAUTHENTICATED_ERROR: 'UNAUTHENTICATED_ERROR', + DISMISS_ERROR: 'DISMISS_ERROR', -export default keyMirror({ - UPDATE_JWT: null, - AUTHORIZATION_ERROR: null, - UNAUTHENTICATED_ERROR: null, - DISMISS_ERROR: null, + APP_SHOW_LOADING: 'APP_SHOW_LOADING', + APP_HIDE_LOADING: 'APP_HIDE_LOADING', - APP_SHOW_LOADING: null, - APP_HIDE_LOADING: null, + FETCH_DATA_REQUEST: 'FETCH_DATA_REQUEST', + FETCH_DATA_FAILURE: 'FETCH_DATA_FAILURE', + FETCH_DATA_SUCCESS: 'FETCH_DATA_SUCCESS', - FETCH_DATA_REQUEST: null, - FETCH_DATA_FAILURE: null, - FETCH_DATA_SUCCESS: null, + ADD_INVITE_CODE_TO_CHAPTER_REQUEST: 'ADD_INVITE_CODE_TO_CHAPTER_REQUEST', + ADD_INVITE_CODE_TO_CHAPTER_SUCCESS: 'ADD_INVITE_CODE_TO_CHAPTER_SUCCESS', + ADD_INVITE_CODE_TO_CHAPTER_FAILURE: 'ADD_INVITE_CODE_TO_CHAPTER_FAILURE', - ADD_INVITE_CODE_TO_CHAPTER_REQUEST: null, - ADD_INVITE_CODE_TO_CHAPTER_SUCCESS: null, - ADD_INVITE_CODE_TO_CHAPTER_FAILURE: null, + FIND_CHAPTERS_REQUEST: 'FIND_CHAPTERS_REQUEST', + FIND_CHAPTERS_SUCCESS: 'FIND_CHAPTERS_SUCCESS', + FIND_CHAPTERS_FAILURE: 'FIND_CHAPTERS_FAILURE', - FIND_CHAPTERS_REQUEST: null, - FIND_CHAPTERS_SUCCESS: null, - FIND_CHAPTERS_FAILURE: null, + FIND_MEMBERS_REQUEST: 'FIND_MEMBERS_REQUEST', + FIND_MEMBERS_SUCCESS: 'FIND_MEMBERS_SUCCESS', + FIND_MEMBERS_FAILURE: 'FIND_MEMBERS_FAILURE', - FIND_MEMBERS_REQUEST: null, - FIND_MEMBERS_SUCCESS: null, - FIND_MEMBERS_FAILURE: null, + FIND_PROJECTS_REQUEST: 'FIND_PROJECTS_REQUEST', + FIND_PROJECTS_SUCCESS: 'FIND_PROJECTS_SUCCESS', + FIND_PROJECTS_FAILURE: 'FIND_PROJECTS_FAILURE', - FIND_PROJECTS_REQUEST: null, - FIND_PROJECTS_SUCCESS: null, - FIND_PROJECTS_FAILURE: null, + FIND_USERS_REQUEST: 'FIND_USERS_REQUEST', + FIND_USERS_SUCCESS: 'FIND_USERS_SUCCESS', + FIND_USERS_FAILURE: 'FIND_USERS_FAILURE', - FIND_USERS_REQUEST: null, - FIND_USERS_SUCCESS: null, - FIND_USERS_FAILURE: null, + GET_CHAPTER_REQUEST: 'GET_CHAPTER_REQUEST', + GET_CHAPTER_SUCCESS: 'GET_CHAPTER_SUCCESS', + GET_CHAPTER_FAILURE: 'GET_CHAPTER_FAILURE', - GET_CHAPTER_REQUEST: null, - GET_CHAPTER_SUCCESS: null, - GET_CHAPTER_FAILURE: null, + GET_CYCLE_VOTING_RESULTS_REQUEST: 'GET_CYCLE_VOTING_RESULTS_REQUEST', + GET_CYCLE_VOTING_RESULTS_SUCCESS: 'GET_CYCLE_VOTING_RESULTS_SUCCESS', + GET_CYCLE_VOTING_RESULTS_FAILURE: 'GET_CYCLE_VOTING_RESULTS_FAILURE', - GET_CYCLE_VOTING_RESULTS_REQUEST: null, - GET_CYCLE_VOTING_RESULTS_SUCCESS: null, - GET_CYCLE_VOTING_RESULTS_FAILURE: null, + GET_PROJECT_REQUEST: 'GET_PROJECT_REQUEST', + GET_PROJECT_SUCCESS: 'GET_PROJECT_SUCCESS', + GET_PROJECT_FAILURE: 'GET_PROJECT_FAILURE', - GET_PROJECT_REQUEST: null, - GET_PROJECT_SUCCESS: null, - GET_PROJECT_FAILURE: null, + GET_PROJECT_SUMMARY_REQUEST: 'GET_PROJECT_SUMMARY_REQUEST', + GET_PROJECT_SUMMARY_SUCCESS: 'GET_PROJECT_SUMMARY_SUCCESS', + GET_PROJECT_SUMMARY_FAILURE: 'GET_PROJECT_SUMMARY_FAILURE', - GET_PROJECT_SUMMARY_REQUEST: null, - GET_PROJECT_SUMMARY_SUCCESS: null, - GET_PROJECT_SUMMARY_FAILURE: null, + FIND_SURVEYS_REQUEST: 'FIND_SURVEYS_REQUEST', + FIND_SURVEYS_SUCCESS: 'FIND_SURVEYS_SUCCESS', + FIND_SURVEYS_FAILURE: 'FIND_SURVEYS_FAILURE', - FIND_SURVEYS_REQUEST: null, - FIND_SURVEYS_SUCCESS: null, - FIND_SURVEYS_FAILURE: null, + GET_SURVEY_REQUEST: 'GET_SURVEY_REQUEST', + GET_SURVEY_SUCCESS: 'GET_SURVEY_SUCCESS', + GET_SURVEY_FAILURE: 'GET_SURVEY_FAILURE', - GET_SURVEY_REQUEST: null, - GET_SURVEY_SUCCESS: null, - GET_SURVEY_FAILURE: null, + GET_USER_SUMMARY_REQUEST: 'GET_USER_SUMMARY_REQUEST', + GET_USER_SUMMARY_SUCCESS: 'GET_USER_SUMMARY_SUCCESS', + GET_USER_SUMMARY_FAILURE: 'GET_USER_SUMMARY_FAILURE', - GET_USER_SUMMARY_REQUEST: null, - GET_USER_SUMMARY_SUCCESS: null, - GET_USER_SUMMARY_FAILURE: null, + DEACTIVATE_USER_REQUEST: 'DEACTIVATE_USER_REQUEST', + DEACTIVATE_USER_SUCCESS: 'DEACTIVATE_USER_SUCCESS', + DEACTIVATE_USER_FAILURE: 'DEACTIVATE_USER_FAILURE', - DEACTIVATE_USER_REQUEST: null, - DEACTIVATE_USER_SUCCESS: null, - DEACTIVATE_USER_FAILURE: null, + IMPORT_PROJECT_REQUEST: 'IMPORT_PROJECT_REQUEST', + IMPORT_PROJECT_SUCCESS: 'IMPORT_PROJECT_SUCCESS', + IMPORT_PROJECT_FAILURE: 'IMPORT_PROJECT_FAILURE', - IMPORT_PROJECT_REQUEST: null, - IMPORT_PROJECT_SUCCESS: null, - IMPORT_PROJECT_FAILURE: null, + REASSIGN_MEMBERS_TO_CHAPTER_REQUEST: 'REASSIGN_MEMBERS_TO_CHAPTER_REQUEST', + REASSIGN_MEMBERS_TO_CHAPTER_SUCCESS: 'REASSIGN_MEMBERS_TO_CHAPTER_SUCCESS', + REASSIGN_MEMBERS_TO_CHAPTER_FAILURE: 'REASSIGN_MEMBERS_TO_CHAPTER_FAILURE', - REASSIGN_MEMBERS_TO_CHAPTER_REQUEST: null, - REASSIGN_MEMBERS_TO_CHAPTER_SUCCESS: null, - REASSIGN_MEMBERS_TO_CHAPTER_FAILURE: null, + UPDATE_USER_REQUEST: 'UPDATE_USER_REQUEST', + UPDATE_USER_SUCCESS: 'UPDATE_USER_SUCCESS', + UPDATE_USER_FAILURE: 'UPDATE_USER_FAILURE', - UPDATE_USER_REQUEST: null, - UPDATE_USER_SUCCESS: null, - UPDATE_USER_FAILURE: null, + RECEIVED_CYCLE_VOTING_RESULTS: 'RECEIVED_CYCLE_VOTING_RESULTS', - RECEIVED_CYCLE_VOTING_RESULTS: null, + SAVE_CHAPTER_REQUEST: 'SAVE_CHAPTER_REQUEST', + SAVE_CHAPTER_SUCCESS: 'SAVE_CHAPTER_SUCCESS', + SAVE_CHAPTER_FAILURE: 'SAVE_CHAPTER_FAILURE', - SAVE_CHAPTER_REQUEST: null, - SAVE_CHAPTER_SUCCESS: null, - SAVE_CHAPTER_FAILURE: null, + SUBMIT_SURVEY_REQUEST: 'SUBMIT_SURVEY_REQUEST', + SUBMIT_SURVEY_SUCCESS: 'SUBMIT_SURVEY_SUCCESS', + SUBMIT_SURVEY_FAILURE: 'SUBMIT_SURVEY_FAILURE', - SUBMIT_SURVEY_REQUEST: null, - SUBMIT_SURVEY_SUCCESS: null, - SUBMIT_SURVEY_FAILURE: null, + SET_SURVEY_GROUP: 'SET_SURVEY_GROUP', - SET_SURVEY_GROUP: null, + SAVE_SURVEY_RESPONSES_REQUEST: 'SAVE_SURVEY_RESPONSES_REQUEST', + SAVE_SURVEY_RESPONSES_SUCCESS: 'SAVE_SURVEY_RESPONSES_SUCCESS', + SAVE_SURVEY_RESPONSES_FAILURE: 'SAVE_SURVEY_RESPONSES_FAILURE', - SAVE_SURVEY_RESPONSES_REQUEST: null, - SAVE_SURVEY_RESPONSES_SUCCESS: null, - SAVE_SURVEY_RESPONSES_FAILURE: null, + UNLOCK_SURVEY_REQUEST: 'UNLOCK_SURVEY_REQUEST', + UNLOCK_SURVEY_SUCCESS: 'UNLOCK_SURVEY_SUCCESS', + UNLOCK_SURVEY_FAILURE: 'UNLOCK_SURVEY_FAILURE', - UNLOCK_SURVEY_REQUEST: null, - UNLOCK_SURVEY_SUCCESS: null, - UNLOCK_SURVEY_FAILURE: null, + LOCK_SURVEY_REQUEST: 'LOCK_SURVEY_REQUEST', + LOCK_SURVEY_SUCCESS: 'LOCK_SURVEY_SUCCESS', + LOCK_SURVEY_FAILURE: 'LOCK_SURVEY_FAILURE', - LOCK_SURVEY_REQUEST: null, - LOCK_SURVEY_SUCCESS: null, - LOCK_SURVEY_FAILURE: null, + DELETE_PROJECT_REQUEST: 'DELETE_PROJECT_REQUEST', + DELETE_PROJECT_SUCCESS: 'DELETE_PROJECT_SUCCESS', + DELETE_PROJECT_FAILURE: 'DELETE_PROJECT_FAILURE', - DELETE_PROJECT_REQUEST: null, - DELETE_PROJECT_SUCCESS: null, - DELETE_PROJECT_FAILURE: null, + FIND_PHASES_REQUEST: 'FIND_PHASES_REQUEST', + FIND_PHASES_SUCCESS: 'FIND_PHASES_SUCCESS', + FIND_PHASES_FAILURE: 'FIND_PHASES_FAILURE', - FIND_PHASES_REQUEST: null, - FIND_PHASES_SUCCESS: null, - FIND_PHASES_FAILURE: null, - - FIND_PHASE_SUMMARIES_REQUEST: null, - FIND_PHASE_SUMMARIES_SUCCESS: null, - FIND_PHASE_SUMMARIES_FAILURE: null, -}) + FIND_PHASE_SUMMARIES_REQUEST: 'FIND_PHASE_SUMMARIES_REQUEST', + FIND_PHASE_SUMMARIES_SUCCESS: 'FIND_PHASE_SUMMARIES_SUCCESS', + FIND_PHASE_SUMMARIES_FAILURE: 'FIND_PHASE_SUMMARIES_FAILURE', +} diff --git a/src/common/components/__tests__/SurveyFormInputSliderGroup.test.js b/src/common/components/__tests__/SurveyFormInputSliderGroup.test.js index f40bffef..3dafc70d 100644 --- a/src/common/components/__tests__/SurveyFormInputSliderGroup.test.js +++ b/src/common/components/__tests__/SurveyFormInputSliderGroup.test.js @@ -85,9 +85,9 @@ describe(testContext(__filename), function () { }) describe.skip('props.sum, props.onChange', function () { - // FIXME: having trouble figuring out how to properly get the - // onChange event handler invoked. simulating a 'change' event - // on a component doesn't seem to cut it. + /* FIXME: having trouble figuring out how to properly get the */ // eslint-disable-line no-warning-comments + /* onChange event handler invoked. simulating a 'change' event */ // eslint-disable-line no-warning-comments + /* on a component doesn't seem to cut it. */ // eslint-disable-line no-warning-comments it('passes value to provided callback') it('limits sum of value changes to no more than the specified sum') it('returns a value for every option, even if some options have a null or 0 value') diff --git a/src/common/containers/RetroSurvey/index.jsx b/src/common/containers/RetroSurvey/index.jsx index 0aa11e09..f91191b9 100644 --- a/src/common/containers/RetroSurvey/index.jsx +++ b/src/common/containers/RetroSurvey/index.jsx @@ -250,7 +250,7 @@ function mapStateToProps(state) { let showProjects = false let projects = null - // TODO: make more performant by parsing survey only when data changes + /* TODO: make more performant by parsing survey only when data changes */ // eslint-disable-line no-warning-comments if (surveys.length === 1) { try { const survey = surveys[0] diff --git a/src/common/models/survey.js b/src/common/models/survey.js index db831856..94af8ea0 100644 --- a/src/common/models/survey.js +++ b/src/common/models/survey.js @@ -1,7 +1,7 @@ import micromustache from 'micromustache' export const QUESTION_SUBJECT_TYPES = { - COACH: 'coach', // FIXME: only being kept because of an unnecessarry migration. + COACH: 'coach', /* FIXME: only being kept because of an unnecessarry migration. */ // eslint-disable-line no-warning-comments TEAM: 'team', MEMBER: 'member', PROJECT: 'project', diff --git a/src/common/util/__tests__/getAvatarImageURL.test.js b/src/common/util/__tests__/getAvatarImageURL.test.js index f72e2cf1..6216fd10 100644 --- a/src/common/util/__tests__/getAvatarImageURL.test.js +++ b/src/common/util/__tests__/getAvatarImageURL.test.js @@ -5,7 +5,7 @@ import url from 'url' import getAvatarImageURL from 'src/common/util/getAvatarImageURL' -// TODO: use nock to mock gravatar API +/* TODO: use nock to mock gravatar API */ // eslint-disable-line no-warning-comments describe(testContext(__filename), function () { it('returns throws an exception if the user has no handle', function () { expect(() => getAvatarImageURL({handle: null})).to.throw(/user has no handle/) diff --git a/src/server/actions/__tests__/assertSurveyIsComplete.test.js b/src/server/actions/__tests__/assertSurveyIsComplete.test.js index 075787a1..115b87dc 100644 --- a/src/server/actions/__tests__/assertSurveyIsComplete.test.js +++ b/src/server/actions/__tests__/assertSurveyIsComplete.test.js @@ -6,6 +6,9 @@ import {resetDB, useFixture} from 'src/test/helpers' import assertSurveyIsComplete from '../assertSurveyIsComplete' +console.log('useFixture inside test~~~>', useFixture) +console.log('resetDB inside test~~~>', resetDB) + describe(testContext(__filename), function () { useFixture.buildOneQuestionSurvey() diff --git a/src/server/actions/__tests__/createPoolsForCycle.test.js b/src/server/actions/__tests__/createPoolsForCycle.test.js index 4313ce03..cfc00b8e 100644 --- a/src/server/actions/__tests__/createPoolsForCycle.test.js +++ b/src/server/actions/__tests__/createPoolsForCycle.test.js @@ -8,7 +8,7 @@ import factory from 'src/test/factories' import {MAX_POOL_SIZE} from 'src/common/models/pool' import {Pool, findMembersInPool} from 'src/server/services/dataService' -import createPoolsForCycle from '../createPoolsForCycle' +import {default as createPoolsForCycle} from '../createPoolsForCycle' describe(testContext(__filename), function () { beforeEach(resetDB) diff --git a/src/server/actions/__tests__/saveSurveyResponse.test.js b/src/server/actions/__tests__/saveSurveyResponse.test.js index 18a4e675..8a7d5625 100644 --- a/src/server/actions/__tests__/saveSurveyResponse.test.js +++ b/src/server/actions/__tests__/saveSurveyResponse.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import {resetDB, useFixture} from 'src/test/helpers' import {Response} from 'src/server/services/dataService' diff --git a/src/server/actions/addMemberToPoolInCycle.js b/src/server/actions/addMemberToPoolInCycle.js index 446731bf..5c5c2a37 100644 --- a/src/server/actions/addMemberToPoolInCycle.js +++ b/src/server/actions/addMemberToPoolInCycle.js @@ -22,7 +22,7 @@ export default async function addMemberToPoolInCycle(cycleId, memberId) { throw new LGInternalServerError(`No existing pool found for voting phase ${phase.id} and cycle ${cycle.id} for member ${member.id}`) } - // TODO: if pool is now too big with member added, split + /* TODO: if pool is now too big with member added, split */ // eslint-disable-line no-warning-comments return PoolMember.save({ poolId: newestPool.id, diff --git a/src/server/actions/compileSurveyData.js b/src/server/actions/compileSurveyData.js index f2d13069..18ec3597 100644 --- a/src/server/actions/compileSurveyData.js +++ b/src/server/actions/compileSurveyData.js @@ -1,7 +1,7 @@ import {renderQuestionBodies} from 'src/common/models/survey' -import getMemberInfo from 'src/server/actions/getMemberInfo' +import {default as getMemberInfo} from 'src/server/actions/getMemberInfo' import {Project, getFullRetrospectiveSurveyForMember} from 'src/server/services/dataService' -import {customQueryError} from 'src/server/services/dataService/util' +import {default as customQueryError} from 'src/server/services/dataService/util' import {LGForbiddenError} from 'src/server/util/error' export async function compileSurveyDataForMember(memberId, projectId) { diff --git a/src/server/actions/createPoolsForCycle.js b/src/server/actions/createPoolsForCycle.js index 1058730d..2b04217b 100644 --- a/src/server/actions/createPoolsForCycle.js +++ b/src/server/actions/createPoolsForCycle.js @@ -2,7 +2,7 @@ import Promise from 'bluebird' import {range, unique, groupById, shuffle} from 'src/common/util' import {Pool, PoolMember} from 'src/server/services/dataService' -import findActiveVotingMembersInChapter from 'src/server/actions/findActiveVotingMembersInChapter' +import {default as findActiveVotingMembersInChapter} from 'src/server/actions/findActiveVotingMembersInChapter' import {POOL_NAMES, MAX_POOL_SIZE} from 'src/common/models/pool' export default async function createPoolsForCycle(cycle) { diff --git a/src/server/actions/deactivateUser.js b/src/server/actions/deactivateUser.js index 8e9b0ac3..bc4136f9 100644 --- a/src/server/actions/deactivateUser.js +++ b/src/server/actions/deactivateUser.js @@ -1,5 +1,5 @@ import config from 'src/config' -import getUser from 'src/server/actions/getUser' +import {default as getUser} from 'src/server/actions/getUser' import {removeUserFromOrganizations} from 'src/server/services/gitHubService' import {removeCollaboratorFromApps} from 'src/server/services/herokuService' import {deactivateUser as deactivateChatUser} from 'src/server/services/chatService' diff --git a/src/server/actions/findActiveMembersForPhase.js b/src/server/actions/findActiveMembersForPhase.js index 2d1a1c39..249b24be 100644 --- a/src/server/actions/findActiveMembersForPhase.js +++ b/src/server/actions/findActiveMembersForPhase.js @@ -1,4 +1,4 @@ -import findUsers from 'src/server/actions/findUsers' +import {default as findUsers} from 'src/server/actions/findUsers' import {Member} from 'src/server/services/dataService' import {mapById} from 'src/common/util' diff --git a/src/server/actions/findActiveMembersInChapter.js b/src/server/actions/findActiveMembersInChapter.js index f75c3389..5a08af0f 100644 --- a/src/server/actions/findActiveMembersInChapter.js +++ b/src/server/actions/findActiveMembersInChapter.js @@ -1,6 +1,6 @@ import {Member} from 'src/server/services/dataService' import {mapById} from 'src/server/util' -import getMemberInfo from './getMemberInfo' +import {default as getMemberInfo} from './getMemberInfo' export default async function findActiveMembersInChapter(chapterId) { const members = await Member.filter({chapterId}) diff --git a/src/server/actions/findActiveVotingMembersInChapter.js b/src/server/actions/findActiveVotingMembersInChapter.js index 55f6d7df..1e6f05af 100644 --- a/src/server/actions/findActiveVotingMembersInChapter.js +++ b/src/server/actions/findActiveVotingMembersInChapter.js @@ -1,6 +1,6 @@ import {r, Member, Phase} from 'src/server/services/dataService' import {mapById} from 'src/server/util' -import getMemberInfo from 'src/server/actions/getMemberInfo' +import {default as getMemberInfo} from 'src/server/actions/getMemberInfo' export default async function findActiveVotingMembersInChapter(chapterId) { const votingPhaseIds = (await Phase.filter({hasVoting: true}).pluck('id')).map(p => p.id) diff --git a/src/server/actions/findUsers.js b/src/server/actions/findUsers.js index 81178cc3..4aa64d8b 100644 --- a/src/server/actions/findUsers.js +++ b/src/server/actions/findUsers.js @@ -1,4 +1,4 @@ -import mergeUsers from 'src/server/actions/mergeUsers' +import {default as mergeUsers} from 'src/server/actions/mergeUsers' export default async function findUsers(identifiers, options) { const {findUsers: findIDMUsers} = require('src/server/services/idmService') diff --git a/src/server/actions/formProjects.js b/src/server/actions/formProjects.js index a5af85e7..4f630757 100644 --- a/src/server/actions/formProjects.js +++ b/src/server/actions/formProjects.js @@ -4,8 +4,8 @@ import {toArray, mapById, sum} from 'src/server/util' import {flatten} from 'src/common/util' import {getTeamFormationPlan, NoValidPlanFoundError} from 'src/server/services/projectFormationService' import {r, Cycle, Phase, Member, Pool, Project, Vote} from 'src/server/services/dataService' -import getLatestFeedback from 'src/server/actions/getLatestFeedback' -import generateProjectName from 'src/server/actions/generateProjectName' +import {default as getLatestFeedback} from 'src/server/actions/getLatestFeedback' +import {default as generateProjectName} from 'src/server/actions/generateProjectName' import {LGBadRequestError} from 'src/server/util/error' export async function formProjectsIfNoneExist(cycleId, handleNonFatalError) { diff --git a/src/server/actions/getChapter.js b/src/server/actions/getChapter.js index a18709fd..2e637498 100644 --- a/src/server/actions/getChapter.js +++ b/src/server/actions/getChapter.js @@ -1,10 +1,17 @@ import {r, errors, Chapter} from 'src/server/services/dataService' +console.log(` + Are we destructuring each of these? + r: ${r} + errors: ${errors} + Chapter: ${Chapter} +`) + export default function getChapter(identifier) { const identifierLower = String(identifier).toLowerCase() return Chapter.filter(row => r.or( row('id').eq(identifier), - row('name').downcase().eq(identifierLower) // FIXME: not guaranteed to be unique (yet) + row('name').downcase().eq(identifierLower) /* FIXME: not guaranteed to be unique (yet) */ // eslint-disable-line no-warning-comments )) .nth(0) .default(null) diff --git a/src/server/actions/getCycleVotingResults.js b/src/server/actions/getCycleVotingResults.js index 71cbf83c..6d2a7341 100644 --- a/src/server/actions/getCycleVotingResults.js +++ b/src/server/actions/getCycleVotingResults.js @@ -1,8 +1,4 @@ -import { - Cycle, - getLatestCycleForChapter, - findVotingResultsForCycle, -} from 'src/server/services/dataService' +import {Cycle, getLatestCycleForChapter, findVotingResultsForCycle} from 'src/server/services/dataService' export default async function getCycleVotingResults(chapterId, cycleId) { const cycle = cycleId ? @@ -12,7 +8,7 @@ export default async function getCycleVotingResults(chapterId, cycleId) { const cycleVotingResultsByPool = await findVotingResultsForCycle(cycle) return { - id: 'CURRENT', // TODO: make this the cycleId? Need an id for normalizr on the client-side + id: 'CURRENT', /* TODO: make this the cycleId? Need an id for normalizr on the client-side */ // eslint-disable-line no-warning-comments pools: cycleVotingResultsByPool, cycle, } diff --git a/src/server/actions/getUser.js b/src/server/actions/getUser.js index f64fba60..108a5597 100644 --- a/src/server/actions/getUser.js +++ b/src/server/actions/getUser.js @@ -1,4 +1,4 @@ -import mergeUsers from 'src/server/actions/mergeUsers' +import {default as mergeUsers} from 'src/server/actions/mergeUsers' export default async function getUser(identifier, options) { const {getUser: getIDMUser} = require('src/server/services/idmService') diff --git a/src/server/actions/importProject.js b/src/server/actions/importProject.js index ad6b23ab..844269ac 100644 --- a/src/server/actions/importProject.js +++ b/src/server/actions/importProject.js @@ -1,7 +1,7 @@ import logger from 'src/server/util/logger' -import findUsers from 'src/server/actions/findUsers' -import getChapter from 'src/server/actions/getChapter' -import saveProject from 'src/server/actions/saveProject' +import {default as findUsers} from 'src/server/actions/findUsers' +import {default as getChapter} from 'src/server/actions/getChapter' +import {default as saveProject} from 'src/server/actions/saveProject' import {Phase, getCycleForChapter, getProject} from 'src/server/services/dataService' import {getGoalInfo} from 'src/server/services/goalLibraryService' import {LGBadRequestError} from 'src/server/util/error' diff --git a/src/server/cliCommand/commands/__tests__/cycle.test.js b/src/server/cliCommand/commands/__tests__/cycle.test.js index 41f5b969..4bdacf84 100644 --- a/src/server/cliCommand/commands/__tests__/cycle.test.js +++ b/src/server/cliCommand/commands/__tests__/cycle.test.js @@ -4,12 +4,14 @@ import factory from 'src/test/factories' import {resetDB, useFixture} from 'src/test/helpers' import {GOAL_SELECTION, PRACTICE, REFLECTION} from 'src/common/models/cycle' -import {Cycle} from 'src/server/services/dataService/models' +import Models from 'src/server/services/dataService/models' import {getCommand} from 'src/server/cliCommand/util' import {concatResults} from './helpers' +const {Cycle} = Models + describe(testContext(__filename), function () { useFixture.ensureNoGlobalWindow() diff --git a/src/server/cliCommand/commands/cycle.js b/src/server/cliCommand/commands/cycle.js index 48c868f9..d8ffa27a 100644 --- a/src/server/cliCommand/commands/cycle.js +++ b/src/server/cliCommand/commands/cycle.js @@ -1,6 +1,6 @@ import {CYCLE_STATES, PRACTICE, REFLECTION, COMPLETE} from 'src/common/models/cycle' import {userCan} from 'src/common/util' -import getUser from 'src/server/actions/getUser' +import {default as getUser} from 'src/server/actions/getUser' import assertUserIsMember from 'src/server/actions/assertUserIsMember' import createNextCycleForChapter from 'src/server/actions/createNextCycleForChapter' @@ -46,7 +46,7 @@ const subcommands = { }, } -export async function invoke(args, options) { +export default async function invoke(args, options) { if (args._.length >= 1) { const subcommand = args._[0] return await subcommands[subcommand](args.$[subcommand], options) diff --git a/src/server/cliCommand/commands/playbook.js b/src/server/cliCommand/commands/playbook.js index 7a94fe79..37ce9bc0 100644 --- a/src/server/cliCommand/commands/playbook.js +++ b/src/server/cliCommand/commands/playbook.js @@ -1,7 +1,7 @@ import config from 'src/config' import {deprecatedCommand} from '../util' -export async function invoke(args) { +export default async function invoke(args) { let url = config.app.playbookURL if (args._.length >= 1) { const [search] = args._ diff --git a/src/server/cliCommand/commands/profile.js b/src/server/cliCommand/commands/profile.js index 1d05fd9d..c52ce7f3 100644 --- a/src/server/cliCommand/commands/profile.js +++ b/src/server/cliCommand/commands/profile.js @@ -1,7 +1,7 @@ import config from 'src/config' import {deprecatedCommand} from '../util' -export async function invoke() { +export default async function invoke() { const url = `${config.server.idm.baseURL}/profile` return deprecatedCommand('/profile', url) } diff --git a/src/server/cliCommand/commands/project.js b/src/server/cliCommand/commands/project.js index 5acd9e00..0b28914f 100644 --- a/src/server/cliCommand/commands/project.js +++ b/src/server/cliCommand/commands/project.js @@ -1,7 +1,7 @@ import config from 'src/config' import {userCan} from 'src/common/util' -import findActiveProjectsForMember from 'src/server/actions/findActiveProjectsForMember' +import {default as findActiveProjectsForMember} from 'src/server/actions/findActiveProjectsForMember' import {Project, findProjectByNameForMember} from 'src/server/services/dataService' import {LGCLIUsageError, LGNotAuthorizedError} from 'src/server/util/error' @@ -58,7 +58,7 @@ const subcommands = { }, } -export async function invoke(args, options) { +export default async function invoke(args, options) { if (args._.length >= 1) { const subcommand = args._[0] return await subcommands[subcommand](args.$[subcommand], options) diff --git a/src/server/cliCommand/commands/retro.js b/src/server/cliCommand/commands/retro.js index 07206c91..873efcb0 100644 --- a/src/server/cliCommand/commands/retro.js +++ b/src/server/cliCommand/commands/retro.js @@ -1,7 +1,7 @@ import config from 'src/config' import {deprecatedCommand} from '../util' -export async function invoke(args) { +export default async function invoke(args) { let url = `${config.app.baseURL}/retro` if (args._.length >= 1) { const [projectName] = args._ diff --git a/src/server/cliCommand/commands/vote.js b/src/server/cliCommand/commands/vote.js index 02ee463f..295de643 100644 --- a/src/server/cliCommand/commands/vote.js +++ b/src/server/cliCommand/commands/vote.js @@ -1,11 +1,6 @@ import config from 'src/config' import {GOAL_SELECTION} from 'src/common/models/cycle' -import { - Member, - Vote, - getCyclesInStateForChapter, - getPoolByCycleIdAndMemberId, -} from 'src/server/services/dataService' +import {Member, Vote, getCyclesInStateForChapter, getPoolByCycleIdAndMemberId} from 'src/server/services/dataService' import { LGNotAuthorizedError, LGBadRequestError, @@ -55,7 +50,7 @@ async function _voteForGoals(user, goalDescriptors, responseURL) { return {...savedVote, member, cycle} } -export async function invoke(args, {user, responseURL}) { +export default async function invoke(args, {user, responseURL}) { const attachments = [] if (args._.length > 0) { await _voteForGoals(user, args._, responseURL) diff --git a/src/server/configureChangeFeeds/util/processStateChangefeed.js b/src/server/configureChangeFeeds/util/processStateChangefeed.js index cc6d4fe0..70e06a2b 100644 --- a/src/server/configureChangeFeeds/util/processStateChangefeed.js +++ b/src/server/configureChangeFeeds/util/processStateChangefeed.js @@ -1,7 +1,7 @@ /* eslint-disable no-console, camelcase */ import processChangeFeedWithAutoReconnect from 'rethinkdb-changefeed-reconnect' -import {handleConnectionError} from './handleConnectionError' +import {default as handleConnectionError} from './handleConnectionError' export default function processStateChangefeed(options = {}) { const {getFeed, changefeedName} = options diff --git a/src/server/graphql/mutations/index.js b/src/server/graphql/mutations/index.js index 246212b7..9b69b3a2 100644 --- a/src/server/graphql/mutations/index.js +++ b/src/server/graphql/mutations/index.js @@ -1,5 +1,26 @@ -import autoloader from 'auto-loader' -import {pruneAutoLoad} from 'src/server/graphql/util' +import deactivateUser from 'src/server/graphql/mutations/deactivateUser' +import deleteProject from 'src/server/graphql/mutations/deleteProject' +import importProject from 'src/server/graphql/mutations/importProject' +import lockRetroSurveyForUser from 'src/server/graphql/mutations/lockRetroSurveyForUser' +import reassignMembersToChapter from 'src/server/graphql/mutations/reassignMembersToChapter' +import saveChapter from 'src/server/graphql/mutations/saveChapter' +import saveRetrospectiveSurveyResponse from 'src/server/graphql/mutations/saveRetrospectiveSurveyResponse' +import saveRetrospectiveSurveyResponses from 'src/server/graphql/mutations/saveRetrospectiveSurveyResponses' +import submitSurvey from 'src/server/graphql/mutations/submitSurvey' +import unlockRetroSurveyForUser from 'src/server/graphql/mutations/unlockRetroSurveyForUser' +import updateUser from 'src/server/graphql/mutations/updateUser' -export default pruneAutoLoad(autoloader.load(__dirname)) +export { + deactivateUser, + deleteProject, + importProject, + lockRetroSurveyForUser, + reassignMembersToChapter, + saveChapter, + saveRetrospectiveSurveyResponse, + saveRetrospectiveSurveyResponses, + submitSurvey, + unlockRetroSurveyForUser, + updateUser, +} diff --git a/src/server/graphql/queries/index.js b/src/server/graphql/queries/index.js index 246212b7..412a7642 100644 --- a/src/server/graphql/queries/index.js +++ b/src/server/graphql/queries/index.js @@ -1,5 +1,41 @@ -import autoloader from 'auto-loader' +import findChapters from 'src/server/graphql/queries/findChapters' +import findMembers from 'src/server/graphql/queries/findMembers' +import findPhaseSummaries from 'src/server/graphql/queries/findPhaseSummaries' +import findPhases from 'src/server/graphql/queries/findPhases' +import findProjects from 'src/server/graphql/queries/findProjects' +import findProjectsForCycle from 'src/server/graphql/queries/findProjectsForCycle' +import findRetrospectiveSurveys from 'src/server/graphql/queries/findRetrospectiveSurveys' +import findUsers from 'src/server/graphql/queries/findUsers' +import getChapter from 'src/server/graphql/queries/getChapter' +import getCycleById from 'src/server/graphql/queries/getCycleById' +import getCycleVotingResults from 'src/server/graphql/queries/getCycleVotingResults' +import getMemberById from 'src/server/graphql/queries/getMemberById' +import getProject from 'src/server/graphql/queries/getProject' +import getProjectSummary from 'src/server/graphql/queries/getProjectSummary' +import getProjectSummaryForMember from 'src/server/graphql/queries/getProjectSummaryForMember' +import getRetrospectiveSurvey from 'src/server/graphql/queries/getRetrospectiveSurvey' +import getRetrospectiveSurveyQuestion from 'src/server/graphql/queries/getRetrospectiveSurveyQuestion' +import getUser from 'src/server/graphql/queries/getUser' +import getUserSummary from 'src/server/graphql/queries/getUserSummary' -import {pruneAutoLoad} from 'src/server/graphql/util' - -export default pruneAutoLoad(autoloader.load(__dirname)) +export { + findChapters, + findMembers, + findPhaseSummaries, + findPhases, + findProjects, + findProjectsForCycle, + findRetrospectiveSurveys, + findUsers, + getChapter, + getCycleById, + getCycleVotingResults, + getMemberById, + getProject, + getProjectSummary, + getProjectSummaryForMember, + getRetrospectiveSurvey, + getRetrospectiveSurveyQuestion, + getUser, + getUserSummary, +} diff --git a/src/server/graphql/schemas/index.js b/src/server/graphql/schemas/index.js index 246212b7..d0398b97 100644 --- a/src/server/graphql/schemas/index.js +++ b/src/server/graphql/schemas/index.js @@ -1,5 +1,77 @@ -import autoloader from 'auto-loader' +import CLINamedSurveyResponse from 'src/server/graphql/schemas/CLINamedSurveyResponse' +import CandidateGoal from 'src/server/graphql/schemas/CandidateGoal' +import Chapter from 'src/server/graphql/schemas/Chapter' +import CreatedIdList from 'src/server/graphql/schemas/CreatedIdList' +import Cycle from 'src/server/graphql/schemas/Cycle' +import CycleState from 'src/server/graphql/schemas/CycleState' +import CycleVotingResults from 'src/server/graphql/schemas/CycleVotingResults' +import Goal from 'src/server/graphql/schemas/Goal' +import InputChapter from 'src/server/graphql/schemas/InputChapter' +import InputUser from 'src/server/graphql/schemas/InputUser' +import MemberGoalRank from 'src/server/graphql/schemas/MemberGoalRank' +import MemberSubject from 'src/server/graphql/schemas/MemberSubject' +import NamedResponseValueGroup from 'src/server/graphql/schemas/NamedResponseValueGroup' +import Phase from 'src/server/graphql/schemas/Phase' +import PhaseSummary from 'src/server/graphql/schemas/PhaseSummary' +import Project from 'src/server/graphql/schemas/Project' +import ProjectImport from 'src/server/graphql/schemas/ProjectImport' +import ProjectSummary from 'src/server/graphql/schemas/ProjectSummary' +import ProjectUserSummary from 'src/server/graphql/schemas/ProjectUserSummary' +import ProjectsSummary from 'src/server/graphql/schemas/ProjectsSummary' +import ResponseInputValue from 'src/server/graphql/schemas/ResponseInputValue' +import ResponseTypeEnum from 'src/server/graphql/schemas/ResponseTypeEnum' +import ResponseValue from 'src/server/graphql/schemas/ResponseValue' +import ResponseValueGroup from 'src/server/graphql/schemas/ResponseValueGroup' +import Status from 'src/server/graphql/schemas/Status' +import SubjectTypeEnum from 'src/server/graphql/schemas/SubjectTypeEnum' +import Survey from 'src/server/graphql/schemas/Survey' +import SurveyQuestion from 'src/server/graphql/schemas/SurveyQuestion' +import SurveyQuestionValidationOptions from 'src/server/graphql/schemas/SurveyQuestionValidationOptions' +import SurveyResponseInput from 'src/server/graphql/schemas/SurveyResponseInput' +import User from 'src/server/graphql/schemas/User' +import UserProfile from 'src/server/graphql/schemas/UserProfile' +import UserProjectEvaluation from 'src/server/graphql/schemas/UserProjectEvaluation' +import UserProjectSummary from 'src/server/graphql/schemas/UserProjectSummary' +import UserSummary from 'src/server/graphql/schemas/UserSummary' +import Vote from 'src/server/graphql/schemas/Vote' +import VotingPoolResults from 'src/server/graphql/schemas/VotingPoolResults' -import {pruneAutoLoad} from 'src/server/graphql/util' - -export default pruneAutoLoad(autoloader.load(__dirname)) +export { + CLINamedSurveyResponse, + CandidateGoal, + Chapter, + CreatedIdList, + Cycle, + CycleState, + CycleVotingResults, + Goal, + InputChapter, + InputUser, + MemberGoalRank, + MemberSubject, + NamedResponseValueGroup, + Phase, + PhaseSummary, + Project, + ProjectImport, + ProjectSummary, + ProjectUserSummary, + ProjectsSummary, + ResponseInputValue, + ResponseTypeEnum, + ResponseValue, + ResponseValueGroup, + Status, + SubjectTypeEnum, + Survey, + SurveyQuestion, + SurveyQuestionValidationOptions, + SurveyResponseInput, + User, + UserProfile, + UserProjectEvaluation, + UserProjectSummary, + UserSummary, + Vote, + VotingPoolResults, +} diff --git a/src/server/render.jsx b/src/server/render.jsx index e0c5fa5d..9716937f 100644 --- a/src/server/render.jsx +++ b/src/server/render.jsx @@ -104,7 +104,7 @@ function _getInitialState(req) { // Redis or another store of some kind), we just pass error codes through the // query string so that they can be rendered properly in the UI. switch (req.query.err) { - // TODO: why is this commented out? + /* TODO: why is this commented out? */ // eslint-disable-line no-warning-comments // case 'auth': // initialState.errors = { // messages: ['Authentication failed. Are you sure you have an account?'] diff --git a/src/server/server.js b/src/server/server.js index c7a176b9..7a519825 100644 --- a/src/server/server.js +++ b/src/server/server.js @@ -19,7 +19,7 @@ import {formatServerError} from './util/error' const sentry = new raven.Client(config.server.sentryDSN) -export function start() { +export default function start() { // capture unhandled exceptions raven.patchGlobal(config.server.sentryDSN) diff --git a/src/server/services/chatService/__tests__/createDirectMessage.test.js b/src/server/services/chatService/__tests__/createDirectMessage.test.js index 381ab7d4..a9ce0767 100644 --- a/src/server/services/chatService/__tests__/createDirectMessage.test.js +++ b/src/server/services/chatService/__tests__/createDirectMessage.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import nock from 'nock' diff --git a/src/server/services/chatService/__tests__/getChannelList.test.js b/src/server/services/chatService/__tests__/getChannelList.test.js index e98bece1..8997c66e 100644 --- a/src/server/services/chatService/__tests__/getChannelList.test.js +++ b/src/server/services/chatService/__tests__/getChannelList.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import nock from 'nock' diff --git a/src/server/services/chatService/__tests__/getUserList.test.js b/src/server/services/chatService/__tests__/getUserList.test.js index 11d94955..42eb3f1c 100644 --- a/src/server/services/chatService/__tests__/getUserList.test.js +++ b/src/server/services/chatService/__tests__/getUserList.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import nock from 'nock' diff --git a/src/server/services/chatService/__tests__/inviteToChannel.test.js b/src/server/services/chatService/__tests__/inviteToChannel.test.js index 5915b665..61d0696b 100644 --- a/src/server/services/chatService/__tests__/inviteToChannel.test.js +++ b/src/server/services/chatService/__tests__/inviteToChannel.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import nock from 'nock' diff --git a/src/server/services/dataService/index.js b/src/server/services/dataService/index.js index 01e3d1b0..52e10303 100644 --- a/src/server/services/dataService/index.js +++ b/src/server/services/dataService/index.js @@ -1,9 +1,117 @@ import r from './r' -import models from './models' -import queries from './queries' -export default { +import { + Chapter, + Cycle, + FeedbackType, + Index, + Member, + Phase, + Pool, + PoolMember, + Project, + Question, + Response, + Survey, + SurveyBlueprint, + Vote, + errors, +} from './models' + +import { + changefeedForChapterCreated, + changefeedForCycleStateChanged, + changefeedForMemberPhaseChanged, + changefeedForProjectCreated, + changefeedForSurveySubmitted, + changefeedForVoteSubmitted, + createDb, + dropDb, + excludeQuestionsAboutRespondent, + filterOpenProjectsForMember, + findCyclesForChapter, + findLatestFeedbackResponses, + findMembersInPool, + findProjectByNameForMember, + findProjects, + findProjectsForUser, + findQuestionsByFeedbackType, + findSurveyResponsesForMember, + findVotingResultsForCycle, + getCycleForChapter, + getCyclesInStateForChapter, + getFeedbackTypeByDescriptor, + getFeedbackTypeById, + getFullRetrospectiveSurveyForMember, + getFullSurveyForMemberById, + getLatestCycleForChapter, + getPoolByCycleIdAndMemberId, + getPoolSize, + getPoolsForCycleWithMemberCount, + getProject, + getProjectBySurveyId, + getQuestionById, + getRetrospectiveSurveyForMember, + getSurveyBlueprintByDescriptor, + getSurveyById, + index, + inflateQuestionRefs, + truncateTables, +} from './queries' + +export { r, - ...models, - ...queries, + Chapter, + Cycle, + FeedbackType, + Index, + Member, + Phase, + Pool, + PoolMember, + Project, + Question, + Response, + Survey, + SurveyBlueprint, + Vote, + errors, + changefeedForChapterCreated, + changefeedForCycleStateChanged, + changefeedForMemberPhaseChanged, + changefeedForProjectCreated, + changefeedForSurveySubmitted, + changefeedForVoteSubmitted, + createDb, + dropDb, + excludeQuestionsAboutRespondent, + filterOpenProjectsForMember, + findCyclesForChapter, + findLatestFeedbackResponses, + findMembersInPool, + findProjectByNameForMember, + findProjects, + findProjectsForUser, + findQuestionsByFeedbackType, + findSurveyResponsesForMember, + findVotingResultsForCycle, + getCycleForChapter, + getCyclesInStateForChapter, + getFeedbackTypeByDescriptor, + getFeedbackTypeById, + getFullRetrospectiveSurveyForMember, + getFullSurveyForMemberById, + getLatestCycleForChapter, + getPoolByCycleIdAndMemberId, + getPoolSize, + getPoolsForCycleWithMemberCount, + getProject, + getProjectBySurveyId, + getQuestionById, + getRetrospectiveSurveyForMember, + getSurveyBlueprintByDescriptor, + getSurveyById, + index, + inflateQuestionRefs, + truncateTables, } diff --git a/src/server/services/dataService/models/index.js b/src/server/services/dataService/models/index.js index aa6b315b..2007f2a6 100644 --- a/src/server/services/dataService/models/index.js +++ b/src/server/services/dataService/models/index.js @@ -1,15 +1,41 @@ import thinky from 'thinky' -import config from 'src/config' -import {autoloadFunctions} from 'src/server/util' +import chapter from 'src/server/services/dataService/models/chapter' +import cycle from 'src/server/services/dataService/models/cycle' +import feedbackType from 'src/server/services/dataService/models/feedbackType' +import member from 'src/server/services/dataService/models/member' +import phase from 'src/server/services/dataService/models/phase' +import pool from 'src/server/services/dataService/models/pool' +import poolMember from 'src/server/services/dataService/models/poolMember' +import project from 'src/server/services/dataService/models/project' +import question from 'src/server/services/dataService/models/question' +import response from 'src/server/services/dataService/models/response' +import survey from 'src/server/services/dataService/models/survey' +import surveyBlueprint from 'src/server/services/dataService/models/surveyBlueprint' +import vote from 'src/server/services/dataService/models/vote' +import config from 'src/config' import r from '../r' const t = thinky({r, createDatabase: false}) const errors = t.Errors // load model configurations -const modelDefinitions = autoloadFunctions(__dirname) +const modelDefinitions = { + chapter, + cycle, + feedbackType, + member, + phase, + pool, + poolMember, + project, + question, + response, + survey, + surveyBlueprint, + vote, +} // initiate models const models = {r, errors} diff --git a/src/server/services/dataService/queries/getSurveyBlueprintByDescriptor.js b/src/server/services/dataService/queries/getSurveyBlueprintByDescriptor.js index 9e0eebf6..65e0faf3 100644 --- a/src/server/services/dataService/queries/getSurveyBlueprintByDescriptor.js +++ b/src/server/services/dataService/queries/getSurveyBlueprintByDescriptor.js @@ -4,7 +4,7 @@ import {customQueryError} from '../util' const surveysBluprintsTable = r.table('surveyBlueprints') export default function getSurveyBlueprintByDescriptor(descriptor) { - // FIXME: should be instead rejected with an easily identifiable DocumentNotFound error + /* FIXME: should be instead rejected with an easily identifiable DocumentNotFound error */ // eslint-disable-line no-warning-comments return surveysBluprintsTable.getAll(descriptor, {index: 'descriptor'}) .nth(0) .default(customQueryError(`No Survey Blueprint found with descriptor ${descriptor}`)) diff --git a/src/server/services/dataService/queries/index.js b/src/server/services/dataService/queries/index.js index fffd6ccf..94311241 100644 --- a/src/server/services/dataService/queries/index.js +++ b/src/server/services/dataService/queries/index.js @@ -1,3 +1,77 @@ -import autoloader from 'auto-loader' +import changefeedForChapterCreated from 'src/server/services/dataService/queries/changefeedForChapterCreated' +import changefeedForCycleStateChanged from 'src/server/services/dataService/queries/changefeedForCycleStateChanged' +import changefeedForMemberPhaseChanged from 'src/server/services/dataService/queries/changefeedForMemberPhaseChanged' +import changefeedForProjectCreated from 'src/server/services/dataService/queries/changefeedForProjectCreated' +import changefeedForSurveySubmitted from 'src/server/services/dataService/queries/changefeedForSurveySubmitted' +import changefeedForVoteSubmitted from 'src/server/services/dataService/queries/changefeedForVoteSubmitted' +import createDb from 'src/server/services/dataService/queries/createDb' +import dropDb from 'src/server/services/dataService/queries/dropDb' +import excludeQuestionsAboutRespondent from 'src/server/services/dataService/queries/excludeQuestionsAboutRespondent' +import filterOpenProjectsForMember from 'src/server/services/dataService/queries/filterOpenProjectsForMember' +import findCyclesForChapter from 'src/server/services/dataService/queries/findCyclesForChapter' +import findLatestFeedbackResponses from 'src/server/services/dataService/queries/findLatestFeedbackResponses' +import findMembersInPool from 'src/server/services/dataService/queries/findMembersInPool' +import findProjectByNameForMember from 'src/server/services/dataService/queries/findProjectByNameForMember' +import findProjects from 'src/server/services/dataService/queries/findProjects' +import findProjectsForUser from 'src/server/services/dataService/queries/findProjectsForUser' +import findQuestionsByFeedbackType from 'src/server/services/dataService/queries/findQuestionsByFeedbackType' +import findSurveyResponsesForMember from 'src/server/services/dataService/queries/findSurveyResponsesForMember' +import findVotingResultsForCycle from 'src/server/services/dataService/queries/findVotingResultsForCycle' +import getCycleForChapter from 'src/server/services/dataService/queries/getCycleForChapter' +import getCyclesInStateForChapter from 'src/server/services/dataService/queries/getCyclesInStateForChapter' +import getFeedbackTypeByDescriptor from 'src/server/services/dataService/queries/getFeedbackTypeByDescriptor' +import getFeedbackTypeById from 'src/server/services/dataService/queries/getFeedbackTypeById' +import getFullRetrospectiveSurveyForMember from 'src/server/services/dataService/queries/getFullRetrospectiveSurveyForMember' +import getFullSurveyForMemberById from 'src/server/services/dataService/queries/getFullSurveyForMemberById' +import getLatestCycleForChapter from 'src/server/services/dataService/queries/getLatestCycleForChapter' +import getPoolByCycleIdAndMemberId from 'src/server/services/dataService/queries/getPoolByCycleIdAndMemberId' +import getPoolSize from 'src/server/services/dataService/queries/getPoolSize' +import getPoolsForCycleWithMemberCount from 'src/server/services/dataService/queries/getPoolsForCycleWithMemberCount' +import getProject from 'src/server/services/dataService/queries/getProject' +import getProjectBySurveyId from 'src/server/services/dataService/queries/getProjectBySurveyId' +import getQuestionById from 'src/server/services/dataService/queries/getQuestionById' +import getRetrospectiveSurveyForMember from 'src/server/services/dataService/queries/getRetrospectiveSurveyForMember' +import getSurveyBlueprintByDescriptor from 'src/server/services/dataService/queries/getSurveyBlueprintByDescriptor' +import getSurveyById from 'src/server/services/dataService/queries/getSurveyById' +import inflateQuestionRefs from 'src/server/services/dataService/queries/inflateQuestionRefs' +import truncateTables from 'src/server/services/dataService/queries/truncateTables' -export default autoloader.load(__dirname) +export { + changefeedForChapterCreated, + changefeedForCycleStateChanged, + changefeedForMemberPhaseChanged, + changefeedForProjectCreated, + changefeedForSurveySubmitted, + changefeedForVoteSubmitted, + createDb, + dropDb, + excludeQuestionsAboutRespondent, + filterOpenProjectsForMember, + findCyclesForChapter, + findLatestFeedbackResponses, + findMembersInPool, + findProjectByNameForMember, + findProjects, + findProjectsForUser, + findQuestionsByFeedbackType, + findSurveyResponsesForMember, + findVotingResultsForCycle, + getCycleForChapter, + getCyclesInStateForChapter, + getFeedbackTypeByDescriptor, + getFeedbackTypeById, + getFullRetrospectiveSurveyForMember, + getFullSurveyForMemberById, + getLatestCycleForChapter, + getPoolByCycleIdAndMemberId, + getPoolSize, + getPoolsForCycleWithMemberCount, + getProject, + getProjectBySurveyId, + getQuestionById, + getRetrospectiveSurveyForMember, + getSurveyBlueprintByDescriptor, + getSurveyById, + inflateQuestionRefs, + truncateTables, +} diff --git a/src/server/services/goalLibraryService/index.js b/src/server/services/goalLibraryService/index.js index 5b3ebb3e..6f77e741 100644 --- a/src/server/services/goalLibraryService/index.js +++ b/src/server/services/goalLibraryService/index.js @@ -1 +1,3 @@ -export {default as getGoalInfo} from './getGoalInfo' +import {default as getGoalInfo} from './getGoalInfo' + +export default getGoalInfo diff --git a/src/server/services/projectFormationService/lib/errors.js b/src/server/services/projectFormationService/lib/errors.js index 6173bdf8..10e3e27d 100644 --- a/src/server/services/projectFormationService/lib/errors.js +++ b/src/server/services/projectFormationService/lib/errors.js @@ -1,4 +1,4 @@ -export function NoValidPlanFoundError(message) { +export default function NoValidPlanFoundError(message) { this.name = 'NoValidPlanFoundError' this.message = message } diff --git a/src/server/services/projectFormationService/lib/partitioning.js b/src/server/services/projectFormationService/lib/partitioning.js index 84c74f2c..ae6ba0db 100644 --- a/src/server/services/projectFormationService/lib/partitioning.js +++ b/src/server/services/projectFormationService/lib/partitioning.js @@ -40,7 +40,7 @@ export function * enumerateSubsets(list, subsetSize, shouldPrune) { const shouldPruneByIndexes = subsetIndexes => shouldPrune && shouldPrune(indexesToValues(subsetIndexes)) const seen = new Set() - for (const subsetIndexes of enumerateNchooseKIndexes(n, k, shouldPruneByIndexes)) { + for (const subsetIndexes of enumerateNchooseKIndexes({n, k, shouldPrune: shouldPruneByIndexes})) { const subset = indexesToValues(subsetIndexes) const key = subset.toString() @@ -56,7 +56,7 @@ export function * enumerateSubsets(list, subsetSize, shouldPrune) { // number of elements from a list. // // From: http://www.cs.colostate.edu/~anderson/cs161/wiki/doku.php?do=export_s5&id=slides:week8 -function * enumerateNchooseKIndexes(n, k, shouldPrune, p = 0, low = 0, subset = []) { +function * enumerateNchooseKIndexes({n, k, shouldPrune, p = 0, low = 0, subset = []}) { const high = n - 1 - k + p + 1 for (let i = low; i <= high; i++) { @@ -69,7 +69,7 @@ function * enumerateNchooseKIndexes(n, k, shouldPrune, p = 0, low = 0, subset = if (p >= k - 1) { yield subset.concat() } else { - yield * enumerateNchooseKIndexes(n, k, shouldPrune, p + 1, i + 1, subset) + yield * enumerateNchooseKIndexes({n, k, shouldPrune, p: p + 1, low: i + 1, subset}) } } } diff --git a/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js b/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js index fa3257db..74f04180 100644 --- a/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js +++ b/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js @@ -7,7 +7,7 @@ import { import createTeamSizes from './createTeamSizes' -export function getQuickTeamFormationPlan(pool) { +export default function getQuickTeamFormationPlan(pool) { const seatCount = getPoolSize(pool) const goal = mostPopularGoal(pool) const teams = getTeamsForGoal(pool, goal) diff --git a/src/server/services/surveyService/index.js b/src/server/services/surveyService/index.js index 89bbb3d2..e229f5ac 100644 --- a/src/server/services/surveyService/index.js +++ b/src/server/services/surveyService/index.js @@ -1,7 +1,7 @@ import Promise from 'bluebird' import {Question, Response} from 'src/server/services/dataService' -export async function getFeedbackResponsesBySubjectId(subjectId) { +export default async function getFeedbackResponsesBySubjectId(subjectId) { const responses = await Response.filter({subjectId}) const getFeedbackTypeDescriptor = _memoizedFeedbackTypeDescriptorFetcher() diff --git a/src/server/util/index.js b/src/server/util/index.js index 37d80361..404bd0dc 100644 --- a/src/server/util/index.js +++ b/src/server/util/index.js @@ -1,6 +1,5 @@ import fs from 'fs' import config from 'src/config' -import autoloader from 'auto-loader' import raven from 'raven' const sentry = new raven.Client(config.server.sentryDSN) @@ -27,16 +26,6 @@ export function loadJSON(filePath, validateItem = item => item) { }) } -export function autoloadFunctions(directoryPath) { - const moduleExports = autoloader.load(directoryPath) - return Object.keys(moduleExports).reduce((result, key) => { - if (typeof moduleExports[key] === 'function') { - result[key] = moduleExports[key] - } - return result - }, {}) -} - export function logRejection(promise, message = '') { return promise.catch(err => { console.warn(message, err.stack || err) diff --git a/src/server/util/jwt.js b/src/server/util/jwt.js index b031d1cb..f3d12756 100644 --- a/src/server/util/jwt.js +++ b/src/server/util/jwt.js @@ -5,7 +5,7 @@ import {ADMIN} from 'src/common/models/user' const JWT_ISSUER = 'learnersguild.org' -export function serverToServerJWT() { +export default function serverToServerJWT() { /* eslint-disable camelcase */ const now = Math.floor(Date.now() / 1000) const claims = { diff --git a/src/server/util/project.js b/src/server/util/project.js index 00013f93..d587e3c6 100644 --- a/src/server/util/project.js +++ b/src/server/util/project.js @@ -1,6 +1,6 @@ import {assertValidSurvey} from './survey' -export function entireProjectTeamHasCompletedSurvey(project, survey) { +export default function entireProjectTeamHasCompletedSurvey(project, survey) { assertValidSurvey(survey) if (project.memberIds.length !== survey.completedBy.length) { diff --git a/src/server/workers/chapterCreated.js b/src/server/workers/chapterCreated.js index e566aa2c..467b5084 100644 --- a/src/server/workers/chapterCreated.js +++ b/src/server/workers/chapterCreated.js @@ -1,9 +1,11 @@ import config from 'src/config' import {getOwnerAndRepoFromGitHubURL} from 'src/common/util' import {Chapter} from 'src/server/services/dataService' -import {getTeam, createTeam} from 'src/server/services/gitHubService' +import {getTeam, createTeam} from 'src/server/services/gitHubService' // eslint-disable-line import/named +// Ignoring line because we're not allowed to change way these +// are exported due to note found in 'src/server/services/gitHubService' -export function start() { +export default function start() { const jobService = require('src/server/services/jobService') jobService.processJobs('chapterCreated', processChapterCreated) } diff --git a/src/server/workers/cycleInitialized.js b/src/server/workers/cycleInitialized.js index ac7ff497..3e3a0c86 100644 --- a/src/server/workers/cycleInitialized.js +++ b/src/server/workers/cycleInitialized.js @@ -1,6 +1,6 @@ import {Pool} from 'src/server/services/dataService' -import createPoolsForCycle from 'src/server/actions/createPoolsForCycle' -import sendCycleInitializedAnnouncements from 'src/server/actions/sendCycleInitializedAnnouncements' +import {default as createPoolsForCycle} from 'src/server/actions/createPoolsForCycle' +import {default as sendCycleInitializedAnnouncements} from 'src/server/actions/sendCycleInitializedAnnouncements' export function start() { const jobService = require('src/server/services/jobService') diff --git a/src/server/workers/memberPhaseChanged.js b/src/server/workers/memberPhaseChanged.js index 572523a5..ee86a5ad 100644 --- a/src/server/workers/memberPhaseChanged.js +++ b/src/server/workers/memberPhaseChanged.js @@ -22,7 +22,7 @@ export async function processMemberPhaseChangeCompleted({old_val: oldMember, new const currentCycle = await getLatestCycleForChapter(newMember.chapterId) if (currentCycle.state === GOAL_SELECTION) { if (oldMember.phaseId) { - // TODO: remove from voting pool and delete submitted votes (if any) + /* TODO: remove from voting pool and delete submitted votes (if any) */ // eslint-disable-line no-warning-comments } if (newPhase.hasVoting === true) { const poolMember = await addMemberToPoolInCycle(currentCycle, newMember) diff --git a/src/server/workers/voteSubmitted.js b/src/server/workers/voteSubmitted.js index 00e1139c..001e6961 100644 --- a/src/server/workers/voteSubmitted.js +++ b/src/server/workers/voteSubmitted.js @@ -4,7 +4,7 @@ import {Cycle, Pool, Vote, r} from 'src/server/services/dataService' import {getGoalInfo} from 'src/server/services/goalLibraryService' import getCycleVotingResults from 'src/server/actions/getCycleVotingResults' -export function start() { +export default function start() { const jobService = require('src/server/services/jobService') jobService.processJobs('voteSubmitted', processVoteSubmitted) } diff --git a/src/test/helpers/index.js b/src/test/helpers/index.js index a442897d..2be3c2d6 100644 --- a/src/test/helpers/index.js +++ b/src/test/helpers/index.js @@ -1,7 +1,12 @@ -module.exports = Object.assign({}, - require('./db'), +import useFixture from 'src/test/helpers/fixtures' + +console.log('~~~> useFixture', useFixture) + +const theImports = Object.assign({}, require('./graphql'), - require('./fixtures'), require('./expectations'), require('./idmMocks'), ) + +export theImports +export * from './db' \ No newline at end of file diff --git a/src/test/stubs/chatService.js b/src/test/stubs/chatService.js index e31695c4..3716131a 100644 --- a/src/test/stubs/chatService.js +++ b/src/test/stubs/chatService.js @@ -1,5 +1,5 @@ import chatService from 'src/server/services/chatService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(chatService, { createChannel: () => Promise.resolve({}), diff --git a/src/test/stubs/crmService.js b/src/test/stubs/crmService.js index d09e8a4e..ad85f691 100644 --- a/src/test/stubs/crmService.js +++ b/src/test/stubs/crmService.js @@ -1,5 +1,5 @@ import crmService from 'src/server/services/crmService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(crmService, { getContactByEmail: () => Promise.resolve({}), diff --git a/src/test/stubs/gitHubService.js b/src/test/stubs/gitHubService.js index c69ed3d5..e4f3f56a 100644 --- a/src/test/stubs/gitHubService.js +++ b/src/test/stubs/gitHubService.js @@ -1,5 +1,5 @@ import gitHubService from 'src/server/services/gitHubService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(gitHubService, { getTeam: () => Promise.resolve({}), diff --git a/src/test/stubs/herokuService.js b/src/test/stubs/herokuService.js index 88a5fee2..05c61259 100644 --- a/src/test/stubs/herokuService.js +++ b/src/test/stubs/herokuService.js @@ -1,5 +1,5 @@ import herokuService from 'src/server/services/herokuService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(herokuService, { addCollaboratorToApp: () => Promise.resolve(true), diff --git a/src/test/stubs/idmService.js b/src/test/stubs/idmService.js index ed7afca9..72c550ad 100644 --- a/src/test/stubs/idmService.js +++ b/src/test/stubs/idmService.js @@ -1,5 +1,5 @@ import idmService from 'src/server/services/idmService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(idmService, { deactivateUser: () => Promise.resolve({}), diff --git a/src/test/stubs/jobService.js b/src/test/stubs/jobService.js index ad0207ce..440af9ea 100644 --- a/src/test/stubs/jobService.js +++ b/src/test/stubs/jobService.js @@ -1,5 +1,5 @@ import jobService from 'src/server/services/jobService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(jobService, { createJob: () => Promise.resolve({}), diff --git a/src/test/stubs/notificationService.js b/src/test/stubs/notificationService.js index fa96f304..f8f414a3 100644 --- a/src/test/stubs/notificationService.js +++ b/src/test/stubs/notificationService.js @@ -1,5 +1,5 @@ import notificationService from 'src/server/services/notificationService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(notificationService, { notify: () => Promise.resolve({}), diff --git a/src/test/stubs/util.js b/src/test/stubs/util.js index 219fe5df..832404f5 100644 --- a/src/test/stubs/util.js +++ b/src/test/stubs/util.js @@ -1,6 +1,6 @@ import {stub} from 'sinon' -export function stubServiceAPIs(service, apis) { +export default function stubServiceAPIs(service, apis) { const enableOne = name => { stub(service, name, apis[name]) } From 4bbf239ffc3fe6ebeee4ed10b58e21b7d7befcd3 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 12:01:51 -0700 Subject: [PATCH 02/31] Removes errors from overzelous import changing --- .../actions/__tests__/assertSurveyIsComplete.test.js | 3 --- .../actions/__tests__/createPoolsForCycle.test.js | 2 +- .../actions/__tests__/saveSurveyResponse.test.js | 2 +- .../cliCommand/commands/__tests__/cycle.test.js | 4 +--- .../chatService/__tests__/createDirectMessage.test.js | 2 +- .../chatService/__tests__/getChannelList.test.js | 2 +- .../chatService/__tests__/getUserList.test.js | 2 +- .../chatService/__tests__/inviteToChannel.test.js | 2 +- src/test/helpers/index.js | 11 +++-------- 9 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/server/actions/__tests__/assertSurveyIsComplete.test.js b/src/server/actions/__tests__/assertSurveyIsComplete.test.js index 115b87dc..075787a1 100644 --- a/src/server/actions/__tests__/assertSurveyIsComplete.test.js +++ b/src/server/actions/__tests__/assertSurveyIsComplete.test.js @@ -6,9 +6,6 @@ import {resetDB, useFixture} from 'src/test/helpers' import assertSurveyIsComplete from '../assertSurveyIsComplete' -console.log('useFixture inside test~~~>', useFixture) -console.log('resetDB inside test~~~>', resetDB) - describe(testContext(__filename), function () { useFixture.buildOneQuestionSurvey() diff --git a/src/server/actions/__tests__/createPoolsForCycle.test.js b/src/server/actions/__tests__/createPoolsForCycle.test.js index cfc00b8e..4313ce03 100644 --- a/src/server/actions/__tests__/createPoolsForCycle.test.js +++ b/src/server/actions/__tests__/createPoolsForCycle.test.js @@ -8,7 +8,7 @@ import factory from 'src/test/factories' import {MAX_POOL_SIZE} from 'src/common/models/pool' import {Pool, findMembersInPool} from 'src/server/services/dataService' -import {default as createPoolsForCycle} from '../createPoolsForCycle' +import createPoolsForCycle from '../createPoolsForCycle' describe(testContext(__filename), function () { beforeEach(resetDB) diff --git a/src/server/actions/__tests__/saveSurveyResponse.test.js b/src/server/actions/__tests__/saveSurveyResponse.test.js index 8a7d5625..18a4e675 100644 --- a/src/server/actions/__tests__/saveSurveyResponse.test.js +++ b/src/server/actions/__tests__/saveSurveyResponse.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions */ import {resetDB, useFixture} from 'src/test/helpers' import {Response} from 'src/server/services/dataService' diff --git a/src/server/cliCommand/commands/__tests__/cycle.test.js b/src/server/cliCommand/commands/__tests__/cycle.test.js index 4bdacf84..41f5b969 100644 --- a/src/server/cliCommand/commands/__tests__/cycle.test.js +++ b/src/server/cliCommand/commands/__tests__/cycle.test.js @@ -4,14 +4,12 @@ import factory from 'src/test/factories' import {resetDB, useFixture} from 'src/test/helpers' import {GOAL_SELECTION, PRACTICE, REFLECTION} from 'src/common/models/cycle' -import Models from 'src/server/services/dataService/models' +import {Cycle} from 'src/server/services/dataService/models' import {getCommand} from 'src/server/cliCommand/util' import {concatResults} from './helpers' -const {Cycle} = Models - describe(testContext(__filename), function () { useFixture.ensureNoGlobalWindow() diff --git a/src/server/services/chatService/__tests__/createDirectMessage.test.js b/src/server/services/chatService/__tests__/createDirectMessage.test.js index a9ce0767..381ab7d4 100644 --- a/src/server/services/chatService/__tests__/createDirectMessage.test.js +++ b/src/server/services/chatService/__tests__/createDirectMessage.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions */ import nock from 'nock' diff --git a/src/server/services/chatService/__tests__/getChannelList.test.js b/src/server/services/chatService/__tests__/getChannelList.test.js index 8997c66e..e98bece1 100644 --- a/src/server/services/chatService/__tests__/getChannelList.test.js +++ b/src/server/services/chatService/__tests__/getChannelList.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions */ import nock from 'nock' diff --git a/src/server/services/chatService/__tests__/getUserList.test.js b/src/server/services/chatService/__tests__/getUserList.test.js index 42eb3f1c..11d94955 100644 --- a/src/server/services/chatService/__tests__/getUserList.test.js +++ b/src/server/services/chatService/__tests__/getUserList.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions */ import nock from 'nock' diff --git a/src/server/services/chatService/__tests__/inviteToChannel.test.js b/src/server/services/chatService/__tests__/inviteToChannel.test.js index 61d0696b..5915b665 100644 --- a/src/server/services/chatService/__tests__/inviteToChannel.test.js +++ b/src/server/services/chatService/__tests__/inviteToChannel.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions */ import nock from 'nock' diff --git a/src/test/helpers/index.js b/src/test/helpers/index.js index 2be3c2d6..a442897d 100644 --- a/src/test/helpers/index.js +++ b/src/test/helpers/index.js @@ -1,12 +1,7 @@ -import useFixture from 'src/test/helpers/fixtures' - -console.log('~~~> useFixture', useFixture) - -const theImports = Object.assign({}, +module.exports = Object.assign({}, + require('./db'), require('./graphql'), + require('./fixtures'), require('./expectations'), require('./idmMocks'), ) - -export theImports -export * from './db' \ No newline at end of file From 424472c361a6f009876d76ce3c807977bb2dad23 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 12:31:55 -0700 Subject: [PATCH 03/31] Resets test stub files in attempt to get to test-passing state --- src/test/stubs/chatService.js | 2 +- src/test/stubs/crmService.js | 2 +- src/test/stubs/gitHubService.js | 2 +- src/test/stubs/herokuService.js | 2 +- src/test/stubs/idmService.js | 2 +- src/test/stubs/jobService.js | 2 +- src/test/stubs/notificationService.js | 2 +- src/test/stubs/util.js | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/test/stubs/chatService.js b/src/test/stubs/chatService.js index 3716131a..e31695c4 100644 --- a/src/test/stubs/chatService.js +++ b/src/test/stubs/chatService.js @@ -1,5 +1,5 @@ import chatService from 'src/server/services/chatService' -import stubServiceAPIs from './util' +import {stubServiceAPIs} from './util' const stubbedAPIs = stubServiceAPIs(chatService, { createChannel: () => Promise.resolve({}), diff --git a/src/test/stubs/crmService.js b/src/test/stubs/crmService.js index ad85f691..d09e8a4e 100644 --- a/src/test/stubs/crmService.js +++ b/src/test/stubs/crmService.js @@ -1,5 +1,5 @@ import crmService from 'src/server/services/crmService' -import stubServiceAPIs from './util' +import {stubServiceAPIs} from './util' const stubbedAPIs = stubServiceAPIs(crmService, { getContactByEmail: () => Promise.resolve({}), diff --git a/src/test/stubs/gitHubService.js b/src/test/stubs/gitHubService.js index e4f3f56a..c69ed3d5 100644 --- a/src/test/stubs/gitHubService.js +++ b/src/test/stubs/gitHubService.js @@ -1,5 +1,5 @@ import gitHubService from 'src/server/services/gitHubService' -import stubServiceAPIs from './util' +import {stubServiceAPIs} from './util' const stubbedAPIs = stubServiceAPIs(gitHubService, { getTeam: () => Promise.resolve({}), diff --git a/src/test/stubs/herokuService.js b/src/test/stubs/herokuService.js index 05c61259..88a5fee2 100644 --- a/src/test/stubs/herokuService.js +++ b/src/test/stubs/herokuService.js @@ -1,5 +1,5 @@ import herokuService from 'src/server/services/herokuService' -import stubServiceAPIs from './util' +import {stubServiceAPIs} from './util' const stubbedAPIs = stubServiceAPIs(herokuService, { addCollaboratorToApp: () => Promise.resolve(true), diff --git a/src/test/stubs/idmService.js b/src/test/stubs/idmService.js index 72c550ad..ed7afca9 100644 --- a/src/test/stubs/idmService.js +++ b/src/test/stubs/idmService.js @@ -1,5 +1,5 @@ import idmService from 'src/server/services/idmService' -import stubServiceAPIs from './util' +import {stubServiceAPIs} from './util' const stubbedAPIs = stubServiceAPIs(idmService, { deactivateUser: () => Promise.resolve({}), diff --git a/src/test/stubs/jobService.js b/src/test/stubs/jobService.js index 440af9ea..ad0207ce 100644 --- a/src/test/stubs/jobService.js +++ b/src/test/stubs/jobService.js @@ -1,5 +1,5 @@ import jobService from 'src/server/services/jobService' -import stubServiceAPIs from './util' +import {stubServiceAPIs} from './util' const stubbedAPIs = stubServiceAPIs(jobService, { createJob: () => Promise.resolve({}), diff --git a/src/test/stubs/notificationService.js b/src/test/stubs/notificationService.js index f8f414a3..fa96f304 100644 --- a/src/test/stubs/notificationService.js +++ b/src/test/stubs/notificationService.js @@ -1,5 +1,5 @@ import notificationService from 'src/server/services/notificationService' -import stubServiceAPIs from './util' +import {stubServiceAPIs} from './util' const stubbedAPIs = stubServiceAPIs(notificationService, { notify: () => Promise.resolve({}), diff --git a/src/test/stubs/util.js b/src/test/stubs/util.js index 832404f5..219fe5df 100644 --- a/src/test/stubs/util.js +++ b/src/test/stubs/util.js @@ -1,6 +1,6 @@ import {stub} from 'sinon' -export default function stubServiceAPIs(service, apis) { +export function stubServiceAPIs(service, apis) { const enableOne = name => { stub(service, name, apis[name]) } From c96b5ed3e42a33856e188c62ef058299e876004b Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 12:46:43 -0700 Subject: [PATCH 04/31] Removes 'default' changes but keeps other linting fixes --- src/common/actions/app.js | 6 ++---- src/common/actions/auth.js | 4 +--- src/server/actions/compileSurveyData.js | 4 ++-- src/server/actions/createPoolsForCycle.js | 2 +- src/server/actions/deactivateUser.js | 2 +- src/server/actions/findActiveMembersForPhase.js | 2 +- src/server/actions/findActiveMembersInChapter.js | 2 +- src/server/actions/findActiveVotingMembersInChapter.js | 2 +- src/server/actions/findUsers.js | 2 +- src/server/actions/formProjects.js | 4 ++-- src/server/actions/getChapter.js | 7 ------- src/server/actions/getCycleVotingResults.js | 6 +++++- src/server/actions/getUser.js | 2 +- src/server/actions/importProject.js | 6 +++--- src/server/cliCommand/commands/cycle.js | 4 ++-- src/server/cliCommand/commands/playbook.js | 2 +- src/server/cliCommand/commands/profile.js | 2 +- src/server/cliCommand/commands/project.js | 4 ++-- src/server/cliCommand/commands/retro.js | 2 +- src/server/cliCommand/commands/vote.js | 9 +++++++-- .../configureChangeFeeds/util/processStateChangefeed.js | 2 +- src/server/graphql/mutations/index.js | 1 - src/server/graphql/schemas/index.js | 2 ++ src/server/server.js | 2 +- src/server/services/goalLibraryService/index.js | 4 +--- .../services/projectFormationService/lib/errors.js | 2 +- .../lib/quickTeamFormationPlan/index.js | 2 +- src/server/services/surveyService/index.js | 2 +- src/server/util/jwt.js | 2 +- src/server/util/project.js | 2 +- src/server/workers/chapterCreated.js | 2 +- src/server/workers/cycleInitialized.js | 4 ++-- src/server/workers/voteSubmitted.js | 2 +- 33 files changed, 50 insertions(+), 53 deletions(-) diff --git a/src/common/actions/app.js b/src/common/actions/app.js index 0206c621..564bc16b 100644 --- a/src/common/actions/app.js +++ b/src/common/actions/app.js @@ -1,6 +1,4 @@ -import Types from './types' - -const { +import { APP_SHOW_LOADING, APP_HIDE_LOADING, FETCH_DATA_REQUEST, @@ -8,7 +6,7 @@ const { FETCH_DATA_SUCCESS, AUTHORIZATION_ERROR, DISMISS_ERROR, -} = Types +} from './types' export function fetchDataRequest() { return {type: FETCH_DATA_REQUEST} diff --git a/src/common/actions/auth.js b/src/common/actions/auth.js index 5602f618..9fede538 100644 --- a/src/common/actions/auth.js +++ b/src/common/actions/auth.js @@ -1,6 +1,4 @@ -import Types from './types' - -const {UPDATE_JWT, UNAUTHENTICATED_ERROR} = Types +import {UPDATE_JWT, UNAUTHENTICATED_ERROR} from './types' export function updateJWT(lgJWT) { return {type: UPDATE_JWT, lgJWT} diff --git a/src/server/actions/compileSurveyData.js b/src/server/actions/compileSurveyData.js index 18ec3597..f2d13069 100644 --- a/src/server/actions/compileSurveyData.js +++ b/src/server/actions/compileSurveyData.js @@ -1,7 +1,7 @@ import {renderQuestionBodies} from 'src/common/models/survey' -import {default as getMemberInfo} from 'src/server/actions/getMemberInfo' +import getMemberInfo from 'src/server/actions/getMemberInfo' import {Project, getFullRetrospectiveSurveyForMember} from 'src/server/services/dataService' -import {default as customQueryError} from 'src/server/services/dataService/util' +import {customQueryError} from 'src/server/services/dataService/util' import {LGForbiddenError} from 'src/server/util/error' export async function compileSurveyDataForMember(memberId, projectId) { diff --git a/src/server/actions/createPoolsForCycle.js b/src/server/actions/createPoolsForCycle.js index 2b04217b..1058730d 100644 --- a/src/server/actions/createPoolsForCycle.js +++ b/src/server/actions/createPoolsForCycle.js @@ -2,7 +2,7 @@ import Promise from 'bluebird' import {range, unique, groupById, shuffle} from 'src/common/util' import {Pool, PoolMember} from 'src/server/services/dataService' -import {default as findActiveVotingMembersInChapter} from 'src/server/actions/findActiveVotingMembersInChapter' +import findActiveVotingMembersInChapter from 'src/server/actions/findActiveVotingMembersInChapter' import {POOL_NAMES, MAX_POOL_SIZE} from 'src/common/models/pool' export default async function createPoolsForCycle(cycle) { diff --git a/src/server/actions/deactivateUser.js b/src/server/actions/deactivateUser.js index bc4136f9..8e9b0ac3 100644 --- a/src/server/actions/deactivateUser.js +++ b/src/server/actions/deactivateUser.js @@ -1,5 +1,5 @@ import config from 'src/config' -import {default as getUser} from 'src/server/actions/getUser' +import getUser from 'src/server/actions/getUser' import {removeUserFromOrganizations} from 'src/server/services/gitHubService' import {removeCollaboratorFromApps} from 'src/server/services/herokuService' import {deactivateUser as deactivateChatUser} from 'src/server/services/chatService' diff --git a/src/server/actions/findActiveMembersForPhase.js b/src/server/actions/findActiveMembersForPhase.js index 249b24be..2d1a1c39 100644 --- a/src/server/actions/findActiveMembersForPhase.js +++ b/src/server/actions/findActiveMembersForPhase.js @@ -1,4 +1,4 @@ -import {default as findUsers} from 'src/server/actions/findUsers' +import findUsers from 'src/server/actions/findUsers' import {Member} from 'src/server/services/dataService' import {mapById} from 'src/common/util' diff --git a/src/server/actions/findActiveMembersInChapter.js b/src/server/actions/findActiveMembersInChapter.js index 5a08af0f..f75c3389 100644 --- a/src/server/actions/findActiveMembersInChapter.js +++ b/src/server/actions/findActiveMembersInChapter.js @@ -1,6 +1,6 @@ import {Member} from 'src/server/services/dataService' import {mapById} from 'src/server/util' -import {default as getMemberInfo} from './getMemberInfo' +import getMemberInfo from './getMemberInfo' export default async function findActiveMembersInChapter(chapterId) { const members = await Member.filter({chapterId}) diff --git a/src/server/actions/findActiveVotingMembersInChapter.js b/src/server/actions/findActiveVotingMembersInChapter.js index 1e6f05af..55f6d7df 100644 --- a/src/server/actions/findActiveVotingMembersInChapter.js +++ b/src/server/actions/findActiveVotingMembersInChapter.js @@ -1,6 +1,6 @@ import {r, Member, Phase} from 'src/server/services/dataService' import {mapById} from 'src/server/util' -import {default as getMemberInfo} from 'src/server/actions/getMemberInfo' +import getMemberInfo from 'src/server/actions/getMemberInfo' export default async function findActiveVotingMembersInChapter(chapterId) { const votingPhaseIds = (await Phase.filter({hasVoting: true}).pluck('id')).map(p => p.id) diff --git a/src/server/actions/findUsers.js b/src/server/actions/findUsers.js index 4aa64d8b..81178cc3 100644 --- a/src/server/actions/findUsers.js +++ b/src/server/actions/findUsers.js @@ -1,4 +1,4 @@ -import {default as mergeUsers} from 'src/server/actions/mergeUsers' +import mergeUsers from 'src/server/actions/mergeUsers' export default async function findUsers(identifiers, options) { const {findUsers: findIDMUsers} = require('src/server/services/idmService') diff --git a/src/server/actions/formProjects.js b/src/server/actions/formProjects.js index 4f630757..a5af85e7 100644 --- a/src/server/actions/formProjects.js +++ b/src/server/actions/formProjects.js @@ -4,8 +4,8 @@ import {toArray, mapById, sum} from 'src/server/util' import {flatten} from 'src/common/util' import {getTeamFormationPlan, NoValidPlanFoundError} from 'src/server/services/projectFormationService' import {r, Cycle, Phase, Member, Pool, Project, Vote} from 'src/server/services/dataService' -import {default as getLatestFeedback} from 'src/server/actions/getLatestFeedback' -import {default as generateProjectName} from 'src/server/actions/generateProjectName' +import getLatestFeedback from 'src/server/actions/getLatestFeedback' +import generateProjectName from 'src/server/actions/generateProjectName' import {LGBadRequestError} from 'src/server/util/error' export async function formProjectsIfNoneExist(cycleId, handleNonFatalError) { diff --git a/src/server/actions/getChapter.js b/src/server/actions/getChapter.js index 2e637498..98690134 100644 --- a/src/server/actions/getChapter.js +++ b/src/server/actions/getChapter.js @@ -1,12 +1,5 @@ import {r, errors, Chapter} from 'src/server/services/dataService' -console.log(` - Are we destructuring each of these? - r: ${r} - errors: ${errors} - Chapter: ${Chapter} -`) - export default function getChapter(identifier) { const identifierLower = String(identifier).toLowerCase() return Chapter.filter(row => r.or( diff --git a/src/server/actions/getCycleVotingResults.js b/src/server/actions/getCycleVotingResults.js index 6d2a7341..fd9fa185 100644 --- a/src/server/actions/getCycleVotingResults.js +++ b/src/server/actions/getCycleVotingResults.js @@ -1,4 +1,8 @@ -import {Cycle, getLatestCycleForChapter, findVotingResultsForCycle} from 'src/server/services/dataService' +import { + Cycle, + getLatestCycleForChapter, + findVotingResultsForCycle, +} from 'src/server/services/dataService' export default async function getCycleVotingResults(chapterId, cycleId) { const cycle = cycleId ? diff --git a/src/server/actions/getUser.js b/src/server/actions/getUser.js index 108a5597..f64fba60 100644 --- a/src/server/actions/getUser.js +++ b/src/server/actions/getUser.js @@ -1,4 +1,4 @@ -import {default as mergeUsers} from 'src/server/actions/mergeUsers' +import mergeUsers from 'src/server/actions/mergeUsers' export default async function getUser(identifier, options) { const {getUser: getIDMUser} = require('src/server/services/idmService') diff --git a/src/server/actions/importProject.js b/src/server/actions/importProject.js index 844269ac..ad6b23ab 100644 --- a/src/server/actions/importProject.js +++ b/src/server/actions/importProject.js @@ -1,7 +1,7 @@ import logger from 'src/server/util/logger' -import {default as findUsers} from 'src/server/actions/findUsers' -import {default as getChapter} from 'src/server/actions/getChapter' -import {default as saveProject} from 'src/server/actions/saveProject' +import findUsers from 'src/server/actions/findUsers' +import getChapter from 'src/server/actions/getChapter' +import saveProject from 'src/server/actions/saveProject' import {Phase, getCycleForChapter, getProject} from 'src/server/services/dataService' import {getGoalInfo} from 'src/server/services/goalLibraryService' import {LGBadRequestError} from 'src/server/util/error' diff --git a/src/server/cliCommand/commands/cycle.js b/src/server/cliCommand/commands/cycle.js index d8ffa27a..48c868f9 100644 --- a/src/server/cliCommand/commands/cycle.js +++ b/src/server/cliCommand/commands/cycle.js @@ -1,6 +1,6 @@ import {CYCLE_STATES, PRACTICE, REFLECTION, COMPLETE} from 'src/common/models/cycle' import {userCan} from 'src/common/util' -import {default as getUser} from 'src/server/actions/getUser' +import getUser from 'src/server/actions/getUser' import assertUserIsMember from 'src/server/actions/assertUserIsMember' import createNextCycleForChapter from 'src/server/actions/createNextCycleForChapter' @@ -46,7 +46,7 @@ const subcommands = { }, } -export default async function invoke(args, options) { +export async function invoke(args, options) { if (args._.length >= 1) { const subcommand = args._[0] return await subcommands[subcommand](args.$[subcommand], options) diff --git a/src/server/cliCommand/commands/playbook.js b/src/server/cliCommand/commands/playbook.js index 37ce9bc0..7a94fe79 100644 --- a/src/server/cliCommand/commands/playbook.js +++ b/src/server/cliCommand/commands/playbook.js @@ -1,7 +1,7 @@ import config from 'src/config' import {deprecatedCommand} from '../util' -export default async function invoke(args) { +export async function invoke(args) { let url = config.app.playbookURL if (args._.length >= 1) { const [search] = args._ diff --git a/src/server/cliCommand/commands/profile.js b/src/server/cliCommand/commands/profile.js index c52ce7f3..1d05fd9d 100644 --- a/src/server/cliCommand/commands/profile.js +++ b/src/server/cliCommand/commands/profile.js @@ -1,7 +1,7 @@ import config from 'src/config' import {deprecatedCommand} from '../util' -export default async function invoke() { +export async function invoke() { const url = `${config.server.idm.baseURL}/profile` return deprecatedCommand('/profile', url) } diff --git a/src/server/cliCommand/commands/project.js b/src/server/cliCommand/commands/project.js index 0b28914f..5acd9e00 100644 --- a/src/server/cliCommand/commands/project.js +++ b/src/server/cliCommand/commands/project.js @@ -1,7 +1,7 @@ import config from 'src/config' import {userCan} from 'src/common/util' -import {default as findActiveProjectsForMember} from 'src/server/actions/findActiveProjectsForMember' +import findActiveProjectsForMember from 'src/server/actions/findActiveProjectsForMember' import {Project, findProjectByNameForMember} from 'src/server/services/dataService' import {LGCLIUsageError, LGNotAuthorizedError} from 'src/server/util/error' @@ -58,7 +58,7 @@ const subcommands = { }, } -export default async function invoke(args, options) { +export async function invoke(args, options) { if (args._.length >= 1) { const subcommand = args._[0] return await subcommands[subcommand](args.$[subcommand], options) diff --git a/src/server/cliCommand/commands/retro.js b/src/server/cliCommand/commands/retro.js index 873efcb0..07206c91 100644 --- a/src/server/cliCommand/commands/retro.js +++ b/src/server/cliCommand/commands/retro.js @@ -1,7 +1,7 @@ import config from 'src/config' import {deprecatedCommand} from '../util' -export default async function invoke(args) { +export async function invoke(args) { let url = `${config.app.baseURL}/retro` if (args._.length >= 1) { const [projectName] = args._ diff --git a/src/server/cliCommand/commands/vote.js b/src/server/cliCommand/commands/vote.js index 295de643..02ee463f 100644 --- a/src/server/cliCommand/commands/vote.js +++ b/src/server/cliCommand/commands/vote.js @@ -1,6 +1,11 @@ import config from 'src/config' import {GOAL_SELECTION} from 'src/common/models/cycle' -import {Member, Vote, getCyclesInStateForChapter, getPoolByCycleIdAndMemberId} from 'src/server/services/dataService' +import { + Member, + Vote, + getCyclesInStateForChapter, + getPoolByCycleIdAndMemberId, +} from 'src/server/services/dataService' import { LGNotAuthorizedError, LGBadRequestError, @@ -50,7 +55,7 @@ async function _voteForGoals(user, goalDescriptors, responseURL) { return {...savedVote, member, cycle} } -export default async function invoke(args, {user, responseURL}) { +export async function invoke(args, {user, responseURL}) { const attachments = [] if (args._.length > 0) { await _voteForGoals(user, args._, responseURL) diff --git a/src/server/configureChangeFeeds/util/processStateChangefeed.js b/src/server/configureChangeFeeds/util/processStateChangefeed.js index 70e06a2b..cc6d4fe0 100644 --- a/src/server/configureChangeFeeds/util/processStateChangefeed.js +++ b/src/server/configureChangeFeeds/util/processStateChangefeed.js @@ -1,7 +1,7 @@ /* eslint-disable no-console, camelcase */ import processChangeFeedWithAutoReconnect from 'rethinkdb-changefeed-reconnect' -import {default as handleConnectionError} from './handleConnectionError' +import {handleConnectionError} from './handleConnectionError' export default function processStateChangefeed(options = {}) { const {getFeed, changefeedName} = options diff --git a/src/server/graphql/mutations/index.js b/src/server/graphql/mutations/index.js index 9b69b3a2..fae0b549 100644 --- a/src/server/graphql/mutations/index.js +++ b/src/server/graphql/mutations/index.js @@ -1,4 +1,3 @@ - import deactivateUser from 'src/server/graphql/mutations/deactivateUser' import deleteProject from 'src/server/graphql/mutations/deleteProject' import importProject from 'src/server/graphql/mutations/importProject' diff --git a/src/server/graphql/schemas/index.js b/src/server/graphql/schemas/index.js index d0398b97..f37a4077 100644 --- a/src/server/graphql/schemas/index.js +++ b/src/server/graphql/schemas/index.js @@ -36,6 +36,8 @@ import UserSummary from 'src/server/graphql/schemas/UserSummary' import Vote from 'src/server/graphql/schemas/Vote' import VotingPoolResults from 'src/server/graphql/schemas/VotingPoolResults' +console.log('Status check ~~~> ', Status) + export { CLINamedSurveyResponse, CandidateGoal, diff --git a/src/server/server.js b/src/server/server.js index 7a519825..c7a176b9 100644 --- a/src/server/server.js +++ b/src/server/server.js @@ -19,7 +19,7 @@ import {formatServerError} from './util/error' const sentry = new raven.Client(config.server.sentryDSN) -export default function start() { +export function start() { // capture unhandled exceptions raven.patchGlobal(config.server.sentryDSN) diff --git a/src/server/services/goalLibraryService/index.js b/src/server/services/goalLibraryService/index.js index 6f77e741..5b3ebb3e 100644 --- a/src/server/services/goalLibraryService/index.js +++ b/src/server/services/goalLibraryService/index.js @@ -1,3 +1 @@ -import {default as getGoalInfo} from './getGoalInfo' - -export default getGoalInfo +export {default as getGoalInfo} from './getGoalInfo' diff --git a/src/server/services/projectFormationService/lib/errors.js b/src/server/services/projectFormationService/lib/errors.js index 10e3e27d..6173bdf8 100644 --- a/src/server/services/projectFormationService/lib/errors.js +++ b/src/server/services/projectFormationService/lib/errors.js @@ -1,4 +1,4 @@ -export default function NoValidPlanFoundError(message) { +export function NoValidPlanFoundError(message) { this.name = 'NoValidPlanFoundError' this.message = message } diff --git a/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js b/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js index 74f04180..fa3257db 100644 --- a/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js +++ b/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js @@ -7,7 +7,7 @@ import { import createTeamSizes from './createTeamSizes' -export default function getQuickTeamFormationPlan(pool) { +export function getQuickTeamFormationPlan(pool) { const seatCount = getPoolSize(pool) const goal = mostPopularGoal(pool) const teams = getTeamsForGoal(pool, goal) diff --git a/src/server/services/surveyService/index.js b/src/server/services/surveyService/index.js index e229f5ac..89bbb3d2 100644 --- a/src/server/services/surveyService/index.js +++ b/src/server/services/surveyService/index.js @@ -1,7 +1,7 @@ import Promise from 'bluebird' import {Question, Response} from 'src/server/services/dataService' -export default async function getFeedbackResponsesBySubjectId(subjectId) { +export async function getFeedbackResponsesBySubjectId(subjectId) { const responses = await Response.filter({subjectId}) const getFeedbackTypeDescriptor = _memoizedFeedbackTypeDescriptorFetcher() diff --git a/src/server/util/jwt.js b/src/server/util/jwt.js index f3d12756..b031d1cb 100644 --- a/src/server/util/jwt.js +++ b/src/server/util/jwt.js @@ -5,7 +5,7 @@ import {ADMIN} from 'src/common/models/user' const JWT_ISSUER = 'learnersguild.org' -export default function serverToServerJWT() { +export function serverToServerJWT() { /* eslint-disable camelcase */ const now = Math.floor(Date.now() / 1000) const claims = { diff --git a/src/server/util/project.js b/src/server/util/project.js index d587e3c6..00013f93 100644 --- a/src/server/util/project.js +++ b/src/server/util/project.js @@ -1,6 +1,6 @@ import {assertValidSurvey} from './survey' -export default function entireProjectTeamHasCompletedSurvey(project, survey) { +export function entireProjectTeamHasCompletedSurvey(project, survey) { assertValidSurvey(survey) if (project.memberIds.length !== survey.completedBy.length) { diff --git a/src/server/workers/chapterCreated.js b/src/server/workers/chapterCreated.js index 467b5084..a8578ae1 100644 --- a/src/server/workers/chapterCreated.js +++ b/src/server/workers/chapterCreated.js @@ -5,7 +5,7 @@ import {getTeam, createTeam} from 'src/server/services/gitHubService' // eslint- // Ignoring line because we're not allowed to change way these // are exported due to note found in 'src/server/services/gitHubService' -export default function start() { +export function start() { const jobService = require('src/server/services/jobService') jobService.processJobs('chapterCreated', processChapterCreated) } diff --git a/src/server/workers/cycleInitialized.js b/src/server/workers/cycleInitialized.js index 3e3a0c86..ac7ff497 100644 --- a/src/server/workers/cycleInitialized.js +++ b/src/server/workers/cycleInitialized.js @@ -1,6 +1,6 @@ import {Pool} from 'src/server/services/dataService' -import {default as createPoolsForCycle} from 'src/server/actions/createPoolsForCycle' -import {default as sendCycleInitializedAnnouncements} from 'src/server/actions/sendCycleInitializedAnnouncements' +import createPoolsForCycle from 'src/server/actions/createPoolsForCycle' +import sendCycleInitializedAnnouncements from 'src/server/actions/sendCycleInitializedAnnouncements' export function start() { const jobService = require('src/server/services/jobService') diff --git a/src/server/workers/voteSubmitted.js b/src/server/workers/voteSubmitted.js index 001e6961..00e1139c 100644 --- a/src/server/workers/voteSubmitted.js +++ b/src/server/workers/voteSubmitted.js @@ -4,7 +4,7 @@ import {Cycle, Pool, Vote, r} from 'src/server/services/dataService' import {getGoalInfo} from 'src/server/services/goalLibraryService' import getCycleVotingResults from 'src/server/actions/getCycleVotingResults' -export default function start() { +export function start() { const jobService = require('src/server/services/jobService') jobService.processJobs('voteSubmitted', processVoteSubmitted) } From 6c7c8b674d172266f50183e436329270019836e1 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 13:06:42 -0700 Subject: [PATCH 05/31] imports were expecting an object, changes this to export single object instead of named exports --- src/server/graphql/mutations/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/graphql/mutations/index.js b/src/server/graphql/mutations/index.js index fae0b549..b810c4c4 100644 --- a/src/server/graphql/mutations/index.js +++ b/src/server/graphql/mutations/index.js @@ -10,7 +10,7 @@ import submitSurvey from 'src/server/graphql/mutations/submitSurvey' import unlockRetroSurveyForUser from 'src/server/graphql/mutations/unlockRetroSurveyForUser' import updateUser from 'src/server/graphql/mutations/updateUser' -export { +export default { deactivateUser, deleteProject, importProject, From 9a7cc462ba444f1b87d9fedd0fc33ecd863d8c11 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 13:12:19 -0700 Subject: [PATCH 06/31] Changes export to be object instead of named exports - as of this commit - all tests passing Removes unneeded console log --- src/server/graphql/queries/index.js | 2 +- src/server/graphql/schemas/index.js | 2 -- src/test/stubs/chatService.js | 2 +- src/test/stubs/util.js | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/server/graphql/queries/index.js b/src/server/graphql/queries/index.js index 412a7642..d5f01c9c 100644 --- a/src/server/graphql/queries/index.js +++ b/src/server/graphql/queries/index.js @@ -18,7 +18,7 @@ import getRetrospectiveSurveyQuestion from 'src/server/graphql/queries/getRetros import getUser from 'src/server/graphql/queries/getUser' import getUserSummary from 'src/server/graphql/queries/getUserSummary' -export { +export default { findChapters, findMembers, findPhaseSummaries, diff --git a/src/server/graphql/schemas/index.js b/src/server/graphql/schemas/index.js index f37a4077..d0398b97 100644 --- a/src/server/graphql/schemas/index.js +++ b/src/server/graphql/schemas/index.js @@ -36,8 +36,6 @@ import UserSummary from 'src/server/graphql/schemas/UserSummary' import Vote from 'src/server/graphql/schemas/Vote' import VotingPoolResults from 'src/server/graphql/schemas/VotingPoolResults' -console.log('Status check ~~~> ', Status) - export { CLINamedSurveyResponse, CandidateGoal, diff --git a/src/test/stubs/chatService.js b/src/test/stubs/chatService.js index e31695c4..3716131a 100644 --- a/src/test/stubs/chatService.js +++ b/src/test/stubs/chatService.js @@ -1,5 +1,5 @@ import chatService from 'src/server/services/chatService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(chatService, { createChannel: () => Promise.resolve({}), diff --git a/src/test/stubs/util.js b/src/test/stubs/util.js index 219fe5df..832404f5 100644 --- a/src/test/stubs/util.js +++ b/src/test/stubs/util.js @@ -1,6 +1,6 @@ import {stub} from 'sinon' -export function stubServiceAPIs(service, apis) { +export default function stubServiceAPIs(service, apis) { const enableOne = name => { stub(service, name, apis[name]) } From dc4464303e0da0b69c1259c8735ec822f4118f29 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 14:20:37 -0700 Subject: [PATCH 07/31] Fixes default export for stubs --- src/test/stubs/crmService.js | 2 +- src/test/stubs/gitHubService.js | 2 +- src/test/stubs/herokuService.js | 2 +- src/test/stubs/idmService.js | 2 +- src/test/stubs/jobService.js | 2 +- src/test/stubs/notificationService.js | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/test/stubs/crmService.js b/src/test/stubs/crmService.js index d09e8a4e..ad85f691 100644 --- a/src/test/stubs/crmService.js +++ b/src/test/stubs/crmService.js @@ -1,5 +1,5 @@ import crmService from 'src/server/services/crmService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(crmService, { getContactByEmail: () => Promise.resolve({}), diff --git a/src/test/stubs/gitHubService.js b/src/test/stubs/gitHubService.js index c69ed3d5..e4f3f56a 100644 --- a/src/test/stubs/gitHubService.js +++ b/src/test/stubs/gitHubService.js @@ -1,5 +1,5 @@ import gitHubService from 'src/server/services/gitHubService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(gitHubService, { getTeam: () => Promise.resolve({}), diff --git a/src/test/stubs/herokuService.js b/src/test/stubs/herokuService.js index 88a5fee2..05c61259 100644 --- a/src/test/stubs/herokuService.js +++ b/src/test/stubs/herokuService.js @@ -1,5 +1,5 @@ import herokuService from 'src/server/services/herokuService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(herokuService, { addCollaboratorToApp: () => Promise.resolve(true), diff --git a/src/test/stubs/idmService.js b/src/test/stubs/idmService.js index ed7afca9..72c550ad 100644 --- a/src/test/stubs/idmService.js +++ b/src/test/stubs/idmService.js @@ -1,5 +1,5 @@ import idmService from 'src/server/services/idmService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(idmService, { deactivateUser: () => Promise.resolve({}), diff --git a/src/test/stubs/jobService.js b/src/test/stubs/jobService.js index ad0207ce..440af9ea 100644 --- a/src/test/stubs/jobService.js +++ b/src/test/stubs/jobService.js @@ -1,5 +1,5 @@ import jobService from 'src/server/services/jobService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(jobService, { createJob: () => Promise.resolve({}), diff --git a/src/test/stubs/notificationService.js b/src/test/stubs/notificationService.js index fa96f304..f8f414a3 100644 --- a/src/test/stubs/notificationService.js +++ b/src/test/stubs/notificationService.js @@ -1,5 +1,5 @@ import notificationService from 'src/server/services/notificationService' -import {stubServiceAPIs} from './util' +import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(notificationService, { notify: () => Promise.resolve({}), From 5ab6ef26846b3a1deb0baf2280315a9657e779c1 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 14:53:43 -0700 Subject: [PATCH 08/31] Fixes export of usedFixture to use default --- src/test/helpers/fixtures.js | 2 +- src/test/helpers/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/helpers/fixtures.js b/src/test/helpers/fixtures.js index 00212952..cf2c2477 100644 --- a/src/test/helpers/fixtures.js +++ b/src/test/helpers/fixtures.js @@ -6,7 +6,7 @@ import config from 'src/config' import {Cycle, Project} from 'src/server/services/dataService' import factory from 'src/test/factories' -export const useFixture = { +export default { buildOneQuestionSurvey() { beforeEach(function () { this.buildOneQuestionSurvey = async function ({questionAttrs, subjectIds}) { diff --git a/src/test/helpers/index.js b/src/test/helpers/index.js index a442897d..bdf07587 100644 --- a/src/test/helpers/index.js +++ b/src/test/helpers/index.js @@ -1,7 +1,7 @@ module.exports = Object.assign({}, require('./db'), require('./graphql'), - require('./fixtures'), + {useFixture: require('./fixtures')}, require('./expectations'), require('./idmMocks'), ) From 6746a4859d31a8710b70b8b3df00d1e48957ebf9 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 16:28:33 -0700 Subject: [PATCH 09/31] Fixes default export for helpers database --- src/test/helpers/db.js | 2 +- src/test/helpers/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/helpers/db.js b/src/test/helpers/db.js index 5ba3e266..c67ddb7a 100644 --- a/src/test/helpers/db.js +++ b/src/test/helpers/db.js @@ -1,6 +1,6 @@ import {truncateTables} from 'src/server/services/dataService' -export function resetDB() { +export default function resetDB() { // truncating tables can sometimes take a long time // see: https://github.com/rethinkdb/rethinkdb/issues/134 this.timeout(30000) diff --git a/src/test/helpers/index.js b/src/test/helpers/index.js index bdf07587..6a41a6e9 100644 --- a/src/test/helpers/index.js +++ b/src/test/helpers/index.js @@ -1,5 +1,5 @@ module.exports = Object.assign({}, - require('./db'), + {resetDB: require('./db')}, require('./graphql'), {useFixture: require('./fixtures')}, require('./expectations'), From 4d7bbc076be803093d08e81d04f2ee1aa2866d90 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 16:28:49 -0700 Subject: [PATCH 10/31] Ignores import/named linting rule for dataService because models is being generated dynamically --- src/server/services/dataService/index.js | 30 ++++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/server/services/dataService/index.js b/src/server/services/dataService/index.js index 52e10303..d79b4978 100644 --- a/src/server/services/dataService/index.js +++ b/src/server/services/dataService/index.js @@ -1,21 +1,21 @@ import r from './r' import { - Chapter, - Cycle, - FeedbackType, - Index, - Member, - Phase, - Pool, - PoolMember, - Project, - Question, - Response, - Survey, - SurveyBlueprint, - Vote, - errors, + Chapter, // eslint-disable-line import/named + Cycle, // eslint-disable-line import/named + FeedbackType, // eslint-disable-line import/named + Index, // eslint-disable-line import/named + Member, // eslint-disable-line import/named + Phase, // eslint-disable-line import/named + Pool, // eslint-disable-line import/named + PoolMember, // eslint-disable-line import/named + Project, // eslint-disable-line import/named + Question, // eslint-disable-line import/named + Response, // eslint-disable-line import/named + Survey, // eslint-disable-line import/named + SurveyBlueprint, // eslint-disable-line import/named + Vote, // eslint-disable-line import/named + errors, // eslint-disable-line import/named } from './models' import { From 82fa22c85626376c094664945c852bf1c2442ca6 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 16:34:13 -0700 Subject: [PATCH 11/31] Fixes default export for workers --- src/server/workers/voteSubmitted.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/workers/voteSubmitted.js b/src/server/workers/voteSubmitted.js index 00e1139c..001e6961 100644 --- a/src/server/workers/voteSubmitted.js +++ b/src/server/workers/voteSubmitted.js @@ -4,7 +4,7 @@ import {Cycle, Pool, Vote, r} from 'src/server/services/dataService' import {getGoalInfo} from 'src/server/services/goalLibraryService' import getCycleVotingResults from 'src/server/actions/getCycleVotingResults' -export function start() { +export default function start() { const jobService = require('src/server/services/jobService') jobService.processJobs('voteSubmitted', processVoteSubmitted) } From 97635be2ae8ba465a9a40f048c8b00ff091d8087 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 17:08:14 -0700 Subject: [PATCH 12/31] Takes care of maximum callback linting errors --- src/server/actions/__tests__/saveSurveyResponse.test.js | 2 +- .../services/chatService/__tests__/createDirectMessage.test.js | 2 +- .../services/chatService/__tests__/getChannelList.test.js | 2 +- src/server/services/chatService/__tests__/getUserList.test.js | 2 +- .../services/chatService/__tests__/inviteToChannel.test.js | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/server/actions/__tests__/saveSurveyResponse.test.js b/src/server/actions/__tests__/saveSurveyResponse.test.js index 18a4e675..8a7d5625 100644 --- a/src/server/actions/__tests__/saveSurveyResponse.test.js +++ b/src/server/actions/__tests__/saveSurveyResponse.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import {resetDB, useFixture} from 'src/test/helpers' import {Response} from 'src/server/services/dataService' diff --git a/src/server/services/chatService/__tests__/createDirectMessage.test.js b/src/server/services/chatService/__tests__/createDirectMessage.test.js index 381ab7d4..a9ce0767 100644 --- a/src/server/services/chatService/__tests__/createDirectMessage.test.js +++ b/src/server/services/chatService/__tests__/createDirectMessage.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import nock from 'nock' diff --git a/src/server/services/chatService/__tests__/getChannelList.test.js b/src/server/services/chatService/__tests__/getChannelList.test.js index e98bece1..8997c66e 100644 --- a/src/server/services/chatService/__tests__/getChannelList.test.js +++ b/src/server/services/chatService/__tests__/getChannelList.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import nock from 'nock' diff --git a/src/server/services/chatService/__tests__/getUserList.test.js b/src/server/services/chatService/__tests__/getUserList.test.js index 11d94955..42eb3f1c 100644 --- a/src/server/services/chatService/__tests__/getUserList.test.js +++ b/src/server/services/chatService/__tests__/getUserList.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import nock from 'nock' diff --git a/src/server/services/chatService/__tests__/inviteToChannel.test.js b/src/server/services/chatService/__tests__/inviteToChannel.test.js index 5915b665..61d0696b 100644 --- a/src/server/services/chatService/__tests__/inviteToChannel.test.js +++ b/src/server/services/chatService/__tests__/inviteToChannel.test.js @@ -1,6 +1,6 @@ /* eslint-env mocha */ /* global expect, testContext */ -/* eslint-disable prefer-arrow-callback, no-unused-expressions */ +/* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import nock from 'nock' From 519af76426fd14e3379e9b08054b35019d27fdcf Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 17:31:30 -0700 Subject: [PATCH 13/31] Changes default export for chapterCreated Tests still passing --- src/server/util/project.js | 2 +- src/server/workers/chapterCreated.js | 2 +- src/server/workers/surveySubmitted.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server/util/project.js b/src/server/util/project.js index 00013f93..d587e3c6 100644 --- a/src/server/util/project.js +++ b/src/server/util/project.js @@ -1,6 +1,6 @@ import {assertValidSurvey} from './survey' -export function entireProjectTeamHasCompletedSurvey(project, survey) { +export default function entireProjectTeamHasCompletedSurvey(project, survey) { assertValidSurvey(survey) if (project.memberIds.length !== survey.completedBy.length) { diff --git a/src/server/workers/chapterCreated.js b/src/server/workers/chapterCreated.js index a8578ae1..467b5084 100644 --- a/src/server/workers/chapterCreated.js +++ b/src/server/workers/chapterCreated.js @@ -5,7 +5,7 @@ import {getTeam, createTeam} from 'src/server/services/gitHubService' // eslint- // Ignoring line because we're not allowed to change way these // are exported due to note found in 'src/server/services/gitHubService' -export function start() { +export default function start() { const jobService = require('src/server/services/jobService') jobService.processJobs('chapterCreated', processChapterCreated) } diff --git a/src/server/workers/surveySubmitted.js b/src/server/workers/surveySubmitted.js index ce9b7e3a..ea614a69 100644 --- a/src/server/workers/surveySubmitted.js +++ b/src/server/workers/surveySubmitted.js @@ -2,7 +2,7 @@ import {mapById} from 'src/common/util' import getMemberInfo from 'src/server/actions/getMemberInfo' import {Survey, getProjectBySurveyId} from 'src/server/services/dataService' import sendRetroCompletedNotification from 'src/server/actions/sendRetroCompletedNotification' -import {entireProjectTeamHasCompletedSurvey} from 'src/server/util/project' +import entireProjectTeamHasCompletedSurvey from 'src/server/util/project' export function start() { const jobService = require('src/server/services/jobService') From de194fbf55c5b92fb81a4b9b7916d1a000b56691 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 17:35:40 -0700 Subject: [PATCH 14/31] Export default for jwt utility --- src/server/util/graphql.js | 2 +- src/server/util/jwt.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/util/graphql.js b/src/server/util/graphql.js index d95c813d..04e80c66 100644 --- a/src/server/util/graphql.js +++ b/src/server/util/graphql.js @@ -2,7 +2,7 @@ import fetch from 'isomorphic-fetch' import config from 'src/config' import handleGraphQLError from 'src/common/util/handleGraphQLError' -import {serverToServerJWT} from 'src/server/util/jwt' +import serverToServerJWT from 'src/server/util/jwt' export default function graphQLFetcher(baseURL, lgJWT = serverToServerJWT()) { return graphQLParams => { diff --git a/src/server/util/jwt.js b/src/server/util/jwt.js index b031d1cb..f3d12756 100644 --- a/src/server/util/jwt.js +++ b/src/server/util/jwt.js @@ -5,7 +5,7 @@ import {ADMIN} from 'src/common/models/user' const JWT_ISSUER = 'learnersguild.org' -export function serverToServerJWT() { +export default function serverToServerJWT() { /* eslint-disable camelcase */ const now = Math.floor(Date.now() / 1000) const claims = { From 66f23e1ab01efd22309285dbc2fdf1269e651721 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 17:38:56 -0700 Subject: [PATCH 15/31] surveyService testing helper export default --- src/server/services/surveyService/__tests__/index.test.js | 2 +- src/server/services/surveyService/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/services/surveyService/__tests__/index.test.js b/src/server/services/surveyService/__tests__/index.test.js index db13818d..ae26a997 100644 --- a/src/server/services/surveyService/__tests__/index.test.js +++ b/src/server/services/surveyService/__tests__/index.test.js @@ -11,7 +11,7 @@ import { useFixture } from 'src/test/helpers' -import {getFeedbackResponsesBySubjectId} from '../index' +import getFeedbackResponsesBySubjectId from '../index' describe(testContext(__filename), function () { useFixture.buildSurvey() diff --git a/src/server/services/surveyService/index.js b/src/server/services/surveyService/index.js index 89bbb3d2..e229f5ac 100644 --- a/src/server/services/surveyService/index.js +++ b/src/server/services/surveyService/index.js @@ -1,7 +1,7 @@ import Promise from 'bluebird' import {Question, Response} from 'src/server/services/dataService' -export async function getFeedbackResponsesBySubjectId(subjectId) { +export default async function getFeedbackResponsesBySubjectId(subjectId) { const responses = await Response.filter({subjectId}) const getFeedbackTypeDescriptor = _memoizedFeedbackTypeDescriptorFetcher() From b450f8c1a0639218da206fb5a1b20d3597d4d4b5 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 17:40:23 -0700 Subject: [PATCH 16/31] Default export for quickTeamFormation test helper --- .../lib/quickTeamFormationPlan/__tests__/index.test.js | 4 +--- .../lib/quickTeamFormationPlan/index.js | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/server/services/projectFormationService/lib/quickTeamFormationPlan/__tests__/index.test.js b/src/server/services/projectFormationService/lib/quickTeamFormationPlan/__tests__/index.test.js index ffe13e09..683bc257 100644 --- a/src/server/services/projectFormationService/lib/quickTeamFormationPlan/__tests__/index.test.js +++ b/src/server/services/projectFormationService/lib/quickTeamFormationPlan/__tests__/index.test.js @@ -4,9 +4,7 @@ import {buildTestPool} from '../../../__tests__/helpers' -import { - getQuickTeamFormationPlan, -} from '../index' +import getQuickTeamFormationPlan from '../index' import {getAssignedMemberIds} from '../../teamFormationPlan' diff --git a/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js b/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js index fa3257db..74f04180 100644 --- a/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js +++ b/src/server/services/projectFormationService/lib/quickTeamFormationPlan/index.js @@ -7,7 +7,7 @@ import { import createTeamSizes from './createTeamSizes' -export function getQuickTeamFormationPlan(pool) { +export default function getQuickTeamFormationPlan(pool) { const seatCount = getPoolSize(pool) const goal = mostPopularGoal(pool) const teams = getTeamsForGoal(pool, goal) From a9cd2baf9035612b221fd88b1dce4ba59947a5a0 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 17:46:24 -0700 Subject: [PATCH 17/31] Export default for team formation error --- src/server/services/projectFormationService/index.js | 4 ++-- src/server/services/projectFormationService/lib/errors.js | 2 +- .../lib/quickTeamFormationPlan/createTeamSizes.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/services/projectFormationService/index.js b/src/server/services/projectFormationService/index.js index de68b991..1acb3732 100644 --- a/src/server/services/projectFormationService/index.js +++ b/src/server/services/projectFormationService/index.js @@ -1,12 +1,12 @@ import ObjectiveAppraiser from './lib/ObjectiveAppraiser' import {buildPool} from './lib/pool' -import {getQuickTeamFormationPlan} from './lib/quickTeamFormationPlan' +import getQuickTeamFormationPlan from './lib/quickTeamFormationPlan' import enumerateGoalChoices from './lib/enumerateGoalChoices' import enumerateMemberAssignmentChoices from './lib/enumerateMemberAssignmentChoices' import {teamFormationPlanToString} from './lib/teamFormationPlan' import {logger} from './lib/util' -export {NoValidPlanFoundError} from './lib/errors' +export {default as NoValidPlanFoundError} from './lib/errors' export function getTeamFormationPlan(poolAttributes) { const pool = buildPool(poolAttributes) diff --git a/src/server/services/projectFormationService/lib/errors.js b/src/server/services/projectFormationService/lib/errors.js index 6173bdf8..10e3e27d 100644 --- a/src/server/services/projectFormationService/lib/errors.js +++ b/src/server/services/projectFormationService/lib/errors.js @@ -1,4 +1,4 @@ -export function NoValidPlanFoundError(message) { +export default function NoValidPlanFoundError(message) { this.name = 'NoValidPlanFoundError' this.message = message } diff --git a/src/server/services/projectFormationService/lib/quickTeamFormationPlan/createTeamSizes.js b/src/server/services/projectFormationService/lib/quickTeamFormationPlan/createTeamSizes.js index df77b009..5b431db8 100644 --- a/src/server/services/projectFormationService/lib/quickTeamFormationPlan/createTeamSizes.js +++ b/src/server/services/projectFormationService/lib/quickTeamFormationPlan/createTeamSizes.js @@ -1,4 +1,4 @@ -import {NoValidPlanFoundError} from '../errors' +import NoValidPlanFoundError from '../errors' import {getMinTeamSize} from '../pool' export default function createTeamSizes(recTeamSize, numMembers) { From 8e7d4e1581d1d655a477762cdbded8bcaee751b9 Mon Sep 17 00:00:00 2001 From: Serafin Date: Mon, 18 Sep 2017 17:50:33 -0700 Subject: [PATCH 18/31] Export default for getGoalInfo Ran full tests - all tests passing --- src/server/actions/importProject.js | 2 +- src/server/services/goalLibraryService/index.js | 4 +++- src/server/workers/cycleLaunched/worker.js | 2 +- src/server/workers/voteSubmitted.js | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/server/actions/importProject.js b/src/server/actions/importProject.js index ad6b23ab..dc043449 100644 --- a/src/server/actions/importProject.js +++ b/src/server/actions/importProject.js @@ -3,7 +3,7 @@ import findUsers from 'src/server/actions/findUsers' import getChapter from 'src/server/actions/getChapter' import saveProject from 'src/server/actions/saveProject' import {Phase, getCycleForChapter, getProject} from 'src/server/services/dataService' -import {getGoalInfo} from 'src/server/services/goalLibraryService' +import getGoalInfo from 'src/server/services/goalLibraryService' import {LGBadRequestError} from 'src/server/util/error' export default async function importProject(data = {}) { diff --git a/src/server/services/goalLibraryService/index.js b/src/server/services/goalLibraryService/index.js index 5b3ebb3e..ef353757 100644 --- a/src/server/services/goalLibraryService/index.js +++ b/src/server/services/goalLibraryService/index.js @@ -1 +1,3 @@ -export {default as getGoalInfo} from './getGoalInfo' +import getGoalInfo from './getGoalInfo' + +export default getGoalInfo diff --git a/src/server/workers/cycleLaunched/worker.js b/src/server/workers/cycleLaunched/worker.js index 4692cbf1..722b1176 100644 --- a/src/server/workers/cycleLaunched/worker.js +++ b/src/server/workers/cycleLaunched/worker.js @@ -3,7 +3,7 @@ import Promise from 'bluebird' import generateProjectName from 'src/server/actions/generateProjectName' import sendCycleLaunchAnnouncements from 'src/server/actions/sendCycleLaunchAnnouncements' import {formProjectsIfNoneExist} from 'src/server/actions/formProjects' -import {getGoalInfo} from 'src/server/services/goalLibraryService' +import getGoalInfo from 'src/server/services/goalLibraryService' import {Phase, Member, Project} from 'src/server/services/dataService' export function start() { diff --git a/src/server/workers/voteSubmitted.js b/src/server/workers/voteSubmitted.js index 001e6961..5d0980e2 100644 --- a/src/server/workers/voteSubmitted.js +++ b/src/server/workers/voteSubmitted.js @@ -1,7 +1,7 @@ import Promise from 'bluebird' import {Cycle, Pool, Vote, r} from 'src/server/services/dataService' -import {getGoalInfo} from 'src/server/services/goalLibraryService' +import getGoalInfo from 'src/server/services/goalLibraryService' import getCycleVotingResults from 'src/server/actions/getCycleVotingResults' export default function start() { From 69db8f6ae4dbd45de921121fe03bc12e9b6ce303 Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 09:14:36 -0700 Subject: [PATCH 19/31] Removed accidental inclusion of "index" as module --- src/server/services/dataService/index.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/server/services/dataService/index.js b/src/server/services/dataService/index.js index d79b4978..5831d198 100644 --- a/src/server/services/dataService/index.js +++ b/src/server/services/dataService/index.js @@ -54,7 +54,6 @@ import { getRetrospectiveSurveyForMember, getSurveyBlueprintByDescriptor, getSurveyById, - index, inflateQuestionRefs, truncateTables, } from './queries' @@ -111,7 +110,6 @@ export { getRetrospectiveSurveyForMember, getSurveyBlueprintByDescriptor, getSurveyById, - index, inflateQuestionRefs, truncateTables, } From 75acee3271f03cebef4dde4052517efe3503711d Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 09:17:00 -0700 Subject: [PATCH 20/31] Fixes export for crmService test --- src/server/services/crmService/index.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/server/services/crmService/index.js b/src/server/services/crmService/index.js index 6f81b18d..aac5e590 100644 --- a/src/server/services/crmService/index.js +++ b/src/server/services/crmService/index.js @@ -16,12 +16,8 @@ const paths = { * certain stubbing functionality functionality for testing that relies on the * way the module is cached and later required by dependent modules. */ -export default { - getContactByEmail, - notifyContactSignedUp, -} -async function getContactByEmail(email) { +export async function getContactByEmail(email) { const url = _crmURL(paths.contactProfileByEmail(encodeURIComponent(email))) const resp = await fetch(url, { @@ -38,7 +34,7 @@ async function getContactByEmail(email) { return resp.json() } -async function notifyContactSignedUp(email) { +export async function notifyContactSignedUp(email) { const contact = await getContactByEmail(email) const url = _crmURL(paths.contactProfileByVID(contact.vid)) From 506ecf041573106f025f3ce4ea533016adaaf048 Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 09:17:58 -0700 Subject: [PATCH 21/31] Fixes server default export --- src/server/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/server.js b/src/server/server.js index c7a176b9..7a519825 100644 --- a/src/server/server.js +++ b/src/server/server.js @@ -19,7 +19,7 @@ import {formatServerError} from './util/error' const sentry = new raven.Client(config.server.sentryDSN) -export function start() { +export default function start() { // capture unhandled exceptions raven.patchGlobal(config.server.sentryDSN) From 0a14e055b25d3bc1a2075808cc3dfbba5ea5535c Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 09:59:36 -0700 Subject: [PATCH 22/31] Fixes import of Project --- src/server/graphql/mutations/lockRetroSurveyForUser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/graphql/mutations/lockRetroSurveyForUser.js b/src/server/graphql/mutations/lockRetroSurveyForUser.js index b8b9dfcd..3f5df601 100644 --- a/src/server/graphql/mutations/lockRetroSurveyForUser.js +++ b/src/server/graphql/mutations/lockRetroSurveyForUser.js @@ -1,7 +1,7 @@ import {GraphQLNonNull, GraphQLID} from 'graphql' import {lockRetroSurveyForUser} from 'src/server/actions/retroSurveyLockUnlock' import userCan from 'src/common/util/userCan' -import {Project} from 'src/server/services/dataService/models' +import Project from 'src/server/services/dataService/models' import {LGNotAuthorizedError} from 'src/server/util/error' import {ProjectSummary} from 'src/server/graphql/schemas' From fa4b45e60f06858538e184b5a0c4cc525438b324 Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 10:01:37 -0700 Subject: [PATCH 23/31] Fixes import of processStateChangefeed --- src/server/configureChangeFeeds/util/processStateChangefeed.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/configureChangeFeeds/util/processStateChangefeed.js b/src/server/configureChangeFeeds/util/processStateChangefeed.js index cc6d4fe0..671ac596 100644 --- a/src/server/configureChangeFeeds/util/processStateChangefeed.js +++ b/src/server/configureChangeFeeds/util/processStateChangefeed.js @@ -1,7 +1,7 @@ /* eslint-disable no-console, camelcase */ import processChangeFeedWithAutoReconnect from 'rethinkdb-changefeed-reconnect' -import {handleConnectionError} from './handleConnectionError' +import handleConnectionError from './handleConnectionError' export default function processStateChangefeed(options = {}) { const {getFeed, changefeedName} = options From 26b622efa546b708428cb2e5e4150e2b2be16be4 Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 10:51:11 -0700 Subject: [PATCH 24/31] Fixes ActionTypes exports/imports All tests passing --- src/common/actions/app.js | 6 ++++-- src/common/actions/auth.js | 4 +++- src/common/reducers/app.js | 6 ++++-- src/common/reducers/auth.js | 4 +++- src/common/reducers/chapters.js | 9 +++++---- src/common/reducers/cycleVotingResults.js | 9 +++++---- src/common/reducers/cycles.js | 9 +++++---- src/common/reducers/members.js | 9 +++++---- src/common/reducers/phaseSummaries.js | 6 ++++-- src/common/reducers/phases.js | 9 +++++---- src/common/reducers/projectSummaries.js | 6 ++++-- src/common/reducers/projects.js | 6 ++++-- src/common/reducers/surveys.js | 6 ++++-- src/common/reducers/userSummaries.js | 6 ++++-- src/common/reducers/users.js | 9 +++++---- 15 files changed, 64 insertions(+), 40 deletions(-) diff --git a/src/common/actions/app.js b/src/common/actions/app.js index 564bc16b..d90326b9 100644 --- a/src/common/actions/app.js +++ b/src/common/actions/app.js @@ -1,4 +1,6 @@ -import { +import ActionTypes from './types' + +const { APP_SHOW_LOADING, APP_HIDE_LOADING, FETCH_DATA_REQUEST, @@ -6,7 +8,7 @@ import { FETCH_DATA_SUCCESS, AUTHORIZATION_ERROR, DISMISS_ERROR, -} from './types' +} = ActionTypes export function fetchDataRequest() { return {type: FETCH_DATA_REQUEST} diff --git a/src/common/actions/auth.js b/src/common/actions/auth.js index 9fede538..a9baef5e 100644 --- a/src/common/actions/auth.js +++ b/src/common/actions/auth.js @@ -1,4 +1,6 @@ -import {UPDATE_JWT, UNAUTHENTICATED_ERROR} from './types' +import ActionTypes from './types' + +const {UPDATE_JWT, UNAUTHENTICATED_ERROR} = ActionTypes export function updateJWT(lgJWT) { return {type: UPDATE_JWT, lgJWT} diff --git a/src/common/reducers/app.js b/src/common/reducers/app.js index 8b3dc842..b545c202 100644 --- a/src/common/reducers/app.js +++ b/src/common/reducers/app.js @@ -1,4 +1,6 @@ -import { +import ActionTypes from 'src/common/actions/types' + +const { APP_SHOW_LOADING, APP_HIDE_LOADING, AUTHORIZATION_ERROR, @@ -7,7 +9,7 @@ import { FETCH_DATA_FAILURE, FETCH_DATA_SUCCESS, UNLOCK_SURVEY_FAILURE, -} from 'src/common/actions/types' +} = ActionTypes const initialState = { isBusy: false, diff --git a/src/common/reducers/auth.js b/src/common/reducers/auth.js index cdf86ff0..5bb867b5 100644 --- a/src/common/reducers/auth.js +++ b/src/common/reducers/auth.js @@ -1,4 +1,6 @@ -import {UPDATE_JWT, UNAUTHENTICATED_ERROR} from 'src/common/actions/types' +import ActionTypes from 'src/common/actions/types' + +const {UPDATE_JWT, UNAUTHENTICATED_ERROR} = ActionTypes const initialState = { currentUser: null, diff --git a/src/common/reducers/chapters.js b/src/common/reducers/chapters.js index 750abbb1..a9531e92 100644 --- a/src/common/reducers/chapters.js +++ b/src/common/reducers/chapters.js @@ -1,4 +1,7 @@ -import { +import ActionTypes from 'src/common/actions/types' +import {mergeEntities} from '../util' + +const { GET_CHAPTER_REQUEST, GET_CHAPTER_SUCCESS, GET_CHAPTER_FAILURE, @@ -15,9 +18,7 @@ import { REASSIGN_MEMBERS_TO_CHAPTER_SUCCESS, GET_CYCLE_VOTING_RESULTS_SUCCESS, RECEIVED_CYCLE_VOTING_RESULTS, -} from 'src/common/actions/types' - -import {mergeEntities} from '../util' +} = ActionTypes const initialState = { chapters: {}, diff --git a/src/common/reducers/cycleVotingResults.js b/src/common/reducers/cycleVotingResults.js index b45b0f8f..f9548171 100644 --- a/src/common/reducers/cycleVotingResults.js +++ b/src/common/reducers/cycleVotingResults.js @@ -1,11 +1,12 @@ -import { +import ActionTypes from 'src/common/actions/types' +import {mergeEntities} from 'src/common/util' + +const { GET_CYCLE_VOTING_RESULTS_REQUEST, GET_CYCLE_VOTING_RESULTS_SUCCESS, GET_CYCLE_VOTING_RESULTS_FAILURE, RECEIVED_CYCLE_VOTING_RESULTS, -} from 'src/common/actions/types' - -import {mergeEntities} from 'src/common/util' +} = ActionTypes const initialState = { cycleVotingResults: {}, diff --git a/src/common/reducers/cycles.js b/src/common/reducers/cycles.js index 58a1cda5..553ba514 100644 --- a/src/common/reducers/cycles.js +++ b/src/common/reducers/cycles.js @@ -1,9 +1,10 @@ -import { +import ActionTypes from 'src/common/actions/types' +import {mergeEntities} from 'src/common/util' + +const { GET_CYCLE_VOTING_RESULTS_SUCCESS, RECEIVED_CYCLE_VOTING_RESULTS, -} from 'src/common/actions/types' - -import {mergeEntities} from 'src/common/util' +} = ActionTypes const initialState = { cycles: {}, diff --git a/src/common/reducers/members.js b/src/common/reducers/members.js index b22366dd..ad61b724 100644 --- a/src/common/reducers/members.js +++ b/src/common/reducers/members.js @@ -1,13 +1,14 @@ -import { +import ActionTypes from 'src/common/actions/types' +import {mergeEntities} from 'src/common/util' + +const { FIND_MEMBERS_REQUEST, FIND_MEMBERS_SUCCESS, FIND_MEMBERS_FAILURE, REASSIGN_MEMBERS_TO_CHAPTER_REQUEST, REASSIGN_MEMBERS_TO_CHAPTER_SUCCESS, REASSIGN_MEMBERS_TO_CHAPTER_FAILURE, -} from 'src/common/actions/types' - -import {mergeEntities} from 'src/common/util' +} = ActionTypes const initialState = { members: {}, diff --git a/src/common/reducers/phaseSummaries.js b/src/common/reducers/phaseSummaries.js index 8205e4a8..ae26bd6a 100644 --- a/src/common/reducers/phaseSummaries.js +++ b/src/common/reducers/phaseSummaries.js @@ -1,8 +1,10 @@ -import { +import ActionTypes from 'src/common/actions/types' + +const { FIND_PHASE_SUMMARIES_REQUEST, FIND_PHASE_SUMMARIES_SUCCESS, FIND_PHASE_SUMMARIES_FAILURE, -} from 'src/common/actions/types' +} = ActionTypes const initialState = { phaseSummaries: {}, diff --git a/src/common/reducers/phases.js b/src/common/reducers/phases.js index a2babed5..c9c4bb5b 100644 --- a/src/common/reducers/phases.js +++ b/src/common/reducers/phases.js @@ -1,10 +1,11 @@ -import { +import ActionTypes from 'src/common/actions/types' +import {mergeEntities} from '../util' + +const { FIND_PHASES_REQUEST, FIND_PHASES_SUCCESS, FIND_PHASES_FAILURE, -} from 'src/common/actions/types' - -import {mergeEntities} from '../util' +} = ActionTypes const initialState = { phases: {}, diff --git a/src/common/reducers/projectSummaries.js b/src/common/reducers/projectSummaries.js index f0703b6f..04bcea8c 100644 --- a/src/common/reducers/projectSummaries.js +++ b/src/common/reducers/projectSummaries.js @@ -1,4 +1,6 @@ -import { +import ActionTypes from 'src/common/actions/types' + +const { GET_PROJECT_SUMMARY_REQUEST, GET_PROJECT_SUMMARY_SUCCESS, GET_PROJECT_SUMMARY_FAILURE, @@ -6,7 +8,7 @@ import { LOCK_SURVEY_SUCCESS, UNLOCK_SURVEY_REQUEST, UNLOCK_SURVEY_SUCCESS, -} from 'src/common/actions/types' +} = ActionTypes const initialState = { projectSummaries: {}, diff --git a/src/common/reducers/projects.js b/src/common/reducers/projects.js index e8c6b5e7..b3a4dac8 100644 --- a/src/common/reducers/projects.js +++ b/src/common/reducers/projects.js @@ -1,5 +1,7 @@ +import ActionTypes from 'src/common/actions/types' import {mergeEntities} from 'src/common/util' -import { + +const { FIND_PROJECTS_REQUEST, FIND_PROJECTS_SUCCESS, FIND_PROJECTS_FAILURE, @@ -9,7 +11,7 @@ import { DELETE_PROJECT_REQUEST, DELETE_PROJECT_SUCCESS, DELETE_PROJECT_FAILURE, -} from 'src/common/actions/types' +} = ActionTypes const initialState = { projects: {}, diff --git a/src/common/reducers/surveys.js b/src/common/reducers/surveys.js index 6d4c7a8c..e7524739 100644 --- a/src/common/reducers/surveys.js +++ b/src/common/reducers/surveys.js @@ -1,4 +1,6 @@ -import { +import ActionTypes from 'src/common/actions/types' + +const { FIND_SURVEYS_REQUEST, FIND_SURVEYS_SUCCESS, FIND_SURVEYS_FAILURE, @@ -12,7 +14,7 @@ import { SUBMIT_SURVEY_SUCCESS, SUBMIT_SURVEY_FAILURE, SET_SURVEY_GROUP, -} from 'src/common/actions/types' +} = ActionTypes const initialState = { isBusy: true, diff --git a/src/common/reducers/userSummaries.js b/src/common/reducers/userSummaries.js index 608e5fa7..41c067fb 100644 --- a/src/common/reducers/userSummaries.js +++ b/src/common/reducers/userSummaries.js @@ -1,11 +1,13 @@ -import { +import ActionTypes from 'src/common/actions/types' + +const { DEACTIVATE_USER_REQUEST, DEACTIVATE_USER_SUCCESS, DEACTIVATE_USER_FAILURE, GET_USER_SUMMARY_REQUEST, GET_USER_SUMMARY_SUCCESS, GET_USER_SUMMARY_FAILURE, -} from 'src/common/actions/types' +} = ActionTypes const initialState = { userSummaries: {}, diff --git a/src/common/reducers/users.js b/src/common/reducers/users.js index c64f693d..ddc92f10 100644 --- a/src/common/reducers/users.js +++ b/src/common/reducers/users.js @@ -1,10 +1,11 @@ -import { +import ActionTypes from 'src/common/actions/types' +import {mergeEntities} from 'src/common/util' + +const { FIND_USERS_REQUEST, FIND_USERS_SUCCESS, FIND_USERS_FAILURE, -} from 'src/common/actions/types' - -import {mergeEntities} from 'src/common/util' +} = ActionTypes const initialState = { users: {}, From fa82f41c62e89685d89776b45d61e405d16822bb Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 10:57:56 -0700 Subject: [PATCH 25/31] Fixes loose import/named --- src/script/queueEmpty.js | 4 +++- src/server/actions/getMemberInfo.js | 4 +++- src/server/actions/getUsersByHandles.js | 4 +++- src/server/cliCommand/commands/__tests__/cycle.test.js | 4 +++- src/server/graphql/mutations/unlockRetroSurveyForUser.js | 4 +++- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/script/queueEmpty.js b/src/script/queueEmpty.js index 416e310b..a103956b 100644 --- a/src/script/queueEmpty.js +++ b/src/script/queueEmpty.js @@ -1,8 +1,10 @@ import parseArgs from 'minimist' -import {emptyQueue} from 'src/server/services/queueService' +import queueService from 'src/server/services/queueService' import {finish} from './util' +const {emptyQueue} = queueService + run() .then(() => finish()) .catch(finish) diff --git a/src/server/actions/getMemberInfo.js b/src/server/actions/getMemberInfo.js index 8449e60c..4623c39e 100644 --- a/src/server/actions/getMemberInfo.js +++ b/src/server/actions/getMemberInfo.js @@ -1,4 +1,6 @@ -import {getUsersByIds} from 'src/server/services/idmService' +import idmService from 'src/server/services/idmService' + +const {getUsersByIds} = idmService export default async function getMemberInfo(memberIds) { return getUsersByIds(memberIds) diff --git a/src/server/actions/getUsersByHandles.js b/src/server/actions/getUsersByHandles.js index 86f41dac..f3498423 100644 --- a/src/server/actions/getUsersByHandles.js +++ b/src/server/actions/getUsersByHandles.js @@ -1,4 +1,6 @@ -import {getUsersByHandles as idmGetUsersByHandles} from 'src/server/services/idmService' +import idmService from 'src/server/services/idmService' + +const {idmGetUsersByHandles} = idmService export default function getUsersByHandles(userHandles) { return idmGetUsersByHandles(userHandles) diff --git a/src/server/cliCommand/commands/__tests__/cycle.test.js b/src/server/cliCommand/commands/__tests__/cycle.test.js index 41f5b969..4bdacf84 100644 --- a/src/server/cliCommand/commands/__tests__/cycle.test.js +++ b/src/server/cliCommand/commands/__tests__/cycle.test.js @@ -4,12 +4,14 @@ import factory from 'src/test/factories' import {resetDB, useFixture} from 'src/test/helpers' import {GOAL_SELECTION, PRACTICE, REFLECTION} from 'src/common/models/cycle' -import {Cycle} from 'src/server/services/dataService/models' +import Models from 'src/server/services/dataService/models' import {getCommand} from 'src/server/cliCommand/util' import {concatResults} from './helpers' +const {Cycle} = Models + describe(testContext(__filename), function () { useFixture.ensureNoGlobalWindow() diff --git a/src/server/graphql/mutations/unlockRetroSurveyForUser.js b/src/server/graphql/mutations/unlockRetroSurveyForUser.js index 0fe645e6..1470025a 100644 --- a/src/server/graphql/mutations/unlockRetroSurveyForUser.js +++ b/src/server/graphql/mutations/unlockRetroSurveyForUser.js @@ -1,11 +1,13 @@ import {GraphQLNonNull, GraphQLID} from 'graphql' import {unlockRetroSurveyForUser} from 'src/server/actions/retroSurveyLockUnlock' import userCan from 'src/common/util/userCan' -import {Project} from 'src/server/services/dataService/models' +import Models from 'src/server/services/dataService/models' import {LGNotAuthorizedError} from 'src/server/util/error' import {ProjectSummary} from 'src/server/graphql/schemas' +const {Project} = Models + export default { type: ProjectSummary, args: { From 9c0fdc62726d35af3faf367a3d94854796ff9511 Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 11:22:13 -0700 Subject: [PATCH 26/31] Partially fixes linting errors for deactiveUsers --- src/server/actions/deactivateUser.js | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/server/actions/deactivateUser.js b/src/server/actions/deactivateUser.js index 8e9b0ac3..322be1f2 100644 --- a/src/server/actions/deactivateUser.js +++ b/src/server/actions/deactivateUser.js @@ -1,11 +1,26 @@ import config from 'src/config' import getUser from 'src/server/actions/getUser' -import {removeUserFromOrganizations} from 'src/server/services/gitHubService' -import {removeCollaboratorFromApps} from 'src/server/services/herokuService' -import {deactivateUser as deactivateChatUser} from 'src/server/services/chatService' -import {deactivateUser as deactivateIDMUser} from 'src/server/services/idmService' +import {removeUserFromOrganizations} from 'src/server/services/gitHubService' // eslint-disable-line import/named +import {removeCollaboratorFromApps} from 'src/server/services/herokuService' // eslint-disable-line import/named +import chatService from 'src/server/services/chatService' +import idmService from 'src/server/services/idmService' + import {logRejection} from 'src/server/util' +// NOTE: We're ignoring import named due to note found in +// 'src/server/services/gitHubService' and +// src/server/services/herokuService + +/* TODO: Why does 'src/server/actions/__tests__/deactivateUser.test.js' */ // eslint-disable-line no-warning-comments +// fail when we use deactiveChatUser but pass when we use +// chatService.deactivateUser down below? +// For now, we'll use the passing version + +// const deactivateChatUser = chatService.deactivateUser +// console.log(deactivateChatUser === chatService.deactivateUser) + +const deactivateIDMUser = idmService.deactivateUser + const githubOrgs = config.server.github.organizations const losPermissions = (config.losPermissions || {}) @@ -14,7 +29,7 @@ export default async function deactivateUser(userId) { const memberHerokuApps = (losPermissions.heroku || {}).apps || [] await logRejection(removeUserFromOrganizations(user.handle, githubOrgs), 'Error while removing user from GitHub organizations.') await logRejection(removeCollaboratorFromApps(user, memberHerokuApps), 'Error while removing user from Heroku apps.') - await logRejection(deactivateChatUser(userId), 'Error while deactivating user in the chat system.') + await logRejection(chatService.deactivateUser(userId), 'Error while deactivating user in the chat system.') return deactivateIDMUser(userId) } From a06917be9de6d2df8c2d21088811bf303ffd427b Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 11:43:45 -0700 Subject: [PATCH 27/31] Fixes multiple export/default All tests passing --- src/common/actions/queries/getProjectSummary.js | 2 +- src/common/actions/queries/getUserSummary.js | 2 +- src/common/actions/queries/lockSurvey.js | 2 +- src/common/actions/queries/unlockSurvey.js | 2 +- src/common/components/ChapterForm/index.jsx | 2 +- src/common/components/ContentHeader/index.jsx | 2 +- src/common/components/Layout/index.jsx | 4 +++- src/common/components/ProjectDetail/index.jsx | 2 +- src/common/components/ProjectForm/index.jsx | 2 +- src/common/components/ProjectList/index.jsx | 2 +- src/common/components/ProjectUserSummary/index.jsx | 4 ++-- .../components/RetroSurveyForm/RetroSurveyConfirmation.jsx | 2 +- src/common/components/RetroSurveyForm/RetroSurveyHeader.jsx | 2 +- src/common/components/RetroSurveyForm/RetroSurveyProgress.jsx | 2 +- src/common/components/SurveyForm/index.jsx | 2 +- src/common/components/SurveyFormInputSliderGroup/index.jsx | 2 +- src/common/components/TabbedContentTable/index.jsx | 2 +- src/common/components/UserDetail/index.jsx | 2 +- src/common/components/UserForm/index.jsx | 2 +- src/common/components/UserProjectSummary/index.jsx | 4 ++-- src/common/containers/App/index.jsx | 2 +- src/common/models/feedbackType.js | 2 +- .../actions/__tests__/findUserProjectEvaluations.test.js | 2 +- src/server/actions/__tests__/getLatestFeedback.test.js | 2 +- src/server/actions/findUserProjectEvaluations.js | 2 +- src/server/actions/getLatestFeedback.js | 2 +- src/server/cliCommand/util.js | 1 + .../graphql/queries/__tests__/getProjectSummary.test.js | 2 +- src/server/graphql/queries/__tests__/getUserSummary.test.js | 2 +- src/server/graphql/schemas/UserProjectEvaluation.js | 2 +- .../MembersGetTeammatesTheyGaveGoodFeedbackAppraiser.js | 2 +- .../MembersGetTeammatesTheyGaveGoodFeedbackAppraiser.test.js | 2 +- src/server/workers/__tests__/surveySubmitted.test.js | 2 +- 33 files changed, 37 insertions(+), 34 deletions(-) diff --git a/src/common/actions/queries/getProjectSummary.js b/src/common/actions/queries/getProjectSummary.js index 55454792..30808aba 100644 --- a/src/common/actions/queries/getProjectSummary.js +++ b/src/common/actions/queries/getProjectSummary.js @@ -1,4 +1,4 @@ -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' export default function getProjectSummary(identifier) { return { diff --git a/src/common/actions/queries/getUserSummary.js b/src/common/actions/queries/getUserSummary.js index 2930a4df..627c75c1 100644 --- a/src/common/actions/queries/getUserSummary.js +++ b/src/common/actions/queries/getUserSummary.js @@ -1,4 +1,4 @@ -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' export default function getUserSummary(identifier) { return { diff --git a/src/common/actions/queries/lockSurvey.js b/src/common/actions/queries/lockSurvey.js index ea56a21e..ca255b25 100644 --- a/src/common/actions/queries/lockSurvey.js +++ b/src/common/actions/queries/lockSurvey.js @@ -1,4 +1,4 @@ -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' export default function lockSurvey(memberId, projectId) { return { diff --git a/src/common/actions/queries/unlockSurvey.js b/src/common/actions/queries/unlockSurvey.js index 985549d1..f92bcbbc 100644 --- a/src/common/actions/queries/unlockSurvey.js +++ b/src/common/actions/queries/unlockSurvey.js @@ -1,4 +1,4 @@ -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' export default function unlockSurvey(memberId, projectId) { return { diff --git a/src/common/components/ChapterForm/index.jsx b/src/common/components/ChapterForm/index.jsx index b9e6298c..2a7751c9 100644 --- a/src/common/components/ChapterForm/index.jsx +++ b/src/common/components/ChapterForm/index.jsx @@ -9,7 +9,7 @@ import Helmet from 'react-helmet' import InviteCodeForm from 'src/common/containers/InviteCodeForm' import ContentHeader from 'src/common/components/ContentHeader' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import {renderInput} from 'src/common/util/form' import {slugify} from 'src/common/util' diff --git a/src/common/components/ContentHeader/index.jsx b/src/common/components/ContentHeader/index.jsx index 155edbe6..d8d4eb3d 100644 --- a/src/common/components/ContentHeader/index.jsx +++ b/src/common/components/ContentHeader/index.jsx @@ -1,7 +1,7 @@ import React, {PropTypes} from 'react' import {IconButton} from 'react-toolbox/lib/button' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import styles from './index.scss' diff --git a/src/common/components/Layout/index.jsx b/src/common/components/Layout/index.jsx index 15e6eede..305db9b7 100644 --- a/src/common/components/Layout/index.jsx +++ b/src/common/components/Layout/index.jsx @@ -1 +1,3 @@ -export {default as Flex} from './Flex' +import Flex from './Flex' + +export default Flex diff --git a/src/common/components/ProjectDetail/index.jsx b/src/common/components/ProjectDetail/index.jsx index 800ad3a9..a62d88b7 100644 --- a/src/common/components/ProjectDetail/index.jsx +++ b/src/common/components/ProjectDetail/index.jsx @@ -9,7 +9,7 @@ import Helmet from 'react-helmet' import ContentHeader from 'src/common/components/ContentHeader' import ProjectUserSummary from 'src/common/components/ProjectUserSummary' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import {safeUrl, urlParts, objectValuesAreAllNull} from 'src/common/util' import {renderGoalAsString} from 'src/common/models/goal' diff --git a/src/common/components/ProjectForm/index.jsx b/src/common/components/ProjectForm/index.jsx index 63004a28..d04c29aa 100644 --- a/src/common/components/ProjectForm/index.jsx +++ b/src/common/components/ProjectForm/index.jsx @@ -9,7 +9,7 @@ import ConfirmationDialog from 'src/common/components/ConfirmationDialog' import ContentHeader from 'src/common/components/ContentHeader' import NotFound from 'src/common/components/NotFound' import WrappedButton from 'src/common/components/WrappedButton' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import {FORM_TYPES, renderInput} from 'src/common/util/form' import styles from './index.scss' diff --git a/src/common/components/ProjectList/index.jsx b/src/common/components/ProjectList/index.jsx index 58f5788d..0f892775 100644 --- a/src/common/components/ProjectList/index.jsx +++ b/src/common/components/ProjectList/index.jsx @@ -4,7 +4,7 @@ import Helmet from 'react-helmet' import ContentHeader from 'src/common/components/ContentHeader' import ContentTable from 'src/common/components/ContentTable' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' export default class ProjectList extends Component { render() { diff --git a/src/common/components/ProjectUserSummary/index.jsx b/src/common/components/ProjectUserSummary/index.jsx index 43b9cddd..0bf3469e 100644 --- a/src/common/components/ProjectUserSummary/index.jsx +++ b/src/common/components/ProjectUserSummary/index.jsx @@ -1,8 +1,8 @@ import React, {Component, PropTypes} from 'react' import {Link} from 'react-router' -import {Flex} from 'src/common/components/Layout' -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import Flex from 'src/common/components/Layout' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' import {IconButton} from 'react-toolbox/lib/button' import {ProgressBar} from 'react-toolbox/lib/progress_bar' diff --git a/src/common/components/RetroSurveyForm/RetroSurveyConfirmation.jsx b/src/common/components/RetroSurveyForm/RetroSurveyConfirmation.jsx index 642302a0..06f7b0a1 100644 --- a/src/common/components/RetroSurveyForm/RetroSurveyConfirmation.jsx +++ b/src/common/components/RetroSurveyForm/RetroSurveyConfirmation.jsx @@ -1,5 +1,5 @@ import React from 'react' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import styles from './index.scss' export default function RetroSurveyConfirmation() { diff --git a/src/common/components/RetroSurveyForm/RetroSurveyHeader.jsx b/src/common/components/RetroSurveyForm/RetroSurveyHeader.jsx index 553fb3d9..a060f552 100644 --- a/src/common/components/RetroSurveyForm/RetroSurveyHeader.jsx +++ b/src/common/components/RetroSurveyForm/RetroSurveyHeader.jsx @@ -1,5 +1,5 @@ import React, {PropTypes} from 'react' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import styles from './index.scss' export default function RetroSurveyHeader(props) { diff --git a/src/common/components/RetroSurveyForm/RetroSurveyProgress.jsx b/src/common/components/RetroSurveyForm/RetroSurveyProgress.jsx index 836f3222..659e9335 100644 --- a/src/common/components/RetroSurveyForm/RetroSurveyProgress.jsx +++ b/src/common/components/RetroSurveyForm/RetroSurveyProgress.jsx @@ -1,6 +1,6 @@ import React, {PropTypes} from 'react' import ProgressBar from 'react-toolbox/lib/progress_bar' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' export default function RetroSurveyProgress(props) { const {surveyFieldGroups, surveyGroupIndex} = props diff --git a/src/common/components/SurveyForm/index.jsx b/src/common/components/SurveyForm/index.jsx index 7b8a2e38..f7685e2f 100644 --- a/src/common/components/SurveyForm/index.jsx +++ b/src/common/components/SurveyForm/index.jsx @@ -11,7 +11,7 @@ import {Field} from 'redux-form' import {FORM_INPUT_TYPES} from 'src/common/util/survey' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import SurveyFormInputText from 'src/common/components/SurveyFormInputText' import SurveyFormInputNumeric from 'src/common/components/SurveyFormInputNumeric' import SurveyFormInputRadio from 'src/common/components/SurveyFormInputRadio' diff --git a/src/common/components/SurveyFormInputSliderGroup/index.jsx b/src/common/components/SurveyFormInputSliderGroup/index.jsx index 5870f25f..6cc29c5c 100644 --- a/src/common/components/SurveyFormInputSliderGroup/index.jsx +++ b/src/common/components/SurveyFormInputSliderGroup/index.jsx @@ -2,7 +2,7 @@ import React, {PropTypes} from 'react' import Chip from 'react-toolbox/lib/chip' import Slider from 'react-toolbox/lib/slider' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import styles from './index.css' diff --git a/src/common/components/TabbedContentTable/index.jsx b/src/common/components/TabbedContentTable/index.jsx index b8f5ab43..ccb955d7 100644 --- a/src/common/components/TabbedContentTable/index.jsx +++ b/src/common/components/TabbedContentTable/index.jsx @@ -4,7 +4,7 @@ import {Tab, Tabs} from 'react-toolbox' import ContentHeader from 'src/common/components/ContentHeader' import ContentTable from 'src/common/components/ContentTable' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' export default class TabbedContentTable extends Component { render() { diff --git a/src/common/components/UserDetail/index.jsx b/src/common/components/UserDetail/index.jsx index 1a7160c8..bf0722fc 100644 --- a/src/common/components/UserDetail/index.jsx +++ b/src/common/components/UserDetail/index.jsx @@ -8,7 +8,7 @@ import ConfirmationDialog from 'src/common/components/ConfirmationDialog' import WrappedButton from 'src/common/components/WrappedButton' import ContentSidebar from 'src/common/components/ContentSidebar' import UserProjectSummary from 'src/common/components/UserProjectSummary' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import {formatPartialPhoneNumber} from 'src/common/util/format' import {userCan} from 'src/common/util' diff --git a/src/common/components/UserForm/index.jsx b/src/common/components/UserForm/index.jsx index d2a66cca..20e8b17b 100644 --- a/src/common/components/UserForm/index.jsx +++ b/src/common/components/UserForm/index.jsx @@ -6,7 +6,7 @@ import Helmet from 'react-helmet' import ContentHeader from 'src/common/components/ContentHeader' import NotFound from 'src/common/components/NotFound' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import {FORM_TYPES, renderDropdown} from 'src/common/util/form' import styles from './index.scss' diff --git a/src/common/components/UserProjectSummary/index.jsx b/src/common/components/UserProjectSummary/index.jsx index 92f0734c..538ee185 100644 --- a/src/common/components/UserProjectSummary/index.jsx +++ b/src/common/components/UserProjectSummary/index.jsx @@ -2,8 +2,8 @@ import React, {Component, PropTypes} from 'react' import {Link} from 'react-router' import moment from 'moment-timezone' -import {Flex} from 'src/common/components/Layout' -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import Flex from 'src/common/components/Layout' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' import {renderGoalAsString} from 'src/common/models/goal' import styles from './index.scss' diff --git a/src/common/containers/App/index.jsx b/src/common/containers/App/index.jsx index e254e36e..564e2a74 100644 --- a/src/common/containers/App/index.jsx +++ b/src/common/containers/App/index.jsx @@ -10,7 +10,7 @@ import {IconMenu, MenuItem, MenuDivider} from 'react-toolbox/lib/menu' import Helmet from 'react-helmet' import ErrorBar from 'src/common/components/ErrorBar' -import {Flex} from 'src/common/components/Layout' +import Flex from 'src/common/components/Layout' import {dismissError} from 'src/common/actions/app' import {userCan} from 'src/common/util' diff --git a/src/common/models/feedbackType.js b/src/common/models/feedbackType.js index 89df8917..8029ee26 100644 --- a/src/common/models/feedbackType.js +++ b/src/common/models/feedbackType.js @@ -1,4 +1,4 @@ -export const FEEDBACK_TYPE_DESCRIPTORS = { +export default { CHALLENGE: 'challenge', GENERAL_FEEDBACK: 'generalFeedback', TEAM_PLAY: 'teamPlay', diff --git a/src/server/actions/__tests__/findUserProjectEvaluations.test.js b/src/server/actions/__tests__/findUserProjectEvaluations.test.js index 2e3bfb5a..d407ac68 100644 --- a/src/server/actions/__tests__/findUserProjectEvaluations.test.js +++ b/src/server/actions/__tests__/findUserProjectEvaluations.test.js @@ -6,7 +6,7 @@ import Promise from 'bluebird' import factory from 'src/test/factories' import {resetDB, useFixture} from 'src/test/helpers' import {Project} from 'src/server/services/dataService' -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' import findUserProjectEvaluations from '../findUserProjectEvaluations' diff --git a/src/server/actions/__tests__/getLatestFeedback.test.js b/src/server/actions/__tests__/getLatestFeedback.test.js index 3ca990d4..d6b64a9d 100644 --- a/src/server/actions/__tests__/getLatestFeedback.test.js +++ b/src/server/actions/__tests__/getLatestFeedback.test.js @@ -4,7 +4,7 @@ /* eslint array-callback-return: "off" */ import factory from 'src/test/factories' import {resetDB, useFixture} from 'src/test/helpers' -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' import getLatestFeedback from '../getLatestFeedback' diff --git a/src/server/actions/findUserProjectEvaluations.js b/src/server/actions/findUserProjectEvaluations.js index 28d4837e..bd1f4abf 100644 --- a/src/server/actions/findUserProjectEvaluations.js +++ b/src/server/actions/findUserProjectEvaluations.js @@ -1,7 +1,7 @@ import {Response, Member, Project} from 'src/server/services/dataService' import {groupById} from 'src/server/util' import {extractValueForReponseQuestionFeedbackType} from 'src/server/util/feedback' -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' import {LGBadRequestError} from 'src/server/util/error' const evaluationFeedbackTypeDescriptors = [ diff --git a/src/server/actions/getLatestFeedback.js b/src/server/actions/getLatestFeedback.js index 863cf74f..e4432304 100644 --- a/src/server/actions/getLatestFeedback.js +++ b/src/server/actions/getLatestFeedback.js @@ -1,4 +1,4 @@ -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' import {findLatestFeedbackResponses} from 'src/server/services/dataService' import {likert7Average, LIKERT_SCORE_NA} from 'src/server/util/feedback' diff --git a/src/server/cliCommand/util.js b/src/server/cliCommand/util.js index bd394384..35613363 100644 --- a/src/server/cliCommand/util.js +++ b/src/server/cliCommand/util.js @@ -6,6 +6,7 @@ export function getCommand(command) { try { commandSpec = require('@learnersguild/echo-cli')[command] commandImpl = require(`src/server/cliCommand/commands/${command}`) + commandImpl = require('src/server/cliCommand/commands/' + command) } catch (err) { if (err.code !== 'MODULE_NOT_FOUND') { throw err diff --git a/src/server/graphql/queries/__tests__/getProjectSummary.test.js b/src/server/graphql/queries/__tests__/getProjectSummary.test.js index 37c12427..cfd4e4e4 100644 --- a/src/server/graphql/queries/__tests__/getProjectSummary.test.js +++ b/src/server/graphql/queries/__tests__/getProjectSummary.test.js @@ -5,7 +5,7 @@ import Promise from 'bluebird' import factory from 'src/test/factories' import {resetDB, runGraphQLQuery, useFixture} from 'src/test/helpers' -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' import fields from '../index' diff --git a/src/server/graphql/queries/__tests__/getUserSummary.test.js b/src/server/graphql/queries/__tests__/getUserSummary.test.js index 1e59e9ea..64c23f98 100644 --- a/src/server/graphql/queries/__tests__/getUserSummary.test.js +++ b/src/server/graphql/queries/__tests__/getUserSummary.test.js @@ -3,7 +3,7 @@ /* eslint-disable prefer-arrow-callback, no-unused-expressions */ import factory from 'src/test/factories' import {resetDB, runGraphQLQuery, useFixture} from 'src/test/helpers' -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' import fields from '../index' diff --git a/src/server/graphql/schemas/UserProjectEvaluation.js b/src/server/graphql/schemas/UserProjectEvaluation.js index 9ea04568..d745435e 100644 --- a/src/server/graphql/schemas/UserProjectEvaluation.js +++ b/src/server/graphql/schemas/UserProjectEvaluation.js @@ -2,7 +2,7 @@ import {GraphQLString} from 'graphql' import {GraphQLObjectType} from 'graphql/type' import {GraphQLDateTime} from 'graphql-custom-types' -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' export default new GraphQLObjectType({ name: 'UserProjectEvaluation', diff --git a/src/server/services/projectFormationService/lib/ObjectiveAppraiser/MembersGetTeammatesTheyGaveGoodFeedbackAppraiser.js b/src/server/services/projectFormationService/lib/ObjectiveAppraiser/MembersGetTeammatesTheyGaveGoodFeedbackAppraiser.js index 37e69d48..19f6e72b 100644 --- a/src/server/services/projectFormationService/lib/ObjectiveAppraiser/MembersGetTeammatesTheyGaveGoodFeedbackAppraiser.js +++ b/src/server/services/projectFormationService/lib/ObjectiveAppraiser/MembersGetTeammatesTheyGaveGoodFeedbackAppraiser.js @@ -1,4 +1,4 @@ -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' import {repeat, flatten, sum} from '../util' import {getMemberIds, getUserFeedback} from '../pool' diff --git a/src/server/services/projectFormationService/lib/ObjectiveAppraiser/__tests__/MembersGetTeammatesTheyGaveGoodFeedbackAppraiser.test.js b/src/server/services/projectFormationService/lib/ObjectiveAppraiser/__tests__/MembersGetTeammatesTheyGaveGoodFeedbackAppraiser.test.js index 9e1ea568..d4fc9341 100644 --- a/src/server/services/projectFormationService/lib/ObjectiveAppraiser/__tests__/MembersGetTeammatesTheyGaveGoodFeedbackAppraiser.test.js +++ b/src/server/services/projectFormationService/lib/ObjectiveAppraiser/__tests__/MembersGetTeammatesTheyGaveGoodFeedbackAppraiser.test.js @@ -1,7 +1,7 @@ /* eslint-env mocha */ /* global expect, testContext */ /* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks, no-multi-spaces, comma-spacing */ -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' import MembersGetTeammatesTheyGaveGoodFeedbackAppraiser, { NOVELTY_WEIGHT, diff --git a/src/server/workers/__tests__/surveySubmitted.test.js b/src/server/workers/__tests__/surveySubmitted.test.js index eb2a43dd..fa56159d 100644 --- a/src/server/workers/__tests__/surveySubmitted.test.js +++ b/src/server/workers/__tests__/surveySubmitted.test.js @@ -4,7 +4,7 @@ import stubs from 'src/test/stubs' import factory from 'src/test/factories' import {resetDB, useFixture, mockIdmUsersById} from 'src/test/helpers' -import {FEEDBACK_TYPE_DESCRIPTORS} from 'src/common/models/feedbackType' +import FEEDBACK_TYPE_DESCRIPTORS from 'src/common/models/feedbackType' describe(testContext(__filename), function () { beforeEach(resetDB) From a0e8cb9b0c591a77f75172b7d9be9fc0f75f63e8 Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 12:00:16 -0700 Subject: [PATCH 28/31] Fixed default exports --- src/common/models/surveyBlueprint.js | 2 +- src/common/routes/index.jsx | 2 +- src/common/util/auth.js | 2 +- src/common/util/channel.js | 4 +++- src/common/validations/chapter.js | 2 +- src/common/validations/cycle.js | 2 +- src/common/validations/index.js | 15 ++++++++++----- src/common/validations/inviteCode.js | 2 +- src/common/validations/project.js | 2 +- src/common/validations/user.js | 2 +- .../ensureCycleReflectionSurveysExist.test.js | 2 +- .../actions/ensureCycleReflectionSurveysExist.js | 2 +- src/server/jobQueuesUI.js | 2 +- .../queries/getRetrospectiveSurveyForMember.js | 2 +- 14 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/common/models/surveyBlueprint.js b/src/common/models/surveyBlueprint.js index 1807f6ec..2588d377 100644 --- a/src/common/models/surveyBlueprint.js +++ b/src/common/models/surveyBlueprint.js @@ -1 +1 @@ -export const RETROSPECTIVE_DESCRIPTOR = 'retrospective' +export default 'retrospective' diff --git a/src/common/routes/index.jsx b/src/common/routes/index.jsx index 35b099c0..46e1f7a3 100644 --- a/src/common/routes/index.jsx +++ b/src/common/routes/index.jsx @@ -7,7 +7,7 @@ import {push} from 'react-router-redux' import {userCan} from 'src/common/util' import {authorizationError} from 'src/common/actions/app' -import {loginURL} from 'src/common/util/auth' +import loginURL from 'src/common/util/auth' import App from 'src/common/containers/App' import ChapterForm from 'src/common/containers/ChapterForm' import ChapterList from 'src/common/containers/ChapterList' diff --git a/src/common/util/auth.js b/src/common/util/auth.js index feb4fd5f..087f8c07 100644 --- a/src/common/util/auth.js +++ b/src/common/util/auth.js @@ -1,4 +1,4 @@ -export function loginURL(options = {}) { +export default function loginURL(options = {}) { const redirect = options.redirect ? `?redirect=${encodeURIComponent(options.redirect)}` : '' return `${process.env.IDM_BASE_URL}/sign-in${redirect}` } diff --git a/src/common/util/channel.js b/src/common/util/channel.js index 25d2fa7d..3c36b648 100644 --- a/src/common/util/channel.js +++ b/src/common/util/channel.js @@ -1,6 +1,8 @@ import socketCluster from 'socketcluster-client' -export function subscribe(channelName, onChange) { +/* NOTE: Nothing is using this file! It's not being imported anywhere */ // eslint-disable-line + +export default function subscribe(channelName, onChange) { const socket = socketCluster.connect() socket.on('connect', () => console.log('... socket connected')) socket.on('disconnect', () => console.log('socket disconnected, will try to reconnect socket ...')) diff --git a/src/common/validations/chapter.js b/src/common/validations/chapter.js index b757b5e8..5b614fb3 100644 --- a/src/common/validations/chapter.js +++ b/src/common/validations/chapter.js @@ -2,7 +2,7 @@ import yup from 'yup' import moment from 'moment-timezone' -export const chapterSchema = yup.object().shape({ +export default yup.object().shape({ name: yup.string().required().min(3), channelName: yup.string().required().min(3), timezone: yup.string().required().test( diff --git a/src/common/validations/cycle.js b/src/common/validations/cycle.js index 012ea6dc..f1bb5a7d 100644 --- a/src/common/validations/cycle.js +++ b/src/common/validations/cycle.js @@ -3,7 +3,7 @@ import {CYCLE_STATES} from 'src/common/models/cycle' const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i -export const cycleSchema = yup.object().shape({ +export default yup.object().shape({ id: yup.string().matches(UUID_REGEX), chapterId: yup.string().required().matches(UUID_REGEX), cycleNumber: yup.number().required().min(1), diff --git a/src/common/validations/index.js b/src/common/validations/index.js index cb90703e..741cd64a 100644 --- a/src/common/validations/index.js +++ b/src/common/validations/index.js @@ -1,10 +1,15 @@ import validate from 'validate.js' +import chapterSchema from './chapter' +import cycleSchema from './cycle' +import inviteCodeSchema from './inviteCode' +import projectSchema from './project' +import userSchema from './user' -export * from './chapter' -export * from './cycle' -export * from './inviteCode' -export * from './project' -export * from './user' +export {chapterSchema} +export {cycleSchema} +export {inviteCodeSchema} +export {projectSchema} +export {userSchema} export function validationErrorToReduxFormErrors(error) { const errorMap = {} diff --git a/src/common/validations/inviteCode.js b/src/common/validations/inviteCode.js index 720fe9bf..088a7459 100644 --- a/src/common/validations/inviteCode.js +++ b/src/common/validations/inviteCode.js @@ -5,7 +5,7 @@ import {USER_ROLES} from 'src/common/models/user' const invalidRoleMessage = `\${path} must be one of the following values: ${USER_ROLES.join(', ')}` -export const inviteCodeSchema = yup.object().shape({ +export default yup.object().shape({ code: yup.string().required().min(6), description: yup.string().required().min(6), roles: yup.mixed().test( diff --git a/src/common/validations/project.js b/src/common/validations/project.js index 32d99837..a4dced8e 100644 --- a/src/common/validations/project.js +++ b/src/common/validations/project.js @@ -1,6 +1,6 @@ import yup from 'yup' -export const projectSchema = yup.object().shape({ +export default yup.object().shape({ chapterIdentifier: yup.string().trim().required().min(3), cycleIdentifier: yup.number().integer().required().min(1), goalIdentifier: yup.number().integer().positive().required(), diff --git a/src/common/validations/user.js b/src/common/validations/user.js index 309c7ee0..518de990 100644 --- a/src/common/validations/user.js +++ b/src/common/validations/user.js @@ -1,5 +1,5 @@ import yup from 'yup' -export const userSchema = yup.object().shape({ +export default yup.object().shape({ phaseNumber: yup.number().integer().positive().max(5).nullable(), }) diff --git a/src/server/actions/__tests__/ensureCycleReflectionSurveysExist.test.js b/src/server/actions/__tests__/ensureCycleReflectionSurveysExist.test.js index 0589b160..9fd42a0b 100644 --- a/src/server/actions/__tests__/ensureCycleReflectionSurveysExist.test.js +++ b/src/server/actions/__tests__/ensureCycleReflectionSurveysExist.test.js @@ -2,7 +2,7 @@ /* global expect, testContext */ /* eslint-disable prefer-arrow-callback, no-unused-expressions, max-nested-callbacks */ import Promise from 'bluebird' -import {RETROSPECTIVE_DESCRIPTOR} from 'src/common/models/surveyBlueprint' +import RETROSPECTIVE_DESCRIPTOR from 'src/common/models/surveyBlueprint' import {Project, Survey} from 'src/server/services/dataService' import {resetDB, expectSetEquality} from 'src/test/helpers' import factory from 'src/test/factories' diff --git a/src/server/actions/ensureCycleReflectionSurveysExist.js b/src/server/actions/ensureCycleReflectionSurveysExist.js index 6a715b7f..60ca4d44 100644 --- a/src/server/actions/ensureCycleReflectionSurveysExist.js +++ b/src/server/actions/ensureCycleReflectionSurveysExist.js @@ -1,7 +1,7 @@ import Promise from 'bluebird' import {QUESTION_RESPONSE_TYPES, QUESTION_SUBJECT_TYPES} from 'src/common/models/survey' -import {RETROSPECTIVE_DESCRIPTOR} from 'src/common/models/surveyBlueprint' +import RETROSPECTIVE_DESCRIPTOR from 'src/common/models/surveyBlueprint' import {r, Phase, Project, Question, Survey, getSurveyBlueprintByDescriptor} from 'src/server/services/dataService' import {LGBadRequestError} from 'src/server/util/error' diff --git a/src/server/jobQueuesUI.js b/src/server/jobQueuesUI.js index 6a7a1532..3acb3960 100644 --- a/src/server/jobQueuesUI.js +++ b/src/server/jobQueuesUI.js @@ -5,7 +5,7 @@ import toureiro from 'toureiro' import config from 'src/config' import {userCan} from 'src/common/util' import {LGNotAuthorizedError} from 'src/server/util/error' -import {loginURL} from 'src/common/util/auth' +import loginURL from 'src/common/util/auth' const app = new express.Router() const redisConfig = url.parse(config.server.redis.url) diff --git a/src/server/services/dataService/queries/getRetrospectiveSurveyForMember.js b/src/server/services/dataService/queries/getRetrospectiveSurveyForMember.js index 04e95347..522269d3 100644 --- a/src/server/services/dataService/queries/getRetrospectiveSurveyForMember.js +++ b/src/server/services/dataService/queries/getRetrospectiveSurveyForMember.js @@ -1,5 +1,5 @@ import {REFLECTION} from 'src/common/models/cycle' -import {RETROSPECTIVE_DESCRIPTOR} from 'src/common/models/surveyBlueprint' +import RETROSPECTIVE_DESCRIPTOR from 'src/common/models/surveyBlueprint' import r from '../r' import {customQueryError} from '../util' From 2f36ea9b56a4e7b77ffa6b43db735f20bf74e270 Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 14:15:42 -0700 Subject: [PATCH 29/31] Fixes default export for "finish" utility in scripts --- src/script/cloneArtifacts.js | 2 +- src/script/dbConfig.js | 2 +- src/script/dbCopy.js | 2 +- src/script/dbCreate.js | 2 +- src/script/dbDrop.js | 2 +- src/script/importProjects.js | 2 +- src/script/importSurveyQuestions.js | 2 +- src/script/importSurveyResponses.js | 2 +- src/script/previewProjects.js | 2 +- src/script/printProjects.js | 2 +- src/script/printSurveyQuestions.js | 2 +- src/script/queueEmpty.js | 2 +- src/script/reloadDataFiles.js | 2 +- src/script/util/index.js | 2 +- src/test/stubs/crmService.js | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/script/cloneArtifacts.js b/src/script/cloneArtifacts.js index c2855896..4c5c3f96 100644 --- a/src/script/cloneArtifacts.js +++ b/src/script/cloneArtifacts.js @@ -4,7 +4,7 @@ import clone from 'git-clone' import getMemberInfo from 'src/server/actions/getMemberInfo' import {Chapter, Cycle, Project} from 'src/server/services/dataService' -import {finish} from './util' +import finish from './util' run() .then(() => finish()) diff --git a/src/script/dbConfig.js b/src/script/dbConfig.js index f19e2230..fa995fac 100644 --- a/src/script/dbConfig.js +++ b/src/script/dbConfig.js @@ -1,7 +1,7 @@ import fs from 'fs' import path from 'path' import dbConfig from 'src/config/db' -import {finish} from './util' +import finish from './util' const configOutputPath = path.resolve(__dirname, '../data/database.json') diff --git a/src/script/dbCopy.js b/src/script/dbCopy.js index fc53511c..32c100bb 100644 --- a/src/script/dbCopy.js +++ b/src/script/dbCopy.js @@ -5,7 +5,7 @@ import s3 from 's3' import config from 'src/config' import dbConfig from 'src/config/db' -import {finish} from './util' +import finish from './util' const s3Client = s3.createClient({s3Options: config.server.aws.s3}) diff --git a/src/script/dbCreate.js b/src/script/dbCreate.js index 9e2dba2d..5f3e4286 100644 --- a/src/script/dbCreate.js +++ b/src/script/dbCreate.js @@ -1,5 +1,5 @@ import {createDb} from 'src/server/services/dataService' -import {finish} from './util' +import finish from './util' createDb() .then(() => finish()) diff --git a/src/script/dbDrop.js b/src/script/dbDrop.js index d8e504cb..fba6df53 100644 --- a/src/script/dbDrop.js +++ b/src/script/dbDrop.js @@ -1,5 +1,5 @@ import {dropDb} from 'src/server/services/dataService' -import {finish} from './util' +import finish from './util' dropDb() .then(() => finish()) diff --git a/src/script/importProjects.js b/src/script/importProjects.js index 31b8b5ac..415b9f87 100644 --- a/src/script/importProjects.js +++ b/src/script/importProjects.js @@ -11,7 +11,7 @@ import parseArgs from 'minimist' import importProject from 'src/server/actions/importProject' import {loadJSON} from 'src/server/util' -import {finish} from './util' +import finish from './util' run() .then(() => finish()) diff --git a/src/script/importSurveyQuestions.js b/src/script/importSurveyQuestions.js index 796eaf76..3a341d65 100644 --- a/src/script/importSurveyQuestions.js +++ b/src/script/importSurveyQuestions.js @@ -2,7 +2,7 @@ import fs from 'fs' import path from 'path' import {Question, Survey} from 'src/server/services/dataService' -import {finish} from './util' +import finish from './util' const LOG_PREFIX = '[importSurveyQuestions]' const DATA_FILE_PATH = path.resolve(__dirname, '../tmp/survey-questions.json') diff --git a/src/script/importSurveyResponses.js b/src/script/importSurveyResponses.js index adde7113..3c0a7ff2 100644 --- a/src/script/importSurveyResponses.js +++ b/src/script/importSurveyResponses.js @@ -2,7 +2,7 @@ import fs from 'fs' import path from 'path' import {Response} from 'src/server/services/dataService' -import {finish} from './util' +import finish from './util' const LOG_PREFIX = '[importSurveyResponses]' const DATA_FILE_PATH = path.resolve(__dirname, '../tmp/survey-responses.json') diff --git a/src/script/previewProjects.js b/src/script/previewProjects.js index ef0acbc7..fc8ff056 100644 --- a/src/script/previewProjects.js +++ b/src/script/previewProjects.js @@ -3,7 +3,7 @@ import parseArgs from 'minimist' import getMemberInfo from 'src/server/actions/getMemberInfo' import {buildProjects} from 'src/server/actions/formProjects' import {Chapter, Cycle, Member} from 'src/server/services/dataService' -import {finish} from './util' +import finish from './util' const LOG_PREFIX = `[${__filename.split('js')[0]}]` diff --git a/src/script/printProjects.js b/src/script/printProjects.js index 502cff40..932494f6 100644 --- a/src/script/printProjects.js +++ b/src/script/printProjects.js @@ -3,7 +3,7 @@ import parseArgs from 'minimist' import getMemberInfo from 'src/server/actions/getMemberInfo' import {Chapter, Cycle, Project} from 'src/server/services/dataService' -import {finish} from './util' +import finish from './util' const LOG_PREFIX = `${__filename.split('.js')[0]}` diff --git a/src/script/printSurveyQuestions.js b/src/script/printSurveyQuestions.js index 7063d0a2..a85f0808 100644 --- a/src/script/printSurveyQuestions.js +++ b/src/script/printSurveyQuestions.js @@ -1,7 +1,7 @@ import parseArgs from 'minimist' import {Question, getSurveyBlueprintByDescriptor} from 'src/server/services/dataService' -import {finish} from './util' +import finish from './util' run() .then(() => finish()) diff --git a/src/script/queueEmpty.js b/src/script/queueEmpty.js index a103956b..29f49254 100644 --- a/src/script/queueEmpty.js +++ b/src/script/queueEmpty.js @@ -1,7 +1,7 @@ import parseArgs from 'minimist' import queueService from 'src/server/services/queueService' -import {finish} from './util' +import finish from './util' const {emptyQueue} = queueService diff --git a/src/script/reloadDataFiles.js b/src/script/reloadDataFiles.js index d0adc429..e982ff8b 100644 --- a/src/script/reloadDataFiles.js +++ b/src/script/reloadDataFiles.js @@ -1,6 +1,6 @@ /* eslint-disable xo/no-process-exit */ import reloadDefaultModelData from 'src/server/actions/reloadDefaultModelData' -import {finish} from './util' +import finish from './util' console.log('Reloading Data Files') diff --git a/src/script/util/index.js b/src/script/util/index.js index ed231879..89bde809 100644 --- a/src/script/util/index.js +++ b/src/script/util/index.js @@ -2,7 +2,7 @@ import moment from 'moment-timezone' const DIFF_UNITS = 'minutes' -export function finish(error, options) { +export default function finish(error, options) { /* eslint-disable unicorn/no-process-exit */ if (error) { console.log('Script error', error) diff --git a/src/test/stubs/crmService.js b/src/test/stubs/crmService.js index ad85f691..667dcb9f 100644 --- a/src/test/stubs/crmService.js +++ b/src/test/stubs/crmService.js @@ -1,4 +1,4 @@ -import crmService from 'src/server/services/crmService' +import {crmService} from 'src/server/services/crmService' import stubServiceAPIs from './util' const stubbedAPIs = stubServiceAPIs(crmService, { From f967a62e23b4078881fc9768d934159634a81efc Mon Sep 17 00:00:00 2001 From: Serafin Date: Tue, 19 Sep 2017 14:21:30 -0700 Subject: [PATCH 30/31] Fixes crmService export that got broken from some previous commit All tests passing --- src/test/stubs/crmService.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/test/stubs/crmService.js b/src/test/stubs/crmService.js index 667dcb9f..8d4b182e 100644 --- a/src/test/stubs/crmService.js +++ b/src/test/stubs/crmService.js @@ -1,6 +1,8 @@ -import {crmService} from 'src/server/services/crmService' +import {getContactByEmail, notifyContactSignedUp} from 'src/server/services/crmService' import stubServiceAPIs from './util' +const crmService = {getContactByEmail, notifyContactSignedUp} + const stubbedAPIs = stubServiceAPIs(crmService, { getContactByEmail: () => Promise.resolve({}), notifyContactSignedUp: () => Promise.resolve(true), From 9b21633fc774c067be88675bc5eb20a3514fc4ee Mon Sep 17 00:00:00 2001 From: Serafin Date: Thu, 21 Sep 2017 10:32:35 -0700 Subject: [PATCH 31/31] Changed absolute path requires to relative path requires --- src/server/graphql/schemas/index.js | 74 +++++++++---------- .../services/dataService/queries/index.js | 74 +++++++++---------- 2 files changed, 74 insertions(+), 74 deletions(-) diff --git a/src/server/graphql/schemas/index.js b/src/server/graphql/schemas/index.js index d0398b97..fdfea97b 100644 --- a/src/server/graphql/schemas/index.js +++ b/src/server/graphql/schemas/index.js @@ -1,40 +1,40 @@ -import CLINamedSurveyResponse from 'src/server/graphql/schemas/CLINamedSurveyResponse' -import CandidateGoal from 'src/server/graphql/schemas/CandidateGoal' -import Chapter from 'src/server/graphql/schemas/Chapter' -import CreatedIdList from 'src/server/graphql/schemas/CreatedIdList' -import Cycle from 'src/server/graphql/schemas/Cycle' -import CycleState from 'src/server/graphql/schemas/CycleState' -import CycleVotingResults from 'src/server/graphql/schemas/CycleVotingResults' -import Goal from 'src/server/graphql/schemas/Goal' -import InputChapter from 'src/server/graphql/schemas/InputChapter' -import InputUser from 'src/server/graphql/schemas/InputUser' -import MemberGoalRank from 'src/server/graphql/schemas/MemberGoalRank' -import MemberSubject from 'src/server/graphql/schemas/MemberSubject' -import NamedResponseValueGroup from 'src/server/graphql/schemas/NamedResponseValueGroup' -import Phase from 'src/server/graphql/schemas/Phase' -import PhaseSummary from 'src/server/graphql/schemas/PhaseSummary' -import Project from 'src/server/graphql/schemas/Project' -import ProjectImport from 'src/server/graphql/schemas/ProjectImport' -import ProjectSummary from 'src/server/graphql/schemas/ProjectSummary' -import ProjectUserSummary from 'src/server/graphql/schemas/ProjectUserSummary' -import ProjectsSummary from 'src/server/graphql/schemas/ProjectsSummary' -import ResponseInputValue from 'src/server/graphql/schemas/ResponseInputValue' -import ResponseTypeEnum from 'src/server/graphql/schemas/ResponseTypeEnum' -import ResponseValue from 'src/server/graphql/schemas/ResponseValue' -import ResponseValueGroup from 'src/server/graphql/schemas/ResponseValueGroup' -import Status from 'src/server/graphql/schemas/Status' -import SubjectTypeEnum from 'src/server/graphql/schemas/SubjectTypeEnum' -import Survey from 'src/server/graphql/schemas/Survey' -import SurveyQuestion from 'src/server/graphql/schemas/SurveyQuestion' -import SurveyQuestionValidationOptions from 'src/server/graphql/schemas/SurveyQuestionValidationOptions' -import SurveyResponseInput from 'src/server/graphql/schemas/SurveyResponseInput' -import User from 'src/server/graphql/schemas/User' -import UserProfile from 'src/server/graphql/schemas/UserProfile' -import UserProjectEvaluation from 'src/server/graphql/schemas/UserProjectEvaluation' -import UserProjectSummary from 'src/server/graphql/schemas/UserProjectSummary' -import UserSummary from 'src/server/graphql/schemas/UserSummary' -import Vote from 'src/server/graphql/schemas/Vote' -import VotingPoolResults from 'src/server/graphql/schemas/VotingPoolResults' +import CLINamedSurveyResponse from './CLINamedSurveyResponse' +import CandidateGoal from './CandidateGoal' +import Chapter from './Chapter' +import CreatedIdList from './CreatedIdList' +import Cycle from './Cycle' +import CycleState from './CycleState' +import CycleVotingResults from './CycleVotingResults' +import Goal from './Goal' +import InputChapter from './InputChapter' +import InputUser from './InputUser' +import MemberGoalRank from './MemberGoalRank' +import MemberSubject from './MemberSubject' +import NamedResponseValueGroup from './NamedResponseValueGroup' +import Phase from './Phase' +import PhaseSummary from './PhaseSummary' +import Project from './Project' +import ProjectImport from './ProjectImport' +import ProjectSummary from './ProjectSummary' +import ProjectUserSummary from './ProjectUserSummary' +import ProjectsSummary from './ProjectsSummary' +import ResponseInputValue from './ResponseInputValue' +import ResponseTypeEnum from './ResponseTypeEnum' +import ResponseValue from './ResponseValue' +import ResponseValueGroup from './ResponseValueGroup' +import Status from './Status' +import SubjectTypeEnum from './SubjectTypeEnum' +import Survey from './Survey' +import SurveyQuestion from './SurveyQuestion' +import SurveyQuestionValidationOptions from './SurveyQuestionValidationOptions' +import SurveyResponseInput from './SurveyResponseInput' +import User from './User' +import UserProfile from './UserProfile' +import UserProjectEvaluation from './UserProjectEvaluation' +import UserProjectSummary from './UserProjectSummary' +import UserSummary from './UserSummary' +import Vote from './Vote' +import VotingPoolResults from './VotingPoolResults' export { CLINamedSurveyResponse, diff --git a/src/server/services/dataService/queries/index.js b/src/server/services/dataService/queries/index.js index 94311241..a3052c3d 100644 --- a/src/server/services/dataService/queries/index.js +++ b/src/server/services/dataService/queries/index.js @@ -1,40 +1,40 @@ -import changefeedForChapterCreated from 'src/server/services/dataService/queries/changefeedForChapterCreated' -import changefeedForCycleStateChanged from 'src/server/services/dataService/queries/changefeedForCycleStateChanged' -import changefeedForMemberPhaseChanged from 'src/server/services/dataService/queries/changefeedForMemberPhaseChanged' -import changefeedForProjectCreated from 'src/server/services/dataService/queries/changefeedForProjectCreated' -import changefeedForSurveySubmitted from 'src/server/services/dataService/queries/changefeedForSurveySubmitted' -import changefeedForVoteSubmitted from 'src/server/services/dataService/queries/changefeedForVoteSubmitted' -import createDb from 'src/server/services/dataService/queries/createDb' -import dropDb from 'src/server/services/dataService/queries/dropDb' -import excludeQuestionsAboutRespondent from 'src/server/services/dataService/queries/excludeQuestionsAboutRespondent' -import filterOpenProjectsForMember from 'src/server/services/dataService/queries/filterOpenProjectsForMember' -import findCyclesForChapter from 'src/server/services/dataService/queries/findCyclesForChapter' -import findLatestFeedbackResponses from 'src/server/services/dataService/queries/findLatestFeedbackResponses' -import findMembersInPool from 'src/server/services/dataService/queries/findMembersInPool' -import findProjectByNameForMember from 'src/server/services/dataService/queries/findProjectByNameForMember' -import findProjects from 'src/server/services/dataService/queries/findProjects' -import findProjectsForUser from 'src/server/services/dataService/queries/findProjectsForUser' -import findQuestionsByFeedbackType from 'src/server/services/dataService/queries/findQuestionsByFeedbackType' -import findSurveyResponsesForMember from 'src/server/services/dataService/queries/findSurveyResponsesForMember' -import findVotingResultsForCycle from 'src/server/services/dataService/queries/findVotingResultsForCycle' -import getCycleForChapter from 'src/server/services/dataService/queries/getCycleForChapter' -import getCyclesInStateForChapter from 'src/server/services/dataService/queries/getCyclesInStateForChapter' -import getFeedbackTypeByDescriptor from 'src/server/services/dataService/queries/getFeedbackTypeByDescriptor' -import getFeedbackTypeById from 'src/server/services/dataService/queries/getFeedbackTypeById' -import getFullRetrospectiveSurveyForMember from 'src/server/services/dataService/queries/getFullRetrospectiveSurveyForMember' -import getFullSurveyForMemberById from 'src/server/services/dataService/queries/getFullSurveyForMemberById' -import getLatestCycleForChapter from 'src/server/services/dataService/queries/getLatestCycleForChapter' -import getPoolByCycleIdAndMemberId from 'src/server/services/dataService/queries/getPoolByCycleIdAndMemberId' -import getPoolSize from 'src/server/services/dataService/queries/getPoolSize' -import getPoolsForCycleWithMemberCount from 'src/server/services/dataService/queries/getPoolsForCycleWithMemberCount' -import getProject from 'src/server/services/dataService/queries/getProject' -import getProjectBySurveyId from 'src/server/services/dataService/queries/getProjectBySurveyId' -import getQuestionById from 'src/server/services/dataService/queries/getQuestionById' -import getRetrospectiveSurveyForMember from 'src/server/services/dataService/queries/getRetrospectiveSurveyForMember' -import getSurveyBlueprintByDescriptor from 'src/server/services/dataService/queries/getSurveyBlueprintByDescriptor' -import getSurveyById from 'src/server/services/dataService/queries/getSurveyById' -import inflateQuestionRefs from 'src/server/services/dataService/queries/inflateQuestionRefs' -import truncateTables from 'src/server/services/dataService/queries/truncateTables' +import changefeedForChapterCreated from './changefeedForChapterCreated' +import changefeedForCycleStateChanged from './changefeedForCycleStateChanged' +import changefeedForMemberPhaseChanged from './changefeedForMemberPhaseChanged' +import changefeedForProjectCreated from './changefeedForProjectCreated' +import changefeedForSurveySubmitted from './changefeedForSurveySubmitted' +import changefeedForVoteSubmitted from './changefeedForVoteSubmitted' +import createDb from './createDb' +import dropDb from './dropDb' +import excludeQuestionsAboutRespondent from './excludeQuestionsAboutRespondent' +import filterOpenProjectsForMember from './filterOpenProjectsForMember' +import findCyclesForChapter from './findCyclesForChapter' +import findLatestFeedbackResponses from './findLatestFeedbackResponses' +import findMembersInPool from './findMembersInPool' +import findProjectByNameForMember from './findProjectByNameForMember' +import findProjects from './findProjects' +import findProjectsForUser from './findProjectsForUser' +import findQuestionsByFeedbackType from './findQuestionsByFeedbackType' +import findSurveyResponsesForMember from './findSurveyResponsesForMember' +import findVotingResultsForCycle from './findVotingResultsForCycle' +import getCycleForChapter from './getCycleForChapter' +import getCyclesInStateForChapter from './getCyclesInStateForChapter' +import getFeedbackTypeByDescriptor from './getFeedbackTypeByDescriptor' +import getFeedbackTypeById from './getFeedbackTypeById' +import getFullRetrospectiveSurveyForMember from './getFullRetrospectiveSurveyForMember' +import getFullSurveyForMemberById from './getFullSurveyForMemberById' +import getLatestCycleForChapter from './getLatestCycleForChapter' +import getPoolByCycleIdAndMemberId from './getPoolByCycleIdAndMemberId' +import getPoolSize from './getPoolSize' +import getPoolsForCycleWithMemberCount from './getPoolsForCycleWithMemberCount' +import getProject from './getProject' +import getProjectBySurveyId from './getProjectBySurveyId' +import getQuestionById from './getQuestionById' +import getRetrospectiveSurveyForMember from './getRetrospectiveSurveyForMember' +import getSurveyBlueprintByDescriptor from './getSurveyBlueprintByDescriptor' +import getSurveyById from './getSurveyById' +import inflateQuestionRefs from './inflateQuestionRefs' +import truncateTables from './truncateTables' export { changefeedForChapterCreated,