diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 73b49df994..a710db52d9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -5,7 +5,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [14.x] + node-version: [18.x] steps: - name: Checkout code uses: actions/checkout@v2 @@ -19,10 +19,10 @@ jobs: # should help to speed up yarn install and be safe # across changes to the repo and platforms - name: Cache Yarn Deps - uses: c-hive/gha-yarn-cache@v1 + uses: c-hive/gha-yarn-cache@v1 - run: echo "github.ref = ${{ github.ref }}" - + # frozen lockfile should make the cache more effective # and our tests more predictable - run: yarn install --frozen-lockfile @@ -35,7 +35,7 @@ jobs: # will fail the PRs that need prettier run on them - name: Does Prettier Need to Be Run run: git --no-pager diff --exit-code -- . - + - run: yarn test:ci build_docker_images: @@ -83,7 +83,7 @@ jobs: - name: NPM - Test, Build, Deploy uses: actions/setup-node@v1 with: - node-version: 14 + node-version: 18 registry-url: https://registry.npmjs.org/ - name: Cache Yarn Deps diff --git a/docker/dockerfiles/obojobo-node-debian.Dockerfile b/docker/dockerfiles/obojobo-node-debian.Dockerfile index a8cbba9894..acafcc817a 100644 --- a/docker/dockerfiles/obojobo-node-debian.Dockerfile +++ b/docker/dockerfiles/obojobo-node-debian.Dockerfile @@ -1,7 +1,7 @@ # ===================================================================================================== # Base stage used for build and final stages # ===================================================================================================== -FROM node:14.16.0-alpine AS base_stage +FROM node:18.16.0-alpine AS base_stage # ======== PUT NEW NODE BIN DIR IN PATH RUN npm config set prefix '/home/node/.npm-global' diff --git a/docker/obojobo-pm2-server-src/package.json b/docker/obojobo-pm2-server-src/package.json index 7ad6695f08..c4e622d341 100644 --- a/docker/obojobo-pm2-server-src/package.json +++ b/docker/obojobo-pm2-server-src/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-pm2-server-app", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "description": "Reference project for deploying and customizing an Obojobo Next server", "main": "./index.js", "private": true, diff --git a/lerna.json b/lerna.json index 540ee3dcb0..a8cd6b935c 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "packages": [ "packages/**/*" ], - "version": "16.0.1", + "version": "17.0.0-alpha.0", "command": { "command": { "run": { diff --git a/package.json b/package.json index 908fc4b17f..773cda6b26 100644 --- a/package.json +++ b/package.json @@ -103,6 +103,6 @@ ], "engines": { "yarn": "^1.15.2", - "node": "^14.16.0" + "node": "^18.16.0" } } diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/delete-button.test.js b/packages/app/obojobo-document-engine/__tests__/common/components/delete-button.test.js deleted file mode 100644 index bc4f5f5e89..0000000000 --- a/packages/app/obojobo-document-engine/__tests__/common/components/delete-button.test.js +++ /dev/null @@ -1,12 +0,0 @@ -import DeleteButtonBase from '../../../src/scripts/common/components/delete-button-base' -import withPageFocus from '../../../src/scripts/common/util/with-page-focus' - -jest.mock('../../../src/scripts/common/components/delete-button-base') -jest.mock('../../../src/scripts/common/util/with-page-focus') - -describe('Delete Button With Focus', () => { - test('withPageFocus HOC is applied to DeleteButtonBase', () => { - require('../../../src/scripts/common/components/delete-button').default - expect(withPageFocus).toHaveBeenCalledWith(DeleteButtonBase) - }) -}) diff --git a/packages/app/obojobo-document-engine/package.json b/packages/app/obojobo-document-engine/package.json index 82c6a435c4..6aad37a7ed 100644 --- a/packages/app/obojobo-document-engine/package.json +++ b/packages/app/obojobo-document-engine/package.json @@ -1,10 +1,10 @@ { "name": "obojobo-document-engine", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "", "engines": { - "node": "^14.16.0" + "node": "^18.16.0" }, "main": "index.js", "scripts": { @@ -67,7 +67,7 @@ "jest": { "testURL": "http://localhost:3000/view/00000000-0000-0000-0000-000000000000/visit/1", "testMatch": [ - "**/__tests__/**/*.js?(x)" + "/**/*.test.js?(x)" ], "setupFilesAfterEnv": [ "./setupTests.js" diff --git a/packages/app/obojobo-document-engine/__tests__/common/chunk/non-editable-chunk/__snapshots__/non-editable-chunk.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/chunk/non-editable-chunk/__snapshots__/non-editable-chunk.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/chunk/non-editable-chunk/__snapshots__/non-editable-chunk.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/chunk/non-editable-chunk/__snapshots__/non-editable-chunk.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/common/chunk/non-editable-chunk/index.js b/packages/app/obojobo-document-engine/src/scripts/common/chunk/non-editable-chunk/index.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/chunk/non-editable-chunk/index.js rename to packages/app/obojobo-document-engine/src/scripts/common/chunk/non-editable-chunk/index.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/chunk/non-editable-chunk/non-editable-chunk.test.js b/packages/app/obojobo-document-engine/src/scripts/common/chunk/non-editable-chunk/non-editable-chunk.test.js similarity index 91% rename from packages/app/obojobo-document-engine/__tests__/common/chunk/non-editable-chunk/non-editable-chunk.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/chunk/non-editable-chunk/non-editable-chunk.test.js index 314e34d093..7967eaddb0 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/chunk/non-editable-chunk/non-editable-chunk.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/chunk/non-editable-chunk/non-editable-chunk.test.js @@ -1,7 +1,7 @@ import React from 'react' import renderer from 'react-test-renderer' -import NonEditableChunk from '../../../../src/scripts/common/chunk/non-editable-chunk/index' +import NonEditableChunk from './index' describe('NonEditableChunk', () => { test('renders NonEditableChunk component with className, indent, and children', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/__snapshots__/index.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/__snapshots__/index.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/__snapshots__/index.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/__snapshots__/index.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/__snapshots__/text-group-el.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/__snapshots__/text-group-el.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/__snapshots__/text-group-el.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/__snapshots__/text-group-el.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/index.js b/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/index.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/index.js rename to packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/index.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/index.test.js b/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/index.test.js similarity index 85% rename from packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/index.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/index.test.js index 5ca82ef3a9..d959a6656a 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/index.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/index.test.js @@ -1,7 +1,7 @@ import React from 'react' import renderer from 'react-test-renderer' -import TextChunk from '../../../../src/scripts/common/chunk/text-chunk/index' +import TextChunk from './index' describe('TextChunk', () => { test('TextChunk component', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/text-group-adapter.test.js b/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/text-group-adapter.test.js similarity index 85% rename from packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/text-group-adapter.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/text-group-adapter.test.js index b443971122..d6596adf63 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/text-group-adapter.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/text-group-adapter.test.js @@ -1,6 +1,6 @@ -import TextGroupAdapter from '../../../../src/scripts/common/chunk/text-chunk/text-group-adapter' -import TextGroup from '../../../../src/scripts/common/text-group/text-group' -import StyleableText from '../../../../src/scripts/common/text/styleable-text' +import TextGroupAdapter from './text-group-adapter' +import TextGroup from '../../text-group/text-group' +import StyleableText from '../../text/styleable-text' describe('TextGroupAdapter', () => { test('construct with no attributes', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/text-group-el.js b/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/text-group-el.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/text-group-el.js rename to packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/text-group-el.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/text-group-el.test.js b/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/text-group-el.test.js similarity index 86% rename from packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/text-group-el.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/text-group-el.test.js index 789cb5e070..b7562e1f6d 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/chunk/text-chunk/text-group-el.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/chunk/text-chunk/text-group-el.test.js @@ -1,12 +1,12 @@ import { mount } from 'enzyme' import React from 'react' import renderer from 'react-test-renderer' -import TextGroupEl from '../../../../src/scripts/common/chunk/text-chunk/text-group-el' -import TextGroup from '../../../../src/scripts/common/text-group/text-group' -import StyleableText from '../../../../src/scripts/common/text/styleable-text' -import Dispatcher from '../../../../src/scripts/common/flux/dispatcher' +import TextGroupEl from './text-group-el' +import TextGroup from '../../text-group/text-group' +import StyleableText from '../../text/styleable-text' +import Dispatcher from '../../flux/dispatcher' -jest.mock('../../../../src/scripts/common/flux/dispatcher') +jest.mock('../../flux/dispatcher') describe('TextGroupEl', () => { let tg diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/anchor.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/anchor.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/anchor.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/anchor.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/button-bar.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/button-bar.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/button-bar.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/button-bar.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/button.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/button.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/button.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/button.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/delete-button-base.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/delete-button-base.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/delete-button-base.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/delete-button-base.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/edit-button.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/edit-button.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/edit-button.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/edit-button.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/focus-blocker.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/focus-blocker.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/focus-blocker.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/focus-blocker.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/modal-container.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/modal-container.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/modal-container.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/modal-container.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/more-info-button.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/more-info-button.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/more-info-button.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/more-info-button.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/revealable-container.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/revealable-container.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/revealable-container.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/revealable-container.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/spinner.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/spinner.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/spinner.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/spinner.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/switch.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/switch.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/switch.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/switch.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/text-menu.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/text-menu.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/text-menu.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/__snapshots__/text-menu.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/anchor.js b/packages/app/obojobo-document-engine/src/scripts/common/components/anchor.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/anchor.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/anchor.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/anchor.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/anchor.test.js similarity index 86% rename from packages/app/obojobo-document-engine/__tests__/common/components/anchor.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/anchor.test.js index 0f96538234..e80a47c0bc 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/anchor.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/anchor.test.js @@ -1,5 +1,5 @@ import React from 'react' -import Anchor from '../../../src/scripts/common/components/anchor' +import Anchor from './anchor' import renderer from 'react-test-renderer' describe('Anchor', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/button-bar.js b/packages/app/obojobo-document-engine/src/scripts/common/components/button-bar.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/button-bar.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/button-bar.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/button-bar.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/button-bar.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/common/components/button-bar.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/button-bar.test.js index e7fea9c6ba..59945c8d3d 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/button-bar.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/button-bar.test.js @@ -1,5 +1,5 @@ import React from 'react' -import ButtonBar from '../../../src/scripts/common/components/button-bar' +import ButtonBar from './button-bar' import renderer from 'react-test-renderer' import { mount } from 'enzyme' diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/button.js b/packages/app/obojobo-document-engine/src/scripts/common/components/button.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/button.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/button.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/button.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/button.test.js similarity index 90% rename from packages/app/obojobo-document-engine/__tests__/common/components/button.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/button.test.js index 57df1f2b15..c0fe587871 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/button.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/button.test.js @@ -1,9 +1,9 @@ import React from 'react' -import Button from '../../../src/scripts/common/components/button' +import Button from './button' import renderer from 'react-test-renderer' -// jest.mock('../../../src/scripts/common/util/isornot') -jest.mock('../../../src/scripts/common/page/focus') +// jest.mock('../util/isornot') +jest.mock('../page/focus') describe('Button', () => { test('Renders', () => { @@ -84,7 +84,7 @@ describe('Button', () => { }) test('focus', () => { - const focus = require('../../../src/scripts/common/page/focus').default + const focus = require('../page/focus').default const component = renderer.create() expect(focus).not.toHaveBeenCalled() component.getInstance().focus() diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/delete-button-base.js b/packages/app/obojobo-document-engine/src/scripts/common/components/delete-button-base.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/delete-button-base.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/delete-button-base.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/delete-button-base.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/delete-button-base.test.js similarity index 82% rename from packages/app/obojobo-document-engine/__tests__/common/components/delete-button-base.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/delete-button-base.test.js index 125b662712..96ff5b34b7 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/delete-button-base.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/delete-button-base.test.js @@ -1,10 +1,10 @@ import React from 'react' -import DeleteButton from '../../../src/scripts/common/components/delete-button' -import DeleteButtonBase from '../../../src/scripts/common/components/delete-button-base' +import DeleteButton from './delete-button' +import DeleteButtonBase from './delete-button-base' import { mount } from 'enzyme' import renderer from 'react-test-renderer' -jest.mock('../../../src/scripts/common/page/focus') +jest.mock('../page/focus') describe('DeleteButton', () => { test('DeleteButton component', () => { @@ -43,7 +43,7 @@ describe('DeleteButton', () => { }) test('DeleteButton calls focus callback with ref argument', () => { - const focus = require('../../../src/scripts/common/page/focus').default + const focus = require('../page/focus').default const wrapper = mount() const inst = wrapper.find(DeleteButtonBase).instance() inst.focus() diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/delete-button.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/delete-button.test.js new file mode 100644 index 0000000000..67fd21a28e --- /dev/null +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/delete-button.test.js @@ -0,0 +1,12 @@ +import DeleteButtonBase from './delete-button-base' +import withPageFocus from '../util/with-page-focus' + +jest.mock('./delete-button-base') +jest.mock('../util/with-page-focus') + +describe('Delete Button With Focus', () => { + test('withPageFocus HOC is applied to DeleteButtonBase', () => { + require('./delete-button').default + expect(withPageFocus).toHaveBeenCalledWith(DeleteButtonBase) + }) +}) diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/edit-button.js b/packages/app/obojobo-document-engine/src/scripts/common/components/edit-button.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/edit-button.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/edit-button.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/edit-button.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/edit-button.test.js similarity index 89% rename from packages/app/obojobo-document-engine/__tests__/common/components/edit-button.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/edit-button.test.js index 73944e2bda..a926fbbb54 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/edit-button.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/edit-button.test.js @@ -1,5 +1,5 @@ import React from 'react' -import EditButton from '../../../src/scripts/common/components/edit-button' +import EditButton from './edit-button' import renderer from 'react-test-renderer' describe('EditButton', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/focus-blocker.js b/packages/app/obojobo-document-engine/src/scripts/common/components/focus-blocker.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/focus-blocker.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/focus-blocker.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/focus-blocker.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/focus-blocker.test.js similarity index 77% rename from packages/app/obojobo-document-engine/__tests__/common/components/focus-blocker.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/focus-blocker.test.js index 8a8a021822..5ce3361fc5 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/focus-blocker.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/focus-blocker.test.js @@ -1,5 +1,5 @@ import React from 'react' -import FocusBlocker from '../../../src/scripts/common/components/focus-blocker' +import FocusBlocker from './focus-blocker' import renderer from 'react-test-renderer' describe('FocusBlocker', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal-container.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal-container.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal-container.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal-container.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal-container.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal-container.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal-container.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal-container.test.js index 8d3f192b59..be1e71fa15 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal-container.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal-container.test.js @@ -2,7 +2,7 @@ import React from 'react' import renderer from 'react-test-renderer' import ReactDOM from 'react-dom' -import ModalContainer from '../../../src/scripts/common/components/modal-container' +import ModalContainer from './modal-container' describe('ModalContainer', () => { test('ModalContainer component', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal-portal.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal-portal.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal-portal.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal-portal.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal-portal.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal-portal.test.js similarity index 75% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal-portal.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal-portal.test.js index 93078a5fd7..041ba09022 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal-portal.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal-portal.test.js @@ -1,11 +1,11 @@ import React from 'react' import ReactDOM from 'react-dom' -import ModalPortal from '../../../src/scripts/common/components/modal-portal' +import ModalPortal from './modal-portal' import { create, act } from 'react-test-renderer' // mock external deps -jest.mock('../../../src/scripts/common/util/wait-for-element') -jest.mock('../../../src/scripts/common/components/modal-container') +jest.mock('../util/wait-for-element') +jest.mock('./modal-container') describe('ModalPortal', () => { beforeAll(() => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/dialog.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/dialog.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/dialog.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/dialog.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/error-dialog.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/error-dialog.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/error-dialog.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/error-dialog.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/modal.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/modal.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/modal.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/modal.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/no-button-modal.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/no-button-modal.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/no-button-modal.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/no-button-modal.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/prompt.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/prompt.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/prompt.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/prompt.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/question.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/question.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/question.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/question.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/simple-dialog.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/simple-dialog.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/simple-dialog.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/simple-dialog.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/simple-message.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/simple-message.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/__snapshots__/simple-message.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/__snapshots__/simple-message.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/bubble/__snapshots__/bubble.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/__snapshots__/bubble.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/bubble/__snapshots__/bubble.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/__snapshots__/bubble.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/bubble/__snapshots__/single-input-bubble.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/__snapshots__/single-input-bubble.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/bubble/__snapshots__/single-input-bubble.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/__snapshots__/single-input-bubble.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/bubble.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/bubble.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/bubble.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/bubble.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/bubble/bubble.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/bubble.test.js similarity index 75% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/bubble/bubble.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/bubble.test.js index 6ba120a1ec..b03c7e5080 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal/bubble/bubble.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/bubble.test.js @@ -1,7 +1,7 @@ import React from 'react' import renderer from 'react-test-renderer' -import Bubble from '../../../../../src/scripts/common/components/modal/bubble/bubble' +import Bubble from './bubble' describe('Bubble', () => { test('Bubble', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/single-input-bubble.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/single-input-bubble.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/single-input-bubble.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/single-input-bubble.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/bubble/single-input-bubble.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/single-input-bubble.test.js similarity index 94% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/bubble/single-input-bubble.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/single-input-bubble.test.js index 320d78eb09..7ff8017fd8 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal/bubble/single-input-bubble.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/bubble/single-input-bubble.test.js @@ -1,5 +1,5 @@ import React from 'react' -import SingleInputBubble from '../../../../../src/scripts/common/components/modal/bubble/single-input-bubble' +import SingleInputBubble from './single-input-bubble' import { mount } from 'enzyme' jest.useFakeTimers() diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/dialog.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/dialog.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/dialog.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/dialog.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/dialog.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/dialog.test.js similarity index 85% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/dialog.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/dialog.test.js index d4be7b8682..aff6b72293 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal/dialog.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/dialog.test.js @@ -1,11 +1,9 @@ -import Dialog from '../../../../src/scripts/common/components/modal/dialog' -import Modal from '../../../../src/scripts/common/components/modal/modal' +import Dialog from './dialog' +import Modal from './modal' import React from 'react' import renderer from 'react-test-renderer' -jest.mock('../../../../src/scripts/common/components/modal/modal', () => props => ( -
-)) +jest.mock('./modal', () => props =>
) describe('Dialog', () => { test('basic render', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/error-dialog.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/error-dialog.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/error-dialog.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/error-dialog.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/error-dialog.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/error-dialog.test.js similarity index 77% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/error-dialog.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/error-dialog.test.js index c0198b8b37..a3a5799d37 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal/error-dialog.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/error-dialog.test.js @@ -1,5 +1,5 @@ import React from 'react' -import ErrorDialog from '../../../../src/scripts/common/components/modal/error-dialog' +import ErrorDialog from './error-dialog' import renderer from 'react-test-renderer' describe('ErrorDialog', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/modal.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/modal.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/modal.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/modal.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/modal.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/modal.test.js similarity index 96% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/modal.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/modal.test.js index d24f6c456d..890cde4d29 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal/modal.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/modal.test.js @@ -1,10 +1,10 @@ -import Modal from '../../../../src/scripts/common/components/modal/modal' -import ModalUtil from '../../../../src/scripts/common/util/modal-util' +import Modal from './modal' +import ModalUtil from '../../util/modal-util' import React from 'react' import { mount } from 'enzyme' import renderer from 'react-test-renderer' -jest.mock('../../../../src/scripts/common/util/modal-util') +jest.mock('../../util/modal-util') describe('Modal', () => { let onClose, focusOnFirstElement diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/no-button-modal.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/no-button-modal.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/no-button-modal.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/no-button-modal.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/no-button-modal.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/no-button-modal.test.js similarity index 82% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/no-button-modal.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/no-button-modal.test.js index c234e0f89e..c3c029d192 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal/no-button-modal.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/no-button-modal.test.js @@ -1,4 +1,4 @@ -import NoButtonModal from '../../../../src/scripts/common/components/modal/no-button-modal' +import NoButtonModal from './no-button-modal' import React from 'react' import renderer from 'react-test-renderer' diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/prompt.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/prompt.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/prompt.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/prompt.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/prompt.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/prompt.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/prompt.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/prompt.test.js index ad23262e33..2565d596dd 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal/prompt.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/prompt.test.js @@ -1,7 +1,7 @@ import React from 'react' import { mount } from 'enzyme' -import Prompt from 'src/scripts/common/components/modal/prompt' +import Prompt from './prompt' describe('Prompt Modal', () => { beforeEach(() => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/question.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/question.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/question.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/question.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/question.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/question.test.js similarity index 96% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/question.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/question.test.js index 80d4dcf4a7..60f684d76e 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal/question.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/question.test.js @@ -1,6 +1,6 @@ import { shallow } from 'enzyme' import React from 'react' -import Question from '../../../../src/scripts/common/components/modal/question' +import Question from './question' import renderer from 'react-test-renderer' describe('Question', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog-form.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog-form.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog-form.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog-form.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog-row.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog-row.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog-row.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog-row.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/settings-dialog.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-dialog.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-dialog.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-dialog.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-dialog.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/simple-dialog.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-dialog.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/simple-dialog.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-dialog.test.js index 6a024f50a9..13c16471ba 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal/simple-dialog.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-dialog.test.js @@ -1,10 +1,10 @@ import { mount } from 'enzyme' import React from 'react' -jest.mock('../../../../src/scripts/common/util/modal-util') +jest.mock('../../util/modal-util') -import SimpleDialog from '../../../../src/scripts/common/components/modal/simple-dialog' -import ModalUtil from '../../../../src/scripts/common/util/modal-util' +import SimpleDialog from './simple-dialog' +import ModalUtil from '../../util/modal-util' import renderer from 'react-test-renderer' describe('SimpleDialog', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-message.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-message.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-message.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-message.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/modal/simple-message.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-message.test.js similarity index 89% rename from packages/app/obojobo-document-engine/__tests__/common/components/modal/simple-message.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-message.test.js index de31243815..eab9e5ed43 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/modal/simple-message.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/simple-message.test.js @@ -1,6 +1,6 @@ import { shallow } from 'enzyme' import React from 'react' -import SimpleMessage from '../../../../src/scripts/common/components/modal/simple-message' +import SimpleMessage from './simple-message' import renderer from 'react-test-renderer' describe('SimpleMessage', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/modal/tab-trap.js b/packages/app/obojobo-document-engine/src/scripts/common/components/modal/tab-trap.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/modal/tab-trap.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/modal/tab-trap.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/more-info-button.js b/packages/app/obojobo-document-engine/src/scripts/common/components/more-info-button.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/more-info-button.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/more-info-button.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/more-info-button.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/more-info-button.test.js similarity index 91% rename from packages/app/obojobo-document-engine/__tests__/common/components/more-info-button.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/more-info-button.test.js index f9e75c7c1a..0c2e790f45 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/more-info-button.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/more-info-button.test.js @@ -2,8 +2,8 @@ import React from 'react' import renderer from 'react-test-renderer' import { mount } from 'enzyme' -import MoreInfoButton from '../../../src/scripts/common/components/more-info-button' -jest.mock('../../../src/scripts/common/util/uuid', () => { +import MoreInfoButton from './more-info-button' +jest.mock('../util/uuid', () => { return () => 'mock-uuid' }) diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/obojobo-idle-timer.js b/packages/app/obojobo-document-engine/src/scripts/common/components/obojobo-idle-timer.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/obojobo-idle-timer.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/obojobo-idle-timer.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/obojobo-idle-timer.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/obojobo-idle-timer.test.js similarity index 92% rename from packages/app/obojobo-document-engine/__tests__/common/components/obojobo-idle-timer.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/obojobo-idle-timer.test.js index f69d7a94f0..36e3a1caf8 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/obojobo-idle-timer.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/obojobo-idle-timer.test.js @@ -1,12 +1,12 @@ import React from 'react' import TestRenderer from 'react-test-renderer' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' +import Dispatcher from '../flux/dispatcher' import IdleTimer from 'react-idle-timer' -jest.mock('../../../src/scripts/common/flux/dispatcher', () => ({ +jest.mock('../flux/dispatcher', () => ({ trigger: jest.fn() })) -import ObojoboIdleTimer from '../../../src/scripts/common/components/obojobo-idle-timer' +import ObojoboIdleTimer from './obojobo-idle-timer' jest.useFakeTimers() diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/revealable-container.js b/packages/app/obojobo-document-engine/src/scripts/common/components/revealable-container.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/revealable-container.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/revealable-container.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/revealable-container.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/revealable-container.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/common/components/revealable-container.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/revealable-container.test.js index 74436a88e8..5b2558eb48 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/revealable-container.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/revealable-container.test.js @@ -1,5 +1,5 @@ import React from 'react' -import RevealableContainer from '../../../src/scripts/common/components/revealable-container' +import RevealableContainer from './revealable-container' import TestRenderer from 'react-test-renderer' describe('RevealableContainer', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/slider/__snapshots__/handle.test..js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/__snapshots__/handle.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/slider/__snapshots__/handle.test..js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/__snapshots__/handle.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/slider/__snapshots__/slider-rail.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/__snapshots__/slider-rail.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/slider/__snapshots__/slider-rail.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/__snapshots__/slider-rail.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/slider/__snapshots__/slider.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/__snapshots__/slider.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/slider/__snapshots__/slider.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/__snapshots__/slider.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/slider/__snapshots__/track.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/__snapshots__/track.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/slider/__snapshots__/track.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/__snapshots__/track.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/slider/handle.js b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/handle.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/slider/handle.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/handle.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/slider/handle.test..js b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/handle.test.js similarity index 86% rename from packages/app/obojobo-document-engine/__tests__/common/components/slider/handle.test..js rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/handle.test.js index 4595177cca..ad28a35945 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/slider/handle.test..js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/handle.test.js @@ -1,5 +1,5 @@ import React from 'react' -import Handle from '../../../../src/scripts/common/components/slider/handle' +import Handle from './handle' import renderer from 'react-test-renderer' describe('Handle', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider-rail.js b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider-rail.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider-rail.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider-rail.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/slider/slider-rail.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider-rail.test.js similarity index 81% rename from packages/app/obojobo-document-engine/__tests__/common/components/slider/slider-rail.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider-rail.test.js index 96947936ba..c5b5070134 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/slider/slider-rail.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider-rail.test.js @@ -1,5 +1,5 @@ import React from 'react' -import SliderRail from '../../../../src/scripts/common/components/slider/slider-rail' +import SliderRail from './slider-rail' import renderer from 'react-test-renderer' describe('SliderRail', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/slider/slider-util.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider-util.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/common/components/slider/slider-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider-util.test.js index 8461a66b49..9cec6f72b3 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/slider/slider-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider-util.test.js @@ -1,4 +1,4 @@ -import SliderUtils from '../../../../src/scripts/common/components/slider/slider-utils' +import SliderUtils from './slider-utils' describe('Slider Update Mode', () => { test('mode4 updates the handle positions', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider.js b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/slider/slider.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider.test.js similarity index 88% rename from packages/app/obojobo-document-engine/__tests__/common/components/slider/slider.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider.test.js index 7d78fc5674..349ad4ed7d 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/slider/slider.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/slider.test.js @@ -1,5 +1,5 @@ import React from 'react' -import Slider from '../../../../src/scripts/common/components/slider/slider' +import Slider from './slider' import renderer from 'react-test-renderer' import { mount } from 'enzyme' diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/slider/track.js b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/track.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/slider/track.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/track.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/slider/track.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/track.test.js similarity index 85% rename from packages/app/obojobo-document-engine/__tests__/common/components/slider/track.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/slider/track.test.js index 336de8bfce..564e0ff2d1 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/slider/track.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/slider/track.test.js @@ -1,5 +1,5 @@ import React from 'react' -import Track from '../../../../src/scripts/common/components/slider/track' +import Track from './track' import renderer from 'react-test-renderer' describe('Track', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/spinner.js b/packages/app/obojobo-document-engine/src/scripts/common/components/spinner.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/spinner.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/spinner.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/spinner.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/spinner.test.js similarity index 81% rename from packages/app/obojobo-document-engine/__tests__/common/components/spinner.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/spinner.test.js index 41c51e3397..4c3e1f4346 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/spinner.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/spinner.test.js @@ -1,5 +1,5 @@ import React from 'react' -import Spinner from '../../../src/scripts/common/components/spinner' +import Spinner from './spinner' import { create, act } from 'react-test-renderer' describe('Spinner', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/switch.js b/packages/app/obojobo-document-engine/src/scripts/common/components/switch.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/switch.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/switch.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/switch.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/switch.test.js similarity index 96% rename from packages/app/obojobo-document-engine/__tests__/common/components/switch.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/switch.test.js index e2826decae..b7ed464a84 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/switch.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/switch.test.js @@ -1,5 +1,5 @@ import React from 'react' -import Switch from '../../../src/scripts/common/components/switch' +import Switch from './switch' import TestRenderer from 'react-test-renderer' import { mount } from 'enzyme' diff --git a/packages/app/obojobo-document-engine/src/scripts/common/components/text-menu.js b/packages/app/obojobo-document-engine/src/scripts/common/components/text-menu.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/components/text-menu.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/text-menu.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/text-menu.test.js b/packages/app/obojobo-document-engine/src/scripts/common/components/text-menu.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/common/components/text-menu.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/components/text-menu.test.js index 74b022ace7..98e3a28157 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/text-menu.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/components/text-menu.test.js @@ -2,7 +2,7 @@ import React from 'react' import renderer from 'react-test-renderer' import { mount } from 'enzyme' -import TextMenu from '../../../src/scripts/common/components/text-menu' +import TextMenu from './text-menu' const createRect = () => { return { diff --git a/packages/app/obojobo-document-engine/__tests__/common/flux/store.test.js b/packages/app/obojobo-document-engine/src/scripts/common/flux/store.test.js similarity index 90% rename from packages/app/obojobo-document-engine/__tests__/common/flux/store.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/flux/store.test.js index 880117abb0..a2e1de274a 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/flux/store.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/flux/store.test.js @@ -1,7 +1,7 @@ -import Store from '../../../src/scripts/common/flux/store' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' +import Store from './store' +import Dispatcher from './dispatcher' -jest.mock('../../../src/scripts/common/flux/dispatcher', () => { +jest.mock('./dispatcher', () => { return { trigger: jest.fn(), on: jest.fn(), diff --git a/packages/app/obojobo-document-engine/__tests__/common/mockdom/mock-element.test.js b/packages/app/obojobo-document-engine/src/scripts/common/mockdom/mock-element.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/common/mockdom/mock-element.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/mockdom/mock-element.test.js index a207ca2b3d..8249019df6 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/mockdom/mock-element.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/mockdom/mock-element.test.js @@ -1,4 +1,4 @@ -import MockElement from '../../../src/scripts/common/mockdom/mock-element' +import MockElement from './mock-element' describe('MockElement', () => { beforeEach(() => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/mockdom/mock-text-node.test.js b/packages/app/obojobo-document-engine/src/scripts/common/mockdom/mock-text-node.test.js similarity index 83% rename from packages/app/obojobo-document-engine/__tests__/common/mockdom/mock-text-node.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/mockdom/mock-text-node.test.js index b51a44134f..762511e596 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/mockdom/mock-text-node.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/mockdom/mock-text-node.test.js @@ -1,4 +1,4 @@ -import MockTextNode from '../../../src/scripts/common/mockdom/mock-text-node' +import MockTextNode from './mock-text-node' describe('MockTextNode', () => { test('creates new instance', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/models/obo-model.test.js b/packages/app/obojobo-document-engine/src/scripts/common/models/obo-model.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/common/models/obo-model.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/models/obo-model.test.js index b601218c65..257ff68bf6 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/models/obo-model.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/models/obo-model.test.js @@ -1,16 +1,16 @@ import React from 'react' -import OboModel from '../../../__mocks__/_obo-model-with-chunks' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' -import { Registry } from '../../../src/scripts/common/registry' +import OboModel from '../../../../__mocks__/_obo-model-with-chunks' +import Dispatcher from '../flux/dispatcher' +import { Registry } from '../registry' import mockConsole from 'jest-mock-console' -jest.mock('../../../src/scripts/common/models/obo-model', () => { - return require('../../../__mocks__/obo-model-mock').default +jest.mock('./obo-model', () => { + return require('../../../../__mocks__/obo-model-mock').default }) -jest.mock('../../../src/scripts/viewer/util/stop-viewer') +jest.mock('../../viewer/util/stop-viewer') -jest.mock('../../../src/scripts/common/flux/dispatcher', () => { +jest.mock('../flux/dispatcher', () => { return { trigger: jest.fn(), on: jest.fn(), diff --git a/packages/app/obojobo-document-engine/__tests__/common/page/dom-util.test.js b/packages/app/obojobo-document-engine/src/scripts/common/page/dom-util.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/common/page/dom-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/page/dom-util.test.js index 63f0f6cd48..a07cd8e9f7 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/page/dom-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/page/dom-util.test.js @@ -1,4 +1,4 @@ -import DOMUtil from '../../../src/scripts/common/page/dom-util' +import DOMUtil from './dom-util' describe('DOMUtil', () => { const exampleHTML = ` diff --git a/packages/app/obojobo-document-engine/__tests__/common/page/focus.test.js b/packages/app/obojobo-document-engine/src/scripts/common/page/focus.test.js similarity index 96% rename from packages/app/obojobo-document-engine/__tests__/common/page/focus.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/page/focus.test.js index e828e2d657..def51b2f0d 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/page/focus.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/page/focus.test.js @@ -1,4 +1,4 @@ -import focus from '../../../src/scripts/common/page/focus' +import focus from './focus' describe('focus', () => { test('Requires passed in argument to be element-like', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/registry.test.js b/packages/app/obojobo-document-engine/src/scripts/common/registry.test.js similarity index 99% rename from packages/app/obojobo-document-engine/__tests__/common/registry.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/registry.test.js index 6cef032009..97e8091f0f 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/registry.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/registry.test.js @@ -1,4 +1,4 @@ -import { Registry } from '../../src/scripts/common/registry' +import { Registry } from './registry' jest.mock('obojobo-document-engine/config/insert_menu.json', () => [ 'SomeObojoboChunk1', diff --git a/packages/app/obojobo-document-engine/__tests__/common/stores/modal-store.test.js b/packages/app/obojobo-document-engine/src/scripts/common/stores/modal-store.test.js similarity index 92% rename from packages/app/obojobo-document-engine/__tests__/common/stores/modal-store.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/stores/modal-store.test.js index ac567c49e6..816baa5983 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/stores/modal-store.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/stores/modal-store.test.js @@ -1,8 +1,8 @@ -import ModalStore from '../../../src/scripts/common/stores/modal-store' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' -import focus from '../../../src/scripts/common/page/focus' +import ModalStore from './modal-store' +import Dispatcher from '../flux/dispatcher' +import focus from '../page/focus' -jest.mock('../../../src/scripts/common/page/focus') +jest.mock('../page/focus') describe('ModalStore', () => { beforeEach(() => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/text-group/text-group-item.test.js b/packages/app/obojobo-document-engine/src/scripts/common/text-group/text-group-item.test.js similarity index 93% rename from packages/app/obojobo-document-engine/__tests__/common/text-group/text-group-item.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/text-group/text-group-item.test.js index 5d49aa97b2..73c79cafeb 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/text-group/text-group-item.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/text-group/text-group-item.test.js @@ -1,4 +1,4 @@ -import TextGroupItem from '../../../src/scripts/common/text-group/text-group-item' +import TextGroupItem from './text-group-item' describe('TextGroupItem', () => { test('constructor builds with default values', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/text-group/text-group-util.test.js b/packages/app/obojobo-document-engine/src/scripts/common/text-group/text-group-util.test.js similarity index 93% rename from packages/app/obojobo-document-engine/__tests__/common/text-group/text-group-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/text-group/text-group-util.test.js index e8cc2426b2..1de23327d6 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/text-group/text-group-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/text-group/text-group-util.test.js @@ -1,4 +1,4 @@ -import TextGroupUtil from '../../../src/scripts/common/text-group/text-group-util' +import TextGroupUtil from './text-group-util' describe('TextGroupUtil', () => { test('createData directly copies data', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/text-group/text-group.test.js b/packages/app/obojobo-document-engine/src/scripts/common/text-group/text-group.test.js similarity index 99% rename from packages/app/obojobo-document-engine/__tests__/common/text-group/text-group.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/text-group/text-group.test.js index 3af3ed5552..7ad7e0a347 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/text-group/text-group.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/text-group/text-group.test.js @@ -1,7 +1,7 @@ -import StyleableText from '../../../src/scripts/common/text/styleable-text' -import StyleRange from '../../../src/scripts/common/text/style-range' -import TextGroup from '../../../src/scripts/common/text-group/text-group' -import TextGroupItem from '../../../src/scripts/common/text-group/text-group-item' +import StyleableText from '../text/styleable-text' +import StyleRange from '../text/style-range' +import TextGroup from './text-group' +import TextGroupItem from './text-group-item' describe('TextGroup', () => { let tg, tg3items, tgDataTemplate, tgWithItems, tgWith3Items, frozenEmptyObject diff --git a/packages/app/obojobo-document-engine/__tests__/common/text/__snapshots__/styleable-text-component.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/common/text/__snapshots__/styleable-text-component.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/text/__snapshots__/styleable-text-component.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/common/text/__snapshots__/styleable-text-component.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/text/chunk-style-list.test.js b/packages/app/obojobo-document-engine/src/scripts/common/text/chunk-style-list.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/common/text/chunk-style-list.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/text/chunk-style-list.test.js index e3aad0b109..28afdd9b93 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/text/chunk-style-list.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/text/chunk-style-list.test.js @@ -1,5 +1,5 @@ -import ChunkStyleList from '../../../src/scripts/common/text/chunk-style-list' -import StyleRange from '../../../src/scripts/common/text/style-range' +import ChunkStyleList from './chunk-style-list' +import StyleRange from './style-range' describe('ChunkStyleList', function() { let styleList, styleRangeLink, styleRangeBold diff --git a/packages/app/obojobo-document-engine/__tests__/common/text/style-range.test.js b/packages/app/obojobo-document-engine/src/scripts/common/text/style-range.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/common/text/style-range.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/text/style-range.test.js index d63eada5f6..ab0f47a1b2 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/text/style-range.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/text/style-range.test.js @@ -1,4 +1,4 @@ -import StyleRange from '../../../src/scripts/common/text/style-range' +import StyleRange from './style-range' describe('StyleRange', () => { test('constructor builds with no values', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text-component.js b/packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text-component.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text-component.js rename to packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text-component.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/text/styleable-text-component.test.js b/packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text-component.test.js similarity index 93% rename from packages/app/obojobo-document-engine/__tests__/common/text/styleable-text-component.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text-component.test.js index 61cee6a47e..763501444c 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/text/styleable-text-component.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text-component.test.js @@ -1,10 +1,10 @@ import React from 'react' import renderer from 'react-test-renderer' -jest.mock('../../../src/scripts/common/text/styleable-text-renderer') +jest.mock('./styleable-text-renderer') -import StyleableText from '../../../src/scripts/common/text/styleable-text-component' -import StyleRenderer from '../../../src/scripts/common/text/styleable-text-renderer' +import StyleableText from './styleable-text-component' +import StyleRenderer from './styleable-text-renderer' describe('StyleableText Component', () => { test('StyleableText component', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/text/styleable-text-renderer.test.js b/packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text-renderer.test.js similarity index 96% rename from packages/app/obojobo-document-engine/__tests__/common/text/styleable-text-renderer.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text-renderer.test.js index b1e4842397..229f8f1987 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/text/styleable-text-renderer.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text-renderer.test.js @@ -1,6 +1,6 @@ -import styleableTextRenderer from '../../../src/scripts/common/text/styleable-text-renderer' -import StyleableText from '../../../src/scripts/common/text/styleable-text' -import StyleRange from '../../../src/scripts/common/text/style-range' +import styleableTextRenderer from './styleable-text-renderer' +import StyleableText from './styleable-text' +import StyleRange from './style-range' // convience function to easily compare a MockElement const mockElToHTMLString = el => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/text/styleable-text.test.js b/packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/common/text/styleable-text.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text.test.js index fd9e5f8b39..01ee82d305 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/text/styleable-text.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/text/styleable-text.test.js @@ -1,7 +1,7 @@ /* eslint-disable no-undefined */ -import StyleableText from '../../../src/scripts/common/text/styleable-text' -import StyleRange from '../../../src/scripts/common/text/style-range' +import StyleableText from './styleable-text' +import StyleRange from './style-range' describe('StyleableText', () => { let st, st1, st2 diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/clone-props.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/clone-props.test.js similarity index 80% rename from packages/app/obojobo-document-engine/__tests__/common/util/clone-props.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/clone-props.test.js index c9ce09ecf1..daa4d7f455 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/clone-props.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/clone-props.test.js @@ -1,4 +1,4 @@ -import cloneProps from '../../../src/scripts/common/util/clone-props' +import cloneProps from './clone-props' describe('clone-props', () => { test('correctly clones props', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/close-window-dispatcher.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/close-window-dispatcher.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/common/util/close-window-dispatcher.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/close-window-dispatcher.test.js index c3e3ddf441..0cbf11631a 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/close-window-dispatcher.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/close-window-dispatcher.test.js @@ -1,4 +1,4 @@ -jest.mock('../../../src/scripts/common/flux/dispatcher', () => ({ +jest.mock('../flux/dispatcher', () => ({ trigger: jest.fn() })) @@ -11,9 +11,8 @@ describe('Close Window Dispatcher', () => { jest.clearAllMocks() // require + resetModules to ensure internal vars are reset between tests - Dispatcher = require('../../../src/scripts/common/flux/dispatcher') - enableWindowCloseDispatcher = require('../../../src/scripts/common/util/close-window-dispatcher') - .default + Dispatcher = require('../flux/dispatcher') + enableWindowCloseDispatcher = require('./close-window-dispatcher').default jest.spyOn(window, 'addEventListener') visibilityState = 'visible' diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/debounce.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/debounce.test.js similarity index 93% rename from packages/app/obojobo-document-engine/__tests__/common/util/debounce.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/debounce.test.js index 0c1825e8d3..96869639ab 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/debounce.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/debounce.test.js @@ -1,4 +1,4 @@ -import debounce from '../../../src/scripts/common/util/debounce' +import debounce from './debounce' describe('Debounce Util', () => { test('debounce executes and passes arguments', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/download-document.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/download-document.test.js similarity index 91% rename from packages/app/obojobo-document-engine/__tests__/common/util/download-document.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/download-document.test.js index c15494839e..334b993160 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/download-document.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/download-document.test.js @@ -1,8 +1,8 @@ -jest.mock('../../../src/scripts/viewer/util/api') +jest.mock('../../viewer/util/api') jest.mock('downloadjs') -import { downloadDocument } from '../../../src/scripts/common/util/download-document' -import API from '../../../src/scripts/viewer/util/api' +import { downloadDocument } from './download-document' +import API from '../../viewer/util/api' import download from 'downloadjs' describe('downloadDocument', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/error-util.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/error-util.test.js similarity index 77% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/error-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/error-util.test.js index 9beeba2d80..a968c53ec2 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/error-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/error-util.test.js @@ -1,17 +1,17 @@ import React from 'react' -import ErrorUtil from '../../../src/scripts/common/util/error-util' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' -import ErrorDialog from '../../../src/scripts/common/components/modal/error-dialog' +import ErrorUtil from './error-util' +import Dispatcher from '../flux/dispatcher' +import ErrorDialog from '../components/modal/error-dialog' -jest.mock('../../../src/scripts/common/flux/dispatcher', () => { +jest.mock('../flux/dispatcher', () => { return { trigger: jest.fn(), on: jest.fn(), off: jest.fn() } }) -// jest.mock('../../../src/scripts/common/components/modal/error-dialog') +// jest.mock('../components/modal/error-dialog') describe('ErrorUtil', () => { test('show will show a modal error dialog', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/find-items-with-max-prop-value.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/find-items-with-max-prop-value.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/common/util/find-items-with-max-prop-value.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/find-items-with-max-prop-value.test.js index 3d546a3cad..841f90f32c 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/find-items-with-max-prop-value.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/find-items-with-max-prop-value.test.js @@ -1,4 +1,4 @@ -import findItemsWithMaxPropValue from '../../../src/scripts/common/util/find-items-with-max-prop-value' +import findItemsWithMaxPropValue from './find-items-with-max-prop-value' describe('findItemsWithMaxPropValue Util', () => { test('finds deeply nested max value', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/inject-katex-if-needed.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/inject-katex-if-needed.test.js similarity index 82% rename from packages/app/obojobo-document-engine/__tests__/common/util/inject-katex-if-needed.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/inject-katex-if-needed.test.js index 1ae9471440..1f6ea25e21 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/inject-katex-if-needed.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/inject-katex-if-needed.test.js @@ -1,7 +1,7 @@ -import injectKatexIfNeeded from 'obojobo-document-engine/src/scripts/common/util/inject-katex-if-needed' -import insertDomTag from 'obojobo-document-engine/src/scripts/common/util/insert-dom-tag' +import injectKatexIfNeeded from './inject-katex-if-needed' +import insertDomTag from './insert-dom-tag' -jest.mock('obojobo-document-engine/src/scripts/common/util/insert-dom-tag', () => { +jest.mock('./insert-dom-tag', () => { return jest.fn().mockImplementation(() => { // simulate loading the katex script global.window.katex = {} diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/insert-dom-tag.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/insert-dom-tag.test.js similarity index 92% rename from packages/app/obojobo-document-engine/__tests__/common/util/insert-dom-tag.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/insert-dom-tag.test.js index 8ac426b3e6..cf58f02df1 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/insert-dom-tag.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/insert-dom-tag.test.js @@ -1,4 +1,4 @@ -import insertDomTag from '../../../src/scripts/common/util/insert-dom-tag' +import insertDomTag from './insert-dom-tag' describe('InsertDomTag', () => { test('shuffle returns original array reference', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/modal-util.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/modal-util.test.js similarity index 84% rename from packages/app/obojobo-document-engine/__tests__/common/util/modal-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/modal-util.test.js index 5d341eb52a..91aaa9a25f 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/modal-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/modal-util.test.js @@ -1,7 +1,7 @@ -import ModalUtil from '../../../src/scripts/common/util/modal-util' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' +import ModalUtil from './modal-util' +import Dispatcher from '../flux/dispatcher' -jest.mock('../../../src/scripts/common/flux/dispatcher', () => { +jest.mock('../flux/dispatcher', () => { return { trigger: jest.fn(), on: jest.fn(), diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/range-parsing.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/range-parsing.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/common/util/range-parsing.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/range-parsing.test.js index d141faf4c8..d9c3665d63 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/range-parsing.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/range-parsing.test.js @@ -5,7 +5,7 @@ const { getParsedRangeFromSingleValue, tryGetParsedFloat, isValueInRange -} = require('../../../src/scripts/common/util/range-parsing') +} = require('./range-parsing') describe('range-parsing', () => { test('getParsedRange returns null if range is undefined or null', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/set-prop.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/set-prop.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/common/util/set-prop.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/set-prop.test.js index f92934d7e7..00a7bdd16a 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/set-prop.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/set-prop.test.js @@ -1,7 +1,7 @@ /* eslint-disable no-undefined */ /* eslint-disable no-console */ -import setProp from '../../../src/scripts/common/util/set-prop.js' +import setProp from './set-prop.js' import mockConsole from 'jest-mock-console' describe('setProp', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/shuffle.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/shuffle.test.js similarity index 89% rename from packages/app/obojobo-document-engine/__tests__/common/util/shuffle.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/shuffle.test.js index dc4aab6186..cf46eb058d 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/shuffle.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/shuffle.test.js @@ -1,4 +1,4 @@ -import shuffle from '../../../src/scripts/common/util/shuffle' +import shuffle from './shuffle' describe('Shuffle', () => { test('shuffle returns original array reference', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/timeout-promise.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/timeout-promise.test.js similarity index 93% rename from packages/app/obojobo-document-engine/__tests__/common/util/timeout-promise.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/timeout-promise.test.js index c28d0532bb..a13d0e9d3c 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/timeout-promise.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/timeout-promise.test.js @@ -1,4 +1,4 @@ -import timeoutPromise from '../../../src/scripts/common/util/timeout-promise' +import timeoutPromise from './timeout-promise' describe('timeoutPromise', () => { test('timeoutPromise resolves as expected when timeout not reached', done => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/trigger-util.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/trigger-util.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/common/util/trigger-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/trigger-util.test.js index 603af70820..975a7cb48e 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/trigger-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/trigger-util.test.js @@ -4,7 +4,7 @@ import { getTriggersWithActionsAdded, getTriggersWithActionsRemoved, hasTriggerTypeWithActionType -} from '../../../src/scripts/common/util/trigger-util' +} from './trigger-util' describe('trigger-util', () => { describe('getTriggersWithActionsAdded', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/wait-for-element.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/wait-for-element.test.js similarity index 96% rename from packages/app/obojobo-document-engine/__tests__/common/util/wait-for-element.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/wait-for-element.test.js index 467042af40..2a35a0a993 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/wait-for-element.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/wait-for-element.test.js @@ -1,4 +1,4 @@ -import waitForElement from '../../../src/scripts/common/util/wait-for-element' +import waitForElement from './wait-for-element' describe('waitForElement', () => { test('waitForElement resolves with the element at the given selector if it exists', async () => { diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/with-protocol.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/with-protocol.test.js similarity index 87% rename from packages/app/obojobo-document-engine/__tests__/common/util/with-protocol.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/with-protocol.test.js index 6f2735ba19..cc267239e8 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/with-protocol.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/with-protocol.test.js @@ -1,4 +1,4 @@ -import withProtocol from '../../../src/scripts/common/util/with-protocol' +import withProtocol from './with-protocol' describe('withProtocol', () => { test.each` diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/without-undefined.test.js b/packages/app/obojobo-document-engine/src/scripts/common/util/without-undefined.test.js similarity index 91% rename from packages/app/obojobo-document-engine/__tests__/common/util/without-undefined.test.js rename to packages/app/obojobo-document-engine/src/scripts/common/util/without-undefined.test.js index 4fca0ac9e4..d8d042331a 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/without-undefined.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/common/util/without-undefined.test.js @@ -1,4 +1,4 @@ -import withoutUndefined from '../../../src/scripts/common/util/without-undefined' +import withoutUndefined from './without-undefined' describe('withoutUndefined', () => { test('withoutUndefined strips out all undefined values and returns a new object (but does not modify nested properties)', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/asset/__snapshots__/color-picker.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/__snapshots__/color-picker.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/asset/__snapshots__/color-picker.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/__snapshots__/color-picker.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/asset/__snapshots__/text-color-picker-icon.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/__snapshots__/text-color-picker-icon.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/asset/__snapshots__/text-color-picker-icon.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/__snapshots__/text-color-picker-icon.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/bold-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/bold-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/bold-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/bold-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/center-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/center-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/center-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/center-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/color-picker.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/color-picker.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/color-picker.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/color-picker.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/asset/color-picker.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/color-picker.test.js similarity index 99% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/asset/color-picker.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/color-picker.test.js index d1e8c70ad7..69b4549271 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/asset/color-picker.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/color-picker.test.js @@ -2,7 +2,7 @@ import React from 'react' import { mount } from 'enzyme' import { Editor } from 'slate' -import ColorPicker from 'obojobo-document-engine/src/scripts/oboeditor/assets/color-picker' +import ColorPicker from './color-picker' jest.mock('slate-react') jest.mock('slate') diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/hanging-indent-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/hanging-indent-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/hanging-indent-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/hanging-indent-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/indent-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/indent-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/indent-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/indent-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/italic-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/italic-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/italic-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/italic-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/justify-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/justify-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/justify-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/justify-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/latex-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/latex-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/latex-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/latex-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/left-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/left-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/left-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/left-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/link-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/link-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/link-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/link-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/mono-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/mono-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/mono-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/mono-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/more-info-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/more-info-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/more-info-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/more-info-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/ordered-list-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/ordered-list-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/ordered-list-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/ordered-list-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/quote-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/quote-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/quote-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/quote-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/right-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/right-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/right-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/right-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/strike-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/strike-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/strike-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/strike-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/sub-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/sub-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/sub-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/sub-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/sup-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/sup-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/sup-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/sup-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/text-color-picker-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/text-color-picker-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/text-color-picker-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/text-color-picker-icon.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/asset/text-color-picker-icon.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/text-color-picker-icon.test.js similarity index 96% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/asset/text-color-picker-icon.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/text-color-picker-icon.test.js index 6fb92c6fdf..37b38b155c 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/asset/text-color-picker-icon.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/text-color-picker-icon.test.js @@ -2,7 +2,7 @@ import React from 'react' import { Editor } from 'slate' import { mount } from 'enzyme' -import TextColorIcon from 'obojobo-document-engine/src/scripts/oboeditor/assets/text-color-picker-icon' +import TextColorIcon from './text-color-picker-icon' import Dispatcher from 'obojobo-document-engine/src/scripts/common/flux/dispatcher' jest.mock('slate-react') diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/unindent-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/unindent-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/unindent-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/unindent-icon.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/unordered-list-icon.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/unordered-list-icon.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/unordered-list-icon.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/assets/unordered-list-icon.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/code-editor.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/code-editor.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/code-editor.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/code-editor.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/default-node.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/default-node.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/default-node.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/default-node.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/editor-app.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/editor-app.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/editor-app.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/editor-app.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/editor-title-input.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/editor-title-input.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/editor-title-input.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/editor-title-input.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/hovering-preview.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/hovering-preview.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/hovering-preview.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/hovering-preview.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/visual-editor-error-boundry.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/visual-editor-error-boundry.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/visual-editor-error-boundry.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/visual-editor-error-boundry.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/visual-editor.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/visual-editor.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/__snapshots__/visual-editor.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/__snapshots__/visual-editor.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/code-editor.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/code-editor.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/code-editor.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/code-editor.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/code-editor.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/code-editor.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/code-editor.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/code-editor.test.js index 5c3512b0ee..55f4a3119b 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/code-editor.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/code-editor.test.js @@ -1,6 +1,6 @@ import { mount } from 'enzyme' import renderer from 'react-test-renderer' -import CodeEditor from 'src/scripts/oboeditor/components/code-editor' +import CodeEditor from './code-editor' import React from 'react' import EditorUtil from 'src/scripts/oboeditor/util/editor-util' import ModalUtil from 'src/scripts/common/util/modal-util' @@ -11,7 +11,7 @@ jest.mock('react-codemirror2', () => ({ })) jest.mock('src/scripts/common/util/modal-util') -jest.mock('src/scripts/oboeditor/components/toolbars/file-toolbar') +jest.mock('./toolbars/file-toolbar') const XML_MODE = 'xml' const JSON_MODE = 'json' diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/default-node.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/default-node.test.js similarity index 93% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/default-node.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/default-node.test.js index 0c3e54d934..a517980815 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/default-node.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/default-node.test.js @@ -1,7 +1,7 @@ import React from 'react' import renderer from 'react-test-renderer' -import DefaultNode from '../../../src/scripts/oboeditor/components/default-node' +import DefaultNode from './default-node' describe('DefaultNode', () => { test('Node builds the expected component', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editable-hidden-text.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editable-hidden-text.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editable-hidden-text.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editable-hidden-text.jsx diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-app.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-app.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-app.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-app.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/editor-app.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-app.test.js similarity index 94% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/editor-app.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-app.test.js index 640685fa94..dc89829799 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/editor-app.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-app.test.js @@ -1,11 +1,11 @@ -jest.mock('../../../src/scripts/oboeditor/components/visual-editor') -jest.mock('../../../src/scripts/oboeditor/components/code-editor') -jest.mock('../../../src/scripts/viewer/util/editor-api') -jest.mock('../../../src/scripts/oboeditor/stores/editor-store') -jest.mock('../../../src/scripts/common/stores/modal-store') -jest.mock('../../../src/scripts/common/util/modal-util') -jest.mock('../../../src/scripts/common/models/obo-model') -jest.mock('../../../src/scripts/oboeditor/util/editor-util') +jest.mock('./visual-editor') +jest.mock('./code-editor') +jest.mock('../../viewer/util/editor-api') +jest.mock('../stores/editor-store') +jest.mock('../../common/stores/modal-store') +jest.mock('../../common/util/modal-util') +jest.mock('../../common/models/obo-model') +jest.mock('../util/editor-util') import React from 'react' import { mount } from 'enzyme' @@ -32,13 +32,13 @@ describe('EditorApp', () => { jest.resetAllMocks() jest.resetModules() - EditorUtil = require('../../../src/scripts/oboeditor/util/editor-util').default - EditorAPI = require('../../../src/scripts/viewer/util/editor-api').default - EditorStore = require('../../../src/scripts/oboeditor/stores/editor-store').default - ModalStore = require('../../../src/scripts/common/stores/modal-store').default - ModalUtil = require('../../../src/scripts/common/util/modal-util').default - Common = require('../../../src/scripts/common').default - EditorApp = require('../../../src/scripts/oboeditor/components/editor-app').default + EditorUtil = require('../util/editor-util').default + EditorAPI = require('../../viewer/util/editor-api').default + EditorStore = require('../stores/editor-store').default + ModalStore = require('../../common/stores/modal-store').default + ModalUtil = require('../../common/util/modal-util').default + Common = require('../../common').default + EditorApp = require('./editor-app').default defaultModel = { modelState: { start: 'mockStart' }, diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-title-input.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-title-input.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-title-input.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-title-input.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/editor-title-input.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-title-input.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/editor-title-input.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-title-input.test.js index 4d05c0402b..289c1e68ed 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/editor-title-input.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/editor-title-input.test.js @@ -1,7 +1,7 @@ import React from 'react' import renderer, { act } from 'react-test-renderer' -import EditorTitleInput from 'src/scripts/oboeditor/components/editor-title-input' +import EditorTitleInput from './editor-title-input' describe('EditorTitleInput', () => { test('EditorTitleInput component', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/hovering-preview.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/hovering-preview.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/hovering-preview.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/hovering-preview.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/hovering-preview.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/hovering-preview.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/hovering-preview.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/hovering-preview.test.js index d4cdde9fbe..a9bb17c6a5 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/hovering-preview.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/hovering-preview.test.js @@ -2,7 +2,7 @@ import renderer, { act } from 'react-test-renderer' import React from 'react' import { Editor } from 'slate' import { ReactEditor, useSlate } from 'slate-react' -import HoveringPreview from 'src/scripts/oboeditor/components/hovering-preview' +import HoveringPreview from './hovering-preview' jest.mock('slate-react') jest.mock('slate') diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/__snapshots__/basic-marks.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/__snapshots__/basic-marks.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/__snapshots__/basic-marks.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/__snapshots__/basic-marks.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/__snapshots__/link-mark.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/__snapshots__/link-mark.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/__snapshots__/link-mark.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/__snapshots__/link-mark.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/__snapshots__/link.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/__snapshots__/link.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/__snapshots__/link.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/__snapshots__/link.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/__snapshots__/script-marks.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/__snapshots__/script-marks.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/__snapshots__/script-marks.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/__snapshots__/script-marks.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/align-marks.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/align-marks.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/align-marks.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/align-marks.test.js index b94fb4bdc7..a05151a0f6 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/align-marks.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/align-marks.test.js @@ -1,7 +1,7 @@ import { Transforms } from 'slate' jest.mock('slate-react') -import AlignMarks from '../../../../src/scripts/oboeditor/components/marks/align-marks' +import AlignMarks from './align-marks' const ALIGN_RIGHT = 'right' const ALIGN_CENTER = 'center' diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/basic-marks.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/basic-marks.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/basic-marks.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/basic-marks.test.js index c8425b5b3a..0b5158ef8f 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/basic-marks.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/basic-marks.test.js @@ -1,7 +1,7 @@ import { Editor } from 'slate' jest.mock('slate-react') -import BasicMarks from 'obojobo-document-engine/src/scripts/oboeditor/components/marks/basic-marks' +import BasicMarks from './basic-marks' const BOLD_MARK = 'b' const ITALIC_MARK = 'i' diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/color-marks.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/color-marks.test.js similarity index 94% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/color-marks.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/color-marks.test.js index 5b9ed1e81e..116e99350a 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/color-marks.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/color-marks.test.js @@ -1,4 +1,4 @@ -import ColorMark from 'obojobo-document-engine/src/scripts/oboeditor/components/marks/color-marks' +import ColorMark from './color-marks' jest.mock('slate-react') import Dispatcher from 'obojobo-document-engine/src/scripts/common/flux/dispatcher' jest.mock('obojobo-document-engine/src/scripts/common/flux/dispatcher') diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/indent-marks.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/indent-marks.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/indent-marks.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/indent-marks.test.js index ebfc69d9cb..7af68feb83 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/indent-marks.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/indent-marks.test.js @@ -1,7 +1,7 @@ import { Transforms } from 'slate' jest.mock('slate-react') -import IndentMarks from 'obojobo-document-engine/src/scripts/oboeditor/components/marks/indent-marks' +import IndentMarks from './indent-marks' const TEXT_NODE = 'ObojoboDraft.Chunks.Text' const TEXT_LINE_NODE = 'ObojoboDraft.Chunks.Text.TextLine' diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/link-mark.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/link-mark.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/link-mark.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/link-mark.test.js index 7841afeecf..b0238024e5 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/link-mark.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/link-mark.test.js @@ -3,7 +3,7 @@ jest.mock('slate-react') import ModalUtil from 'obojobo-document-engine/src/scripts/common/util/modal-util' jest.mock('obojobo-document-engine/src/scripts/common/util/modal-util') -import LinkMark from 'obojobo-document-engine/src/scripts/oboeditor/components/marks/link-mark' +import LinkMark from './link-mark' const LINK_MARK = 'a' const BUTTON_NODE = 'ObojoboDraft.Chunks.ActionButton' diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/link.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/link.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/link.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/link.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/link.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/link.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/link.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/link.test.js index 2e7a230806..d043d74ef1 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/link.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/link.test.js @@ -5,7 +5,7 @@ import { Transforms } from 'slate' jest.mock('slate') jest.mock('slate-react') -import Link from 'obojobo-document-engine/src/scripts/oboeditor/components/marks/link' +import Link from './link' import ModalUtil from 'obojobo-document-engine/src/scripts/common/util/modal-util' jest.mock('obojobo-document-engine/src/scripts/common/util/modal-util') diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/script-marks.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/script-marks.test.js similarity index 96% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/script-marks.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/script-marks.test.js index 7000de2a64..def3915f0e 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/marks/script-marks.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/marks/script-marks.test.js @@ -1,7 +1,7 @@ import { Editor } from 'slate' jest.mock('slate-react') -import ScriptMarks from 'obojobo-document-engine/src/scripts/oboeditor/components/marks/script-marks' +import ScriptMarks from './script-marks' describe('ScriptMarks', () => { test('onKeyDown does not toggle mark if wrong key is pressed', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/__snapshots__/editor-nav.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/__snapshots__/editor-nav.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/__snapshots__/editor-nav.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/__snapshots__/editor-nav.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/__snapshots__/header.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/__snapshots__/header.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/__snapshots__/header.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/__snapshots__/header.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/__snapshots__/more-info-box.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/__snapshots__/more-info-box.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/__snapshots__/more-info-box.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/__snapshots__/more-info-box.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/__snapshots__/sub-menu.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/__snapshots__/sub-menu.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/__snapshots__/sub-menu.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/__snapshots__/sub-menu.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/editor-nav.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/editor-nav.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/editor-nav.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/editor-nav.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/editor-nav.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/editor-nav.test.js similarity index 96% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/editor-nav.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/editor-nav.test.js index 95c76a14f9..80ac265d0b 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/editor-nav.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/editor-nav.test.js @@ -1,4 +1,4 @@ -import EditorNav from 'src/scripts/oboeditor/components/navigation/editor-nav' +import EditorNav from './editor-nav' import React from 'react' import Common from 'src/scripts/common' import { mount } from 'enzyme' @@ -9,7 +9,7 @@ jest.mock('src/scripts/common/util/modal-util') import EditorUtil from 'src/scripts/oboeditor/util/editor-util' jest.mock('src/scripts/oboeditor/util/editor-util') // SubMenu -jest.mock('src/scripts/oboeditor/components/navigation/sub-menu') +jest.mock('./sub-menu') // Editor Store jest.mock('src/scripts/oboeditor/stores/editor-store', () => ({ state: { startingId: null, itemsById: { mockStartingId: { label: 'theLabel' } } } diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/header.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/header.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/header.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/header.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/header.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/header.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/header.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/header.test.js index c959b22bef..dba75cb91e 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/header.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/header.test.js @@ -1,4 +1,4 @@ -import Header from 'src/scripts/oboeditor/components/navigation/header' +import Header from './header' import React from 'react' import Common from 'src/scripts/common' import { mount } from 'enzyme' diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/more-info-box.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/more-info-box.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/more-info-box.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/more-info-box.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/more-info-box.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/more-info-box.test.js similarity index 99% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/more-info-box.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/more-info-box.test.js index 451fba546e..6b7282c950 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/more-info-box.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/more-info-box.test.js @@ -2,8 +2,8 @@ import React from 'react' import { mount } from 'enzyme' import rtr from 'react-test-renderer' -import MoreInfoBox from 'src/scripts/oboeditor/components/navigation/more-info-box' -import ObjectiveProvider from 'src/scripts/oboeditor/components//objectives/objective-provider' +import MoreInfoBox from './more-info-box' +import ObjectiveProvider from '../objectives/objective-provider' import ClipboardUtil from 'src/scripts/oboeditor/util/clipboard-util' jest.mock('src/scripts/oboeditor/util/clipboard-util') diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/sub-menu.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/sub-menu.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/sub-menu.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/sub-menu.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/sub-menu.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/sub-menu.test.js similarity index 92% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/sub-menu.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/sub-menu.test.js index 6418bb80d1..47570c333f 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/navigation/sub-menu.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/navigation/sub-menu.test.js @@ -2,17 +2,17 @@ import React from 'react' import { mount } from 'enzyme' import renderer from 'react-test-renderer' -import Common from '../../../../src/scripts/common' -import EditorUtil from '../../../../src/scripts/oboeditor/util/editor-util' -import isValidId from '../../../../src/scripts/oboeditor/util/is-valid-id' +import Common from '../../../common' +import EditorUtil from '../../util/editor-util' +import isValidId from '../../util/is-valid-id' import { getTriggersWithActionsAdded, getTriggersWithActionsRemoved, hasTriggerTypeWithActionType -} from '../../../../src/scripts/common/util/trigger-util' -import SubMenu from '../../../../src/scripts/oboeditor/components/navigation/sub-menu' +} from '../../../common/util/trigger-util' +import SubMenu from './sub-menu' -jest.mock('../../../../src/scripts/oboeditor/util/editor-util', () => ({ +jest.mock('../../util/editor-util', () => ({ renamePage: jest.fn(), movePage: jest.fn(), addPage: jest.fn(), @@ -20,7 +20,7 @@ jest.mock('../../../../src/scripts/oboeditor/util/editor-util', () => ({ deletePage: jest.fn() })) -jest.mock('../../../../src/scripts/common', () => ({ +jest.mock('../../../common', () => ({ models: { OboModel: {} }, @@ -56,13 +56,13 @@ jest.mock('../../../../src/scripts/common', () => ({ } })) -jest.mock('../../../../src/scripts/oboeditor/util/editor-util') -jest.mock('../../../../src/scripts/oboeditor/util/is-valid-id') -jest.mock('../../../../src/scripts/common/util/trigger-util') -jest.mock('../../../../src/scripts/oboeditor/stores/editor-store', () => ({ +jest.mock('../../util/editor-util') +jest.mock('../../util/is-valid-id') +jest.mock('../../../common/util/trigger-util') +jest.mock('../../stores/editor-store', () => ({ state: { startingId: null } })) -jest.mock('../../../../src/scripts/oboeditor/components/navigation/more-info-box', () => props => ( +jest.mock('./more-info-box', () => props => (
{JSON.stringify(props, null, 2)}
)) diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/__snapshots__/converter.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/__snapshots__/converter.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/__snapshots__/converter.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/__snapshots__/converter.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/__snapshots__/editor-component.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/__snapshots__/editor-component.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/__snapshots__/editor-component.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/__snapshots__/editor-component.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/__snapshots__/with-slate-wrapper.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/__snapshots__/with-slate-wrapper.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/__snapshots__/with-slate-wrapper.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/__snapshots__/with-slate-wrapper.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/components/__snapshots__/insert-menu.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/components/__snapshots__/insert-menu.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/components/__snapshots__/insert-menu.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/components/__snapshots__/insert-menu.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/components/insert-menu.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/components/insert-menu.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/components/insert-menu.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/components/insert-menu.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/components/insert-menu.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/components/insert-menu.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/components/insert-menu.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/components/insert-menu.test.js index 0fcaad07e9..7ab3866cf1 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/components/insert-menu.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/components/insert-menu.test.js @@ -2,7 +2,7 @@ import { mount } from 'enzyme' import React from 'react' import renderer from 'react-test-renderer' -import InsertMenu from 'src/scripts/oboeditor/components/node/components/insert-menu' +import InsertMenu from './insert-menu' import BoldIcon from 'src/scripts/oboeditor/assets/bold-icon' jest.useFakeTimers() diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/converter.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/converter.test.js similarity index 94% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/converter.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/converter.test.js index 8eadee20b9..0fa334de92 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/converter.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/converter.test.js @@ -16,7 +16,7 @@ jest.mock('Common', () => ({ } })) -import Converter from 'src/scripts/oboeditor/components/node/converter' +import Converter from './converter' const BREAK_NODE = 'ObojoboDraft.Chunks.Break' describe('Component converter', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/editor-component.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/editor-component.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/editor-component.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/editor-component.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/editor-component.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/editor-component.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/editor-component.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/editor-component.test.js index 59bca17ef7..169cf03f37 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/editor-component.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/editor-component.test.js @@ -3,11 +3,11 @@ import { mount } from 'enzyme' import rtr from 'react-test-renderer' import { Transforms, Editor, Element, Path } from 'slate' import { ReactEditor } from 'slate-react' -import Common from '../../../../src/scripts/common' -import Node from 'src/scripts/oboeditor/components/node/editor-component' -import InsertMenu from 'src/scripts/oboeditor/components/node/components/insert-menu' -import MoreInfoBox from 'src/scripts/oboeditor/components/navigation/more-info-box' -import isValidId from 'src/scripts/oboeditor/util/is-valid-id' +import Common from '../../../common' +import Node from './editor-component' +import InsertMenu from './components/insert-menu' +import MoreInfoBox from '../../components/navigation/more-info-box' +import isValidId from '../../util/is-valid-id' const mockNode = { isInsertable: true, @@ -19,13 +19,11 @@ const mockNode = { cloneBlankNode: () => ({ type: 'mockNode' }) } -jest.mock('src/scripts/oboeditor/util/is-valid-id') -jest.mock('src/scripts/oboeditor/components/navigation/more-info-box', () => +jest.mock('../../util/is-valid-id') +jest.mock('../../components/navigation/more-info-box', () => global.mockReactComponent(this, 'MockMoreInfoBox') ) -jest.mock('src/scripts/oboeditor/components/node/components/insert-menu', () => - global.mockReactComponent(this, 'MockInsertMenu') -) +jest.mock('./components/insert-menu', () => global.mockReactComponent(this, 'MockInsertMenu')) jest.mock('slate') jest.mock('slate-react') jest.mock('Common', () => ({ diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/with-slate-wrapper.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/with-slate-wrapper.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/with-slate-wrapper.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/with-slate-wrapper.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/with-slate-wrapper.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/with-slate-wrapper.test.js similarity index 91% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/with-slate-wrapper.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/with-slate-wrapper.test.js index 74d18362bb..1a0603040e 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/node/with-slate-wrapper.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/node/with-slate-wrapper.test.js @@ -2,7 +2,7 @@ import React from 'react' import { mount } from 'enzyme' import { useEditor, useSelected } from 'slate-react' -import withSlate from 'src/scripts/oboeditor/components/node/with-slate-wrapper' +import withSlate from './with-slate-wrapper' jest.mock('slate') jest.mock('slate-react') diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/__snapshots__/objective-edit.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/__snapshots__/objective-edit.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/__snapshots__/objective-edit.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/__snapshots__/objective-edit.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/__snapshots__/objective-input.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/__snapshots__/objective-input.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/__snapshots__/objective-input.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/__snapshots__/objective-input.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/__snapshots__/objective-item.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/__snapshots__/objective-item.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/__snapshots__/objective-item.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/__snapshots__/objective-item.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/__snapshots__/objective-list-modal.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/__snapshots__/objective-list-modal.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/__snapshots__/objective-list-modal.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/__snapshots__/objective-list-modal.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/__snapshots__/objective-list-view.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/__snapshots__/objective-list-view.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/__snapshots__/objective-list-view.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/__snapshots__/objective-list-view.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/objective-edit.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/objective-edit.test.js similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/objective-edit.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/objective-edit.test.js diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/objective-input.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/objective-input.test.js similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/objective-input.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/objective-input.test.js diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/objective-item.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/objective-item.test.js similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/objective-item.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/objective-item.test.js diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/objective-list-modal.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/objective-list-modal.test.js similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/objective-list-modal.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/objective-list-modal.test.js diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/objective-list-view.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/objective-list-view.test.js similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/objectives/objective-list-view.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/objectives/objective-list-view.test.js diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/content-toolbar.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/content-toolbar.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/content-toolbar.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/content-toolbar.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/drop-down-menu.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/drop-down-menu.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/drop-down-menu.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/drop-down-menu.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/file-menu.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/file-menu.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/file-menu.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/file-menu.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/file-toolbar.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/file-toolbar.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/file-toolbar.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/file-toolbar.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/format-menu.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/format-menu.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/format-menu.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/format-menu.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/list-dropper.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/list-dropper.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/list-dropper.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/list-dropper.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/paragraph-styles.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/paragraph-styles.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/paragraph-styles.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/paragraph-styles.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/view-menu.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/view-menu.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/__snapshots__/view-menu.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/__snapshots__/view-menu.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/content-toolbar.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/content-toolbar.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/content-toolbar.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/content-toolbar.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/content-toolbar.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/content-toolbar.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/content-toolbar.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/content-toolbar.test.js index cc8ac01717..422c56fbf7 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/content-toolbar.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/content-toolbar.test.js @@ -2,14 +2,14 @@ import { shallow } from 'enzyme' import { Editor } from 'slate' import React from 'react' -import ContentToolbar from '../../../../src/scripts/oboeditor/components/toolbars/content-toolbar' +import ContentToolbar from './content-toolbar' const TEXT_NODE = 'ObojoboDraft.Chunks.Text' const HTML_NODE = 'ObojoboDraft.Chunks.HTML' // In order to test the case where no shortcut exists we remove the shortcut from one of the marks // in order to hit that line of code -jest.mock('../../../../src/scripts/oboeditor/components/marks/color-marks', () => { +jest.mock('../marks/color-marks', () => { return { marks: [ { diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/drop-down-menu.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/drop-down-menu.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/drop-down-menu.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/drop-down-menu.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/drop-down-menu.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/drop-down-menu.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/drop-down-menu.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/drop-down-menu.test.js index fc34b6d594..a500f53831 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/drop-down-menu.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/drop-down-menu.test.js @@ -1,7 +1,7 @@ import { mount, shallow } from 'enzyme' import React from 'react' -import DropDownMenu from '../../../../src/scripts/oboeditor/components/toolbars/drop-down-menu' +import DropDownMenu from './drop-down-menu' jest.useFakeTimers() diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-menu.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-menu.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-menu.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-menu.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/file-menu.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-menu.test.js similarity index 92% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/file-menu.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-menu.test.js index d3ba4ddb26..b470c421f7 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/file-menu.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-menu.test.js @@ -1,20 +1,20 @@ import { shallow, mount } from 'enzyme' import React from 'react' -import FileMenu from '../../../../src/scripts/oboeditor/components/toolbars/file-menu' +import FileMenu from './file-menu' -import ModalUtil from '../../../../src/scripts/common/util/modal-util' -jest.mock('../../../../src/scripts/common/util/modal-util') +import ModalUtil from 'obojobo-document-engine/src/scripts/common/util/modal-util' +jest.mock('obojobo-document-engine/src/scripts/common/util/modal-util') import EditorAPI from 'src/scripts/viewer/util/editor-api' jest.mock('obojobo-document-engine/src/scripts/viewer/util/editor-api') -import ClipboardUtil from '../../../../src/scripts/oboeditor/util/clipboard-util' -jest.mock('../../../../src/scripts/oboeditor/util/clipboard-util') -import EditorStore from '../../../../src/scripts/oboeditor/stores/editor-store' -jest.mock('../../../../src/scripts/oboeditor/stores/editor-store', () => ({ +import ClipboardUtil from '../../util/clipboard-util' +jest.mock('../../util/clipboard-util') +import EditorStore from '../../stores/editor-store' +jest.mock('../../stores/editor-store', () => ({ state: { startingId: null, itemsById: { mockStartingId: { label: 'theLabel' } } } })) -import { downloadDocument } from '../../../../src/scripts/common/util/download-document' -jest.mock('../../../../src/scripts/common/util/download-document') +import { downloadDocument } from 'obojobo-document-engine/src/scripts/common/util/download-document' +jest.mock('obojobo-document-engine/src/scripts/common/util/download-document') import { FULL, PARTIAL } from 'obojobo-express/server/constants' diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar-viewer.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar-viewer.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar-viewer.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar-viewer.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/file-toolbar-viewer.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar-viewer.test.js similarity index 92% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/file-toolbar-viewer.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar-viewer.test.js index 6dcb809e97..fe62d43873 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/file-toolbar-viewer.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar-viewer.test.js @@ -2,26 +2,20 @@ import { shallow } from 'enzyme' import { Transforms, Editor, Range, Element } from 'slate' import React from 'react' import { useEditor, ReactEditor } from 'slate-react' -import FileToolbarViewer from '../../../../src/scripts/oboeditor/components/toolbars/file-toolbar-viewer' -import FileToolbar from '../../../../src/scripts/oboeditor/components/toolbars/file-toolbar' -import FormatMenu from '../../../../src/scripts/oboeditor/components/toolbars/format-menu' -import DropDownMenu from '../../../../src/scripts/oboeditor/components/toolbars/drop-down-menu' -import { Registry } from '../../../../src/scripts/common/registry' +import FileToolbarViewer from './file-toolbar-viewer' +import FileToolbar from './file-toolbar' +import FormatMenu from './format-menu' +import DropDownMenu from './drop-down-menu' +import { Registry } from '../../../common/registry' jest.mock('slate-react') jest.mock('slate') -jest.mock('../../../../src/scripts/oboeditor/components/toolbars/file-menu') -jest.mock('../../../../src/scripts/oboeditor/components/toolbars/view-menu') -jest.mock('../../../../src/scripts/common/registry') -jest.mock('../../../../src/scripts/oboeditor/components/toolbars/drop-down-menu', () => - global.mockReactComponent(this, 'DropDownMenu') -) -jest.mock('../../../../src/scripts/oboeditor/components/toolbars/file-toolbar', () => - global.mockReactComponent(this, 'FileToolbar') -) -jest.mock('../../../../src/scripts/oboeditor/components/toolbars/format-menu', () => - global.mockReactComponent(this, 'FormatMenu') -) +jest.mock('./file-menu') +jest.mock('./view-menu') +jest.mock('../../../common/registry') +jest.mock('./drop-down-menu', () => global.mockReactComponent(this, 'DropDownMenu')) +jest.mock('./file-toolbar', () => global.mockReactComponent(this, 'FileToolbar')) +jest.mock('./format-menu', () => global.mockReactComponent(this, 'FormatMenu')) // Editor.nodes returns an iterator // this is an iterator that always returns a single node diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/file-toolbar.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar.test.js similarity index 86% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/file-toolbar.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar.test.js index dcc2561f59..071358bb08 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/file-toolbar.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/file-toolbar.test.js @@ -1,16 +1,16 @@ import { mount, shallow } from 'enzyme' import React from 'react' -import FileToolbar from '../../../../src/scripts/oboeditor/components/toolbars/file-toolbar' -import DropDownMenu from '../../../../src/scripts/oboeditor/components/toolbars/drop-down-menu' -jest.mock('../../../../src/scripts/oboeditor/components/toolbars/file-menu') -jest.mock('../../../../src/scripts/oboeditor/components/toolbars/view-menu') -jest.mock('../../../../src/scripts/oboeditor/components/toolbars/drop-down-menu') -jest.mock('../../../../src/scripts/common', () => ({ +import FileToolbar from './file-toolbar' +import DropDownMenu from './drop-down-menu' +jest.mock('./file-menu') +jest.mock('./view-menu') +jest.mock('./drop-down-menu') +jest.mock('obojobo-document-engine/src/scripts/common', () => ({ components: { modal: { SimpleDialog: () => 'MockSimpleDialog' }, - Button: require('../../../../src/scripts/common/components/button').default + Button: require('obojobo-document-engine/src/scripts/common/components/button').default }, util: { isOrNot: require('obojobo-document-engine/src/scripts/common/util/isornot').default diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/format-menu.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/format-menu.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/format-menu.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/format-menu.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/format-menu.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/format-menu.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/format-menu.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/format-menu.test.js index 52beadec85..0e76dc8793 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/format-menu.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/format-menu.test.js @@ -3,7 +3,7 @@ import React from 'react' jest.mock('slate-react') import { useEditor } from 'slate-react' -import FormatMenu from '../../../../src/scripts/oboeditor/components/toolbars/format-menu' +import FormatMenu from './format-menu' const LIST_NODE = 'ObojoboDraft.Chunks.List' diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/list-dropper.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/list-dropper.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/list-dropper.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/list-dropper.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/list-dropper.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/list-dropper.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/list-dropper.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/list-dropper.test.js index 71d1d86af1..a194ec6e32 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/list-dropper.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/list-dropper.test.js @@ -1,7 +1,7 @@ import { mount, shallow } from 'enzyme' import React from 'react' -import ListDropper from '../../../../src/scripts/oboeditor/components/toolbars/list-dropper' +import ListDropper from './list-dropper' const LIST_NODE = 'ObojoboDraft.Chunks.List' diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/paragraph-styles.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/paragraph-styles.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/paragraph-styles.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/paragraph-styles.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/paragraph-styles.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/paragraph-styles.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/paragraph-styles.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/paragraph-styles.test.js index 3b3677c81d..18f03e0cf5 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/paragraph-styles.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/paragraph-styles.test.js @@ -1,7 +1,7 @@ import { mount, shallow } from 'enzyme' import React from 'react' -import ParagraphStyles from '../../../../src/scripts/oboeditor/components/toolbars/paragraph-styles' +import ParagraphStyles from './paragraph-styles' const HEADING_NODE = 'ObojoboDraft.Chunks.Heading' const CODE_NODE = 'ObojoboDraft.Chunks.Code' diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/view-menu.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/view-menu.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/view-menu.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/view-menu.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/view-menu.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/view-menu.test.js similarity index 93% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/view-menu.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/view-menu.test.js index f5258ed727..93917f8d76 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/toolbars/view-menu.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/toolbars/view-menu.test.js @@ -1,7 +1,7 @@ import { mount, shallow } from 'enzyme' import React from 'react' -import ViewMenu from '../../../../src/scripts/oboeditor/components/toolbars/view-menu' +import ViewMenu from './view-menu' const XML_MODE = 'xml' const JSON_MODE = 'json' const VISUAL_MODE = 'visual' diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/triggers/__snapshots__/trigger-list-modal.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/triggers/__snapshots__/trigger-list-modal.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/triggers/__snapshots__/trigger-list-modal.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/triggers/__snapshots__/trigger-list-modal.test.js.snap diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/triggers/trigger-list-modal.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/triggers/trigger-list-modal.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/triggers/trigger-list-modal.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/triggers/trigger-list-modal.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/triggers/trigger-list-modal.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/triggers/trigger-list-modal.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/triggers/trigger-list-modal.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/triggers/trigger-list-modal.test.js index 5a41c20cd4..8837a1f42c 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/triggers/trigger-list-modal.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/triggers/trigger-list-modal.test.js @@ -1,8 +1,8 @@ import { mount, shallow } from 'enzyme' import React from 'react' -import Switch from '../../../../src/scripts/common/components/switch' -import TriggerListModal from '../../../../src/scripts/oboeditor/components/triggers/trigger-list-modal' +import Switch from '../../../common/components/switch' +import TriggerListModal from './trigger-list-modal' describe('TriggerListModal', () => { test('renders all options', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor-error-boundry.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor-error-boundry.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor-error-boundry.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor-error-boundry.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/visual-editor-error-boundry.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor-error-boundry.test.js similarity index 94% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/visual-editor-error-boundry.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor-error-boundry.test.js index fd562f6acf..fb721fb59a 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/visual-editor-error-boundry.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor-error-boundry.test.js @@ -1,7 +1,7 @@ import React from 'react' import renderer from 'react-test-renderer' import mockConsole from 'jest-mock-console' -import VisualEditorErrorBoundry from 'src/scripts/oboeditor/components/visual-editor-error-boundry' +import VisualEditorErrorBoundry from './visual-editor-error-boundry' describe('VisualEditorErrorBoundry', () => { let restoreConsole diff --git a/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/visual-editor.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/components/visual-editor.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor.test.js index 7bd38f546e..1d636c3528 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/components/visual-editor.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/components/visual-editor.test.js @@ -1,13 +1,13 @@ import { mount } from 'enzyme' import renderer from 'react-test-renderer' -import VisualEditor from 'src/scripts/oboeditor/components/visual-editor' +import VisualEditor from './visual-editor' import React from 'react' import mockConsole from 'jest-mock-console' import Common from 'src/scripts/common' -import Component from 'src/scripts/oboeditor/components/node/editor' +import Component from './node/editor' import EditorUtil from 'src/scripts/oboeditor/util/editor-util' -import ModalStore from '../../../src/scripts/common/stores/modal-store' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' +import ModalStore from '../../common/stores/modal-store' +import Dispatcher from '../../common/flux/dispatcher' import OboModel from 'src/scripts/common/models/obo-model' import { FULL } from 'obojobo-express/server/constants' @@ -16,7 +16,7 @@ import { ReactEditor } from 'slate-react' // jest.mock('slate') jest.mock('src/scripts/viewer/util/editor-api') jest.mock('src/scripts/common/util/modal-util') -jest.mock('src/scripts/oboeditor/components/node/editor', () => ({ +jest.mock('./node/editor', () => ({ helpers: { slateToObo: jest.fn(), oboToSlate: jest.fn().mockReturnValue({ text: '' }) @@ -29,14 +29,12 @@ jest.mock('src/scripts/oboeditor/stores/editor-store', () => ({ })) jest.mock('src/scripts/oboeditor/util/editor-util') -jest.mock('src/scripts/oboeditor/components/navigation/editor-nav') -jest.mock('src/scripts/oboeditor/components/toolbars/paragraph-styles') -jest.mock('src/scripts/oboeditor/components/toolbars/file-toolbar-viewer', () => props => ( +jest.mock('./navigation/editor-nav') +jest.mock('./toolbars/paragraph-styles') +jest.mock('./toolbars/file-toolbar-viewer', () => props => (
)) -jest.mock('src/scripts/oboeditor/components/hovering-preview', () => props => ( -
-)) +jest.mock('./hovering-preview', () => props =>
) const CONTENT_NODE = 'ObojoboDraft.Sections.Content' const ASSESSMENT_NODE = 'ObojoboDraft.Sections.Assessment' diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/overwrite-bug-fixes.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/overwrite-bug-fixes.test.js similarity index 99% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/overwrite-bug-fixes.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/overwrite-bug-fixes.test.js index 1342a077ad..69a9923f8f 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/overwrite-bug-fixes.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/overwrite-bug-fixes.test.js @@ -1,6 +1,6 @@ import { Transforms, createEditor, Editor, Text } from 'slate' -import 'src/scripts/oboeditor/overwrite-bug-fixes' +import './overwrite-bug-fixes' jest.mock('src/scripts/common/util/modal-util') diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/__snapshots__/obonode-plugin.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/__snapshots__/obonode-plugin.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/__snapshots__/obonode-plugin.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/__snapshots__/obonode-plugin.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/clipboard-plugin.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/clipboard-plugin.test.js similarity index 94% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/clipboard-plugin.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/clipboard-plugin.test.js index b94152ec48..94bf7ea01f 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/clipboard-plugin.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/clipboard-plugin.test.js @@ -1,7 +1,7 @@ import { Transforms } from 'slate' jest.mock('slate') -import ClipboardPlugin from 'src/scripts/oboeditor/plugins/clipboard-plugin' +import ClipboardPlugin from './clipboard-plugin' describe('ClipboardPlugin', () => { test('insertData calls next with Slate content', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/format-plugin.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/format-plugin.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/format-plugin.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/format-plugin.test.js index b9a91c268f..3dc2e9e717 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/format-plugin.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/format-plugin.test.js @@ -1,6 +1,6 @@ import Common from 'src/scripts/common/index' -import FormatPlugin from 'src/scripts/oboeditor/plugins/format-plugin' +import FormatPlugin from './format-plugin' // const LIST_NODE = 'ObojoboDraft.Chunks.List' const TEXT_NODE = 'ObojoboDraft.Chunks.Text' diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/obonode-plugin.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/obonode-plugin.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/obonode-plugin.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/obonode-plugin.test.js index e3ab762b82..809f2d9a39 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/plugins/obonode-plugin.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/plugins/obonode-plugin.test.js @@ -16,7 +16,7 @@ jest.mock('obojobo-document-engine/src/scripts/common/index', () => ({ import Common from 'obojobo-document-engine/src/scripts/common' const { OboModel } = Common.models -import OboNodePlugin from 'src/scripts/oboeditor/plugins/obonode-plugin' +import OboNodePlugin from './obonode-plugin' const ASSESSMENT_NODE = 'ObojoboDraft.Sections.Assessment' diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/stores/__snapshots__/editor-store.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/stores/__snapshots__/editor-store.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/stores/__snapshots__/editor-store.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/stores/__snapshots__/editor-store.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/stores/editor-store.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/stores/editor-store.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/stores/editor-store.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/stores/editor-store.test.js index ae8f58b294..79fff17e70 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/stores/editor-store.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/stores/editor-store.test.js @@ -1,16 +1,16 @@ /* eslint no-undefined: 0 */ -import Common from '../../../src/scripts/common/index' -import EditorUtil from '../../../src/scripts/oboeditor/util/editor-util' -jest.mock('../../../src/scripts/oboeditor/util/editor-util') -jest.mock('../../../src/scripts/viewer/util/viewer-api') +import Common from '../../common/index' +import EditorUtil from '../../oboeditor/util/editor-util' +jest.mock('../../oboeditor/util/editor-util') +jest.mock('../../viewer/util/viewer-api') // spy on dispatcher before loading EditorStore const Dispatcher = Common.flux.Dispatcher jest.spyOn(Dispatcher, 'on') jest.spyOn(Dispatcher, 'trigger') -const EditorStore = require('../../../src/scripts/oboeditor/stores/editor-store').default +const EditorStore = require('./editor-store').default // gotta hold on to this because beforeEach will clear it before the tests const eventCallbacks = Dispatcher.on.mock.calls[0][0] diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/__snapshots__/text-util.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/__snapshots__/text-util.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/util/__snapshots__/text-util.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/util/__snapshots__/text-util.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/clipboard-util.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/clipboard-util.test.js similarity index 90% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/util/clipboard-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/util/clipboard-util.test.js index 1c6bba859a..77a6e18985 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/clipboard-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/clipboard-util.test.js @@ -1,4 +1,4 @@ -import ClipboardUtil from 'src/scripts/oboeditor/util/clipboard-util' +import ClipboardUtil from './clipboard-util' jest.mock('src/scripts/common/util/modal-util') diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/editor-util.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/editor-util.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/util/editor-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/util/editor-util.test.js index 20681a8a7b..3c77f4cac3 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/editor-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/editor-util.test.js @@ -1,7 +1,7 @@ -import Common from '../../../src/scripts/common/index' -import EditorUtil from '../../../src/scripts/oboeditor/util/editor-util' +import Common from '../../common/index' +import EditorUtil from './editor-util' import mockConsole from 'jest-mock-console' -jest.mock('../../../src/scripts/common/index', () => ({ +jest.mock('../../common/index', () => ({ models: { OboModel: { models: { diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/freeze-unfreeze-editor.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/freeze-unfreeze-editor.test.js similarity index 91% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/util/freeze-unfreeze-editor.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/util/freeze-unfreeze-editor.test.js index 83cb777bae..cf7a32e06a 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/freeze-unfreeze-editor.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/freeze-unfreeze-editor.test.js @@ -1,4 +1,4 @@ -import { freezeEditor, unfreezeEditor } from 'src/scripts/oboeditor/util/freeze-unfreeze-editor' +import { freezeEditor, unfreezeEditor } from './freeze-unfreeze-editor' import { ReactEditor } from 'slate-react' import { Transforms } from 'slate' diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/include-text-cancelling-plugins.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/include-text-cancelling-plugins.test.js similarity index 94% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/util/include-text-cancelling-plugins.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/util/include-text-cancelling-plugins.test.js index aa931d12fe..150d7c3a1c 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/include-text-cancelling-plugins.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/include-text-cancelling-plugins.test.js @@ -1,4 +1,4 @@ -import includeTextCancellingPlugins from 'src/scripts/oboeditor/util/include-text-cancelling-plugins' +import includeTextCancellingPlugins from './include-text-cancelling-plugins' describe('includeTextCancellingPlugins', () => { beforeAll(() => {}) diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/is-valid-id.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/is-valid-id.test.js similarity index 88% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/util/is-valid-id.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/util/is-valid-id.test.js index 026a818ea4..eab50fe0da 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/is-valid-id.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/is-valid-id.test.js @@ -1,4 +1,4 @@ -import isValidId from 'src/scripts/oboeditor/util/is-valid-id' +import isValidId from './is-valid-id' describe('Validate ID', () => { test.each` diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/keydown-util.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/keydown-util.test.js similarity index 99% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/util/keydown-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/util/keydown-util.test.js index 559cb1db17..723c3b7bdd 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/keydown-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/keydown-util.test.js @@ -2,7 +2,7 @@ import { Transforms, Node } from 'slate' import { ReactEditor } from 'slate-react' jest.mock('slate-react') -import KeyDownUtil from 'src/scripts/oboeditor/util/keydown-util' +import KeyDownUtil from './keydown-util' const TEXT_NODE = 'ObojoboDraft.Chunks.Text' const TEXT_LINE_NODE = 'ObojoboDraft.Chunks.Text.TextLine' diff --git a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/text-util.test.js b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/text-util.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/oboeditor/util/text-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/oboeditor/util/text-util.test.js index 88f5234649..a9986c3484 100644 --- a/packages/app/obojobo-document-engine/__tests__/oboeditor/util/text-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/oboeditor/util/text-util.test.js @@ -1,4 +1,4 @@ -import TextUtil from '../../../src/scripts/oboeditor/util/text-util' +import TextUtil from './text-util' describe('TextUtil', () => { beforeEach(() => { diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/flag.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/flag.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/flag.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/flag.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/header.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/header.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/header.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/header.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/inline-nav-button.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/inline-nav-button.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/inline-nav-button.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/inline-nav-button.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/logo.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/logo.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/logo.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/logo.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/nav.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/nav.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/nav.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/nav.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/obo-component.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/obo-component.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/common/components/__snapshots__/obo-component.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/obo-component.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/viewer-app.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/viewer-app.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/__snapshots__/viewer-app.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/__snapshots__/viewer-app.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/flag.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/flag.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/flag.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/flag.test.js index 4383f4717c..7f28711e1f 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/components/flag.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/components/flag.test.js @@ -1,6 +1,6 @@ import React from 'react' import renderer from 'react-test-renderer' -import Flag from '../../../src/scripts/viewer/components/flag' +import Flag from './flag' describe('Flag', () => { test('Renders CHOSEN_CORRECTLY', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/viewer/components/header.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/header.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/viewer/components/header.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/header.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/header.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/header.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/header.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/header.test.js index caa6ec7031..fc38bec3e7 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/components/header.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/components/header.test.js @@ -1,6 +1,6 @@ import React from 'react' import renderer from 'react-test-renderer' -import Header from 'src/scripts/viewer/components/header' +import Header from './header' describe('Header', () => { test('renders correctly with title, left position', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/viewer/components/inline-nav-button.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/inline-nav-button.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/viewer/components/inline-nav-button.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/inline-nav-button.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/inline-nav-button.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/inline-nav-button.test.js similarity index 92% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/inline-nav-button.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/inline-nav-button.test.js index 636133279e..894fbd5c8c 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/components/inline-nav-button.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/components/inline-nav-button.test.js @@ -1,10 +1,10 @@ import { shallow } from 'enzyme' import React from 'react' import renderer from 'react-test-renderer' -import NavUtil from 'src/scripts/viewer/util/nav-util' -import NavButton from 'src/scripts/viewer/components/inline-nav-button' +import NavUtil from '../util/nav-util' +import NavButton from './inline-nav-button' -jest.mock('src/scripts/viewer/util/nav-util', () => ({ +jest.mock('../util/nav-util', () => ({ goNext: jest.fn(), goPrev: jest.fn() })) diff --git a/packages/app/obojobo-document-engine/src/scripts/viewer/components/logo.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/logo.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/viewer/components/logo.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/logo.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/logo.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/logo.test.js similarity index 85% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/logo.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/logo.test.js index ba7f96c996..eb30830f2b 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/components/logo.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/components/logo.test.js @@ -1,9 +1,9 @@ import React from 'react' import renderer from 'react-test-renderer' -import Logo from 'src/scripts/viewer/components/logo' -import rd from 'src/scripts/viewer/components/rd' +import Logo from './logo' +import rd from './rd' -jest.mock('src/scripts/viewer/components/rd') +jest.mock('./rd') describe('Logo', () => { test('renders correctly when inverted prop is true', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/viewer/components/nav.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/nav.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/viewer/components/nav.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/nav.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/nav.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/nav.test.js similarity index 96% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/nav.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/nav.test.js index f072903c55..74f67720e9 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/components/nav.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/components/nav.test.js @@ -1,12 +1,12 @@ import { mount, shallow } from 'enzyme' -import AssessmentUtil from '../../../src/scripts/viewer/util/assessment-util' -import FocusUtil from '../../../src/scripts/viewer/util/focus-util' -import NavUtil from '../../../src/scripts/viewer/util/nav-util' +import AssessmentUtil from '../util/assessment-util' +import FocusUtil from '../util/focus-util' +import NavUtil from '../util/nav-util' import React from 'react' import renderer from 'react-test-renderer' -jest.mock('../../../src/scripts/viewer/util/focus-util') +jest.mock('../util/focus-util') class MockStylableText { constructor(text) { @@ -35,7 +35,7 @@ jest.mock('obojobo-document-engine/src/scripts/common', () => ({ StyleableTextComponent: mockStylableComponent }, components: { - Button: require('../../../src/scripts/common/components/button').default + Button: require('../../common/components/button').default }, flux: { Dispatcher: { @@ -48,13 +48,13 @@ jest.mock('obojobo-document-engine/src/scripts/common', () => ({ })) // AssessmentUtil -jest.mock('../../../src/scripts/viewer/util/assessment-util', () => ({ +jest.mock('../util/assessment-util', () => ({ getAssessmentScoreForModel: jest.fn(), getAttemptsRemaining: jest.fn() })) // NavUtil -jest.mock('../../../src/scripts/viewer/util/nav-util', () => ({ +jest.mock('../util/nav-util', () => ({ canNavigate: jest.fn(), goto: jest.fn(), toggle: jest.fn(), @@ -65,9 +65,9 @@ jest.mock('../../../src/scripts/viewer/util/nav-util', () => ({ })) // NavStore -jest.mock('../../../src/scripts/viewer/stores/nav-store', () => ({})) +jest.mock('../stores/nav-store', () => ({})) -const Nav = require('../../../src/scripts/viewer/components/nav').default +const Nav = require('./nav').default describe('Nav', () => { const navItems = [ diff --git a/packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-component.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-component.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-component.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-component.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/common/components/obo-component.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-component.test.js similarity index 77% rename from packages/app/obojobo-document-engine/__tests__/common/components/obo-component.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-component.test.js index 62221f688c..8036b4c6e7 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/components/obo-component.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-component.test.js @@ -1,10 +1,10 @@ -import OboComponent from '../../../src/scripts/viewer/components/obo-component' -import OboModel from '../../../__mocks__/_obo-model-with-chunks' +import OboComponent from './obo-component' +import OboModel from '../../../../__mocks__/_obo-model-with-chunks' import React from 'react' import renderer from 'react-test-renderer' -import FocusUtil from '../../../src/scripts/viewer/util/focus-util' +import FocusUtil from '../util/focus-util' -jest.mock('../../../src/scripts/viewer/util/focus-util') +jest.mock('../util/focus-util') test('OboComponent', () => { FocusUtil.getVisuallyFocussedModel.mockReturnValue(null) diff --git a/packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-question-assessment-component.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-question-assessment-component.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-question-assessment-component.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-question-assessment-component.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/obo-question-assessment-component.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-question-assessment-component.test.js similarity index 92% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/obo-question-assessment-component.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-question-assessment-component.test.js index a77376faa5..92169f2120 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/components/obo-question-assessment-component.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/components/obo-question-assessment-component.test.js @@ -1,6 +1,6 @@ import React from 'react' import renderer from 'react-test-renderer' -import OboQuestionAssessmentComponent from '../../../src/scripts/viewer/components/obo-question-assessment-component' +import OboQuestionAssessmentComponent from './obo-question-assessment-component' describe('OboQuestionAssessmentComponent', () => { test('static getRevealAnswerDefault returns never', () => { diff --git a/packages/app/obojobo-document-engine/src/scripts/viewer/components/viewer-app.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/viewer-app.jsx similarity index 100% rename from packages/app/obojobo-document-engine/src/scripts/viewer/components/viewer-app.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/viewer-app.jsx diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/components/viewer-app.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/components/viewer-app.test.js similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/Viewer/components/viewer-app.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/components/viewer-app.test.js diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/__snapshots__/assessment-store.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/__snapshots__/assessment-store.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/Viewer/stores/__snapshots__/assessment-store.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/viewer/stores/__snapshots__/assessment-store.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/__snapshots__/nav-store.test.js.snap b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/__snapshots__/nav-store.test.js.snap similarity index 100% rename from packages/app/obojobo-document-engine/__tests__/Viewer/stores/__snapshots__/nav-store.test.js.snap rename to packages/app/obojobo-document-engine/src/scripts/viewer/stores/__snapshots__/nav-store.test.js.snap diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/assessment-state-helpers.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/assessment-state-helpers.test.js similarity index 93% rename from packages/app/obojobo-document-engine/__tests__/Viewer/stores/assessment-state-helpers.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/stores/assessment-state-helpers.test.js index 55ba20dd92..a86f2cf8e4 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/assessment-state-helpers.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/assessment-state-helpers.test.js @@ -1,18 +1,18 @@ -jest.mock('obojobo-document-engine/src/scripts/viewer/stores/nav-store') -jest.mock('obojobo-document-engine/src/scripts/viewer/util/assessment-api') -jest.mock('obojobo-document-engine/src/scripts/viewer/util/nav-util') -jest.mock('obojobo-document-engine/src/scripts/viewer/stores/question-store') -jest.mock('../../../src/scripts/viewer/util/question-util') -jest.mock('../../../src/scripts/common/util/inject-katex-if-needed') +jest.mock('./nav-store') +jest.mock('../util/assessment-api') +jest.mock('../util/nav-util') +jest.mock('./question-store') +jest.mock('../util/question-util') +jest.mock('../../common/util/inject-katex-if-needed') import Common from 'Common' -import AssessmentStateHelpers from 'obojobo-document-engine/src/scripts/viewer/stores/assessment-state-helpers' -import NavStore from 'obojobo-document-engine/src/scripts/viewer/stores/nav-store' -import QuestionStore from 'obojobo-document-engine/src/scripts/viewer/stores/question-store' -import AssessmentAPI from 'obojobo-document-engine/src/scripts/viewer/util/assessment-api' -import QuestionUtil from '../../../src/scripts/viewer/util/question-util' -import NavUtil from 'obojobo-document-engine/src/scripts/viewer/util/nav-util' -import injectKatexIfNeeded from '../../../src/scripts/common/util/inject-katex-if-needed' +import AssessmentStateHelpers from './assessment-state-helpers' +import NavStore from './nav-store' +import QuestionStore from './question-store' +import AssessmentAPI from '../util/assessment-api' +import QuestionUtil from '../util/question-util' +import NavUtil from '../util/nav-util' +import injectKatexIfNeeded from '../../common/util/inject-katex-if-needed' const { OboModel } = Common.models // const { ErrorUtil, ModalUtil } = Common.util diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/assessment-state-machine.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/assessment-state-machine.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/Viewer/stores/assessment-state-machine.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/stores/assessment-state-machine.test.js index d555ea11ed..be4b8bacbe 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/assessment-state-machine.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/assessment-state-machine.test.js @@ -1,19 +1,19 @@ /* eslint-disable no-console */ -import AssessmentStateMachine from 'obojobo-document-engine/src/scripts/viewer/stores/assessment-state-machine' -import AssessmentMachineStates from 'obojobo-document-engine/src/scripts/viewer/stores/assessment-store/assessment-machine-states' -import AssessmentStateActions from 'obojobo-document-engine/src/scripts/viewer/stores/assessment-store/assessment-state-actions' -import OboModel from '../../../src/scripts/common/models/obo-model' -import AssessmentStateHelpers from '../../../src/scripts/viewer/stores/assessment-state-helpers' -import AssessmentAPI from 'obojobo-document-engine/src/scripts/viewer/util/assessment-api' -import NavUtil from 'obojobo-document-engine/src/scripts/viewer/util/nav-util' +import AssessmentStateMachine from './assessment-state-machine' +import AssessmentMachineStates from './assessment-store/assessment-machine-states' +import AssessmentStateActions from './assessment-store/assessment-state-actions' +import OboModel from '../../common/models/obo-model' +import AssessmentStateHelpers from './assessment-state-helpers' +import AssessmentAPI from '../util/assessment-api' +import NavUtil from '../util/nav-util' import mockConsole from 'jest-mock-console' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' +import Dispatcher from '../../common/flux/dispatcher' -jest.mock('obojobo-document-engine/src/scripts/viewer/util/assessment-api') -jest.mock('obojobo-document-engine/src/scripts/viewer/util/nav-util') -jest.mock('../../../src/scripts/viewer/stores/question-store') -jest.mock('../../../src/scripts/common/flux/dispatcher') +jest.mock('../util/assessment-api') +jest.mock('../util/nav-util') +jest.mock('./question-store') +jest.mock('../../common/flux/dispatcher') const { PROMPTING_FOR_RESUME, diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/assessment-store.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/assessment-store.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/Viewer/stores/assessment-store.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/stores/assessment-store.test.js index 8624bf41ec..796b9e9fad 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/assessment-store.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/assessment-store.test.js @@ -1,16 +1,16 @@ import React from 'react' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' -import AssessmentStore from '../../../src/scripts/viewer/stores/assessment-store' -import AssessmentUtil from '../../../src/scripts/viewer/util/assessment-util' -import ModalUtil from '../../../src/scripts/common/util/modal-util' -import OboModel from '../../../src/scripts/common/models/obo-model' -import AssessmentStateMachine from '../../../src/scripts/viewer/stores/assessment-state-machine' -import AssessmentAPI from '../../../src/scripts/viewer/util/assessment-api' -import ErrorUtil from '../../../src/scripts/common/util/error-util' +import Dispatcher from '../../common/flux/dispatcher' +import AssessmentStore from './assessment-store' +import AssessmentUtil from '../util/assessment-util' +import ModalUtil from '../../common/util/modal-util' +import OboModel from '../../common/models/obo-model' +import AssessmentStateMachine from './assessment-state-machine' +import AssessmentAPI from '../util/assessment-api' +import ErrorUtil from '../../common/util/error-util' import PreAttemptImportScoreDialog from 'obojobo-sections-assessment/components/dialogs/pre-attempt-import-score-dialog' -jest.mock('../../../src/scripts/common/models/obo-model') -jest.mock('../../../src/scripts/viewer/stores/nav-store', () => { +jest.mock('../../common/models/obo-model') +jest.mock('./nav-store', () => { return { getState: () => { return { @@ -19,13 +19,13 @@ jest.mock('../../../src/scripts/viewer/stores/nav-store', () => { } } }) -jest.mock('../../../src/scripts/viewer/stores/assessment-state-machine') -jest.mock('../../../src/scripts/viewer/util/question-util') -jest.mock('../../../src/scripts/viewer/util/focus-util') -jest.mock('../../../src/scripts/common/util/error-util') -jest.mock('../../../src/scripts/common/util/modal-util') -jest.mock('../../../src/scripts/viewer/util/assessment-api') -jest.mock('../../../src/scripts/common/util/uuid', () => { +jest.mock('./assessment-state-machine') +jest.mock('../util/question-util') +jest.mock('../util/focus-util') +jest.mock('../../common/util/error-util') +jest.mock('../../common/util/modal-util') +jest.mock('../util/assessment-api') +jest.mock('../../common/util/uuid', () => { return () => 'mockUuid' }) diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/focus-store.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/focus-store.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/Viewer/stores/focus-store.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/stores/focus-store.test.js index 8d8c9ebde1..15d9bc1ae5 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/focus-store.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/focus-store.test.js @@ -1,8 +1,8 @@ -jest.mock('../../../src/scripts/common/models/obo-model') -jest.mock('../../../src/scripts/common/page/focus') +jest.mock('../../common/models/obo-model') +jest.mock('../../common/page/focus') -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' -import FocusStore from '../../../src/scripts/viewer/stores/focus-store' +import Dispatcher from '../../common/flux/dispatcher' +import FocusStore from './focus-store' describe('FocusStore', () => { let FocusStoreClass diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/media-store.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/media-store.test.js similarity index 93% rename from packages/app/obojobo-document-engine/__tests__/Viewer/stores/media-store.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/stores/media-store.test.js index 0e48345b6f..7908960687 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/media-store.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/media-store.test.js @@ -1,16 +1,16 @@ -jest.mock('../../../src/scripts/common/flux/dispatcher') -jest.mock('../../../src/scripts/common/models/obo-model') -jest.mock('../../../src/scripts/viewer/util/viewer-api') -jest.mock('../../../src/scripts/viewer/stores/nav-store', () => ({ +jest.mock('../../common/flux/dispatcher') +jest.mock('../../common/models/obo-model') +jest.mock('../util/viewer-api') +jest.mock('./nav-store', () => ({ getState: () => ({ visitId: 'mock-visit-id' }) })) -import MediaStore from '../../../src/scripts/viewer/stores/media-store' -import ViewerAPI from '../../../src/scripts/viewer/util/viewer-api' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' -import OboModel from '../../../src/scripts/common/models/obo-model' +import MediaStore from './media-store' +import ViewerAPI from '../util/viewer-api' +import Dispatcher from '../../common/flux/dispatcher' +import OboModel from '../../common/models/obo-model' describe('Media Store', () => { beforeEach(() => { diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/nav-store.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/nav-store.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/Viewer/stores/nav-store.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/stores/nav-store.test.js index 1b1ba9e1db..4bca0fb815 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/nav-store.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/nav-store.test.js @@ -1,10 +1,10 @@ -jest.mock('../../../src/scripts/viewer/util/viewer-api', () => ({ +jest.mock('../util/viewer-api', () => ({ postEvent: jest.fn(), getVisitSessionStatus: jest.fn() })) // Nav Util -jest.mock('../../../src/scripts/viewer/util/nav-util', () => ({ +jest.mock('../util/nav-util', () => ({ getFirst: jest.fn(), getPrev: jest.fn(), getNext: jest.fn(), @@ -17,21 +17,21 @@ jest.mock('../../../src/scripts/viewer/util/nav-util', () => ({ getNavTargetModel: jest.fn() })) -jest.mock('../../../src/scripts/viewer/util/focus-util', () => ({ +jest.mock('../util/focus-util', () => ({ clearFadeEffect: jest.fn() })) -const Common = require('../../../src/scripts/common/index').default -const NavUtil = require('../../../src/scripts/viewer/util/nav-util') -const ViewerAPI = require('../../../src/scripts/viewer/util/viewer-api') -const FocusUtil = require('../../../src/scripts/viewer/util/focus-util') +const Common = require('../../common/index').default +const NavUtil = require('../util/nav-util') +const ViewerAPI = require('../util/viewer-api') +const FocusUtil = require('../util/focus-util') // spy on dispatcher before loading navstore const Dispatcher = Common.flux.Dispatcher jest.spyOn(Dispatcher, 'on') jest.spyOn(Dispatcher, 'trigger') -const NavStore = require('../../../src/scripts/viewer/stores/nav-store').default +const NavStore = require('../stores/nav-store').default // gotta hold on to this because beforeEach will clear it before the tests const eventCallbacks = Dispatcher.on.mock.calls[0][0] diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/question-store.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/question-store.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/Viewer/stores/question-store.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/stores/question-store.test.js index a3691ed08f..45a7ca6df7 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/stores/question-store.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/stores/question-store.test.js @@ -1,11 +1,11 @@ -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' -import QuestionStore from '../../../src/scripts/viewer/stores/question-store' -import QuestionUtil from '../../../src/scripts/viewer/util/question-util' -import FocusUtil from '../../../src/scripts/viewer/util/focus-util' -import ViewerAPI from '../../../src/scripts/viewer/util/viewer-api' +import Dispatcher from '../../common/flux/dispatcher' +import QuestionStore from './question-store' +import QuestionUtil from '../util/question-util' +import FocusUtil from '../util/focus-util' +import ViewerAPI from '../util/viewer-api' import mockConsole from 'jest-mock-console' -jest.mock('../../../src/scripts/common/models/obo-model', () => { +jest.mock('../../common/models/obo-model', () => { return { getRoot: () => { return { @@ -17,7 +17,7 @@ jest.mock('../../../src/scripts/common/models/obo-model', () => { } } }) -jest.mock('../../../src/scripts/viewer/stores/nav-store', () => { +jest.mock('./nav-store', () => { return { getState: () => { return { @@ -26,10 +26,10 @@ jest.mock('../../../src/scripts/viewer/stores/nav-store', () => { } } }) -jest.mock('../../../src/scripts/viewer/util/viewer-api') -jest.mock('../../../src/scripts/viewer/util/question-util') -jest.mock('../../../src/scripts/viewer/util/focus-util') -jest.mock('../../../src/scripts/common/util/uuid', () => { +jest.mock('../util/viewer-api') +jest.mock('../util/question-util') +jest.mock('../util/focus-util') +jest.mock('../../common/util/uuid', () => { return () => 'mockUuid' }) diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/api.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/api.test.js similarity index 99% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/api.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/api.test.js index c809859c71..e70971624b 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/api.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/api.test.js @@ -2,7 +2,7 @@ const originalFetch = global.fetch const originalToISOString = Date.prototype.toISOString -const API = require('../../../src/scripts/viewer/util/api') +const API = require('./api') import mockConsole from 'jest-mock-console' let restoreConsole diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/assessment-api.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/assessment-api.test.js similarity index 95% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/assessment-api.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/assessment-api.test.js index bd0f2215e7..e70b3f1388 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/assessment-api.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/assessment-api.test.js @@ -1,6 +1,6 @@ -jest.mock('../../../src/scripts/viewer/util/api') -const API = require('../../../src/scripts/viewer/util/api') -const AssessmentAPI = require('../../../src/scripts/viewer/util/assessment-api').default +jest.mock('./api') +const API = require('./api') +const AssessmentAPI = require('./assessment-api').default describe('assessment-api', () => { let mockJsonResult diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/assessment-util.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/assessment-util.test.js similarity index 99% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/assessment-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/assessment-util.test.js index b9265fd218..338e6f9da2 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/assessment-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/assessment-util.test.js @@ -1,7 +1,7 @@ -jest.mock('../../../src/scripts/common/flux/dispatcher') +jest.mock('../../common/flux/dispatcher') -import AssessmentUtil from '../../../src/scripts/viewer/util/assessment-util' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' +import AssessmentUtil from './assessment-util' +import Dispatcher from '../../common/flux/dispatcher' const TYPE_ASSESSMENT = 'ObojoboDraft.Sections.Assessment' const GRADEBOOK_STATUS_OK_NO_OUTCOME_SERVICE = 'ok_no_outcome_service' diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/editor-api.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/editor-api.test.js similarity index 97% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/editor-api.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/editor-api.test.js index 7c2984fa03..632ed4f33c 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/editor-api.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/editor-api.test.js @@ -1,8 +1,8 @@ /* eslint no-extend-native: 0 */ const originalFetch = global.fetch -const API = require('../../../src/scripts/viewer/util/api') -const EditorAPI = require('../../../src/scripts/viewer/util/editor-api').default +const API = require('./api') +const EditorAPI = require('./editor-api').default describe('EditorAPI', () => { let mockJsonResult diff --git a/packages/app/obojobo-document-engine/__tests__/common/util/focus-util.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/focus-util.test.js similarity index 93% rename from packages/app/obojobo-document-engine/__tests__/common/util/focus-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/focus-util.test.js index ad33883cfb..598b54982e 100644 --- a/packages/app/obojobo-document-engine/__tests__/common/util/focus-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/focus-util.test.js @@ -1,8 +1,8 @@ -import FocusUtil from '../../../src/scripts/viewer/util/focus-util' -import Dispatcher from '../../../src/scripts/common/flux/dispatcher' -import OboModel from '../../../src/scripts/common/models/obo-model' +import FocusUtil from './focus-util' +import Dispatcher from '../../common/flux/dispatcher' +import OboModel from '../../common/models/obo-model' -jest.mock('../../../src/scripts/common/flux/dispatcher', () => { +jest.mock('../../common/flux/dispatcher', () => { return { trigger: jest.fn(), on: jest.fn(), diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/get-lti-outcome-service-hostname-test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/get-lti-outcome-service-hostname.test.js similarity index 85% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/get-lti-outcome-service-hostname-test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/get-lti-outcome-service-hostname.test.js index 5f42c0a17c..7ecd3cf560 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/get-lti-outcome-service-hostname-test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/get-lti-outcome-service-hostname.test.js @@ -1,5 +1,4 @@ -const getHostname = require('obojobo-document-engine/src/scripts/viewer/util/get-lti-outcome-service-hostname') - .default +const getHostname = require('./get-lti-outcome-service-hostname').default describe('get-lti-outcome-service-hostname', () => { test('returns the hostname of the service URL', () => { diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/media-util.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/media-util.test.js similarity index 92% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/media-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/media-util.test.js index 3b466e5653..460d190d9d 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/media-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/media-util.test.js @@ -1,11 +1,11 @@ -jest.mock('../../../src/scripts/common/flux/dispatcher', () => ({ +jest.mock('../../common/flux/dispatcher', () => ({ trigger: jest.fn(), on: jest.fn(), off: jest.fn() })) -const MediaUtil = require('../../../src/scripts/viewer/util/media-util').default -const Dispatcher = require('../../../src/scripts/common/flux/dispatcher') +const MediaUtil = require('./media-util').default +const Dispatcher = require('../../common/flux/dispatcher') const testModel = { get: () => 'mocked-id' diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/nav-util.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/nav-util.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/nav-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/nav-util.test.js index 9aa514c714..c0e0a5615a 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/nav-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/nav-util.test.js @@ -1,7 +1,7 @@ /* eslint no-undefined: 0 */ // Common -jest.mock('../../../src/scripts/common/index', () => ({ +jest.mock('../../common/index', () => ({ models: { OboModel: { models: {} @@ -14,8 +14,8 @@ jest.mock('../../../src/scripts/common/index', () => ({ } })) -const Common = require('../../../src/scripts/common/index') -const NavUtil = require('../../../src/scripts/viewer/util/nav-util').default +const Common = require('../../common/index') +const NavUtil = require('./nav-util').default const buildComplexNestedState = () => { const mockItem4 = { diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/question-util.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/question-util.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/question-util.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/question-util.test.js index 7b0ed57680..73cc172be9 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/question-util.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/question-util.test.js @@ -1,11 +1,11 @@ -jest.mock('../../../src/scripts/common/flux/dispatcher', () => ({ +jest.mock('../../common/flux/dispatcher', () => ({ trigger: jest.fn(), on: jest.fn(), off: jest.fn() })) -const QuestionUtil = require('../../../src/scripts/viewer/util/question-util').default -const Dispatcher = require('../../../src/scripts/common/flux/dispatcher') +const QuestionUtil = require('./question-util').default +const Dispatcher = require('../../common/flux/dispatcher') const testModel = { get: () => 'testId' diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/stop-viewer.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/stop-viewer.test.js similarity index 92% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/stop-viewer.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/stop-viewer.test.js index a28ea20e9e..326ecde73b 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/stop-viewer.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/stop-viewer.test.js @@ -1,9 +1,9 @@ /* eslint-disable no-undef */ -jest.mock('../../../src/scripts/viewer/util/viewer-api') -jest.mock('../../../src/scripts/common/components/modal/no-button-modal') +jest.mock('./viewer-api') +jest.mock('../../common/components/modal/no-button-modal') jest.mock('sysend') -jest.mock('../../../src/scripts/common/index', () => ({ +jest.mock('../../common/index', () => ({ flux: { Dispatcher: { trigger: jest.fn() @@ -16,9 +16,9 @@ jest.mock('../../../src/scripts/common/index', () => ({ } })) -const Common = require('../../../src/scripts/common/index') -const StopViewer = require('../../../src/scripts/viewer/util/stop-viewer') -const ViewerAPI = require('../../../src/scripts/viewer/util/viewer-api').default +const Common = require('../../common/index') +const StopViewer = require('./stop-viewer') +const ViewerAPI = require('./viewer-api').default const sysend = require('sysend') const ModalUtil = Common.util.ModalUtil const Dispatcher = Common.flux.Dispatcher diff --git a/packages/app/obojobo-document-engine/__tests__/Viewer/util/viewer-api.test.js b/packages/app/obojobo-document-engine/src/scripts/viewer/util/viewer-api.test.js similarity index 98% rename from packages/app/obojobo-document-engine/__tests__/Viewer/util/viewer-api.test.js rename to packages/app/obojobo-document-engine/src/scripts/viewer/util/viewer-api.test.js index 6eb470eb77..7490e57afb 100644 --- a/packages/app/obojobo-document-engine/__tests__/Viewer/util/viewer-api.test.js +++ b/packages/app/obojobo-document-engine/src/scripts/viewer/util/viewer-api.test.js @@ -3,8 +3,8 @@ const originalFetch = global.fetch const originalSendBeacon = navigator.sendBeacon const originalToISOString = Date.prototype.toISOString -const ViewerAPI = require('../../../src/scripts/viewer/util/viewer-api').default -const API = require('../../../src/scripts/viewer/util/api') +const ViewerAPI = require('./viewer-api').default +const API = require('./api') import mockConsole from 'jest-mock-console' let restoreConsole diff --git a/packages/app/obojobo-document-json-parser/package.json b/packages/app/obojobo-document-json-parser/package.json index 258a447747..1ec92e0510 100644 --- a/packages/app/obojobo-document-json-parser/package.json +++ b/packages/app/obojobo-document-json-parser/package.json @@ -3,11 +3,11 @@ "xml-formatter": "^2.4.0" }, "peerDependencies": { - "obojobo-document-engine": "^16.0.1", - "obojobo-lib-utils": "^16.0.1" + "obojobo-document-engine": "^17.0.0-alpha.0", + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "name": "obojobo-document-json-parser", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "main": "", "scripts": { diff --git a/packages/app/obojobo-document-xml-parser/package.json b/packages/app/obojobo-document-xml-parser/package.json index 5a1bb6cfe8..b0d5602663 100644 --- a/packages/app/obojobo-document-xml-parser/package.json +++ b/packages/app/obojobo-document-xml-parser/package.json @@ -4,10 +4,10 @@ "xml-js": "^1.0.2" }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "name": "obojobo-document-xml-parser", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "main": "xml2draft.js", "scripts": { diff --git a/packages/app/obojobo-express/package.json b/packages/app/obojobo-express/package.json index df6c3ddbfc..166ef57cbf 100644 --- a/packages/app/obojobo-express/package.json +++ b/packages/app/obojobo-express/package.json @@ -1,7 +1,7 @@ { "name": "obojobo-express", "license": "AGPL-3.0-only", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "repository": "https://github.com/ucfopen/Obojobo.git", "homepage": "https://ucfopen.github.io/Obojobo-Docs/", "description": "Obojobo express server middleware.", @@ -28,7 +28,7 @@ "precommit": "lint-staged" }, "engines": { - "node": "^14.16.0" + "node": "^18.16.0" }, "lint-staged": { "**/*.scss": [ @@ -69,9 +69,9 @@ "uuid": "^8.3.2" }, "peerDependencies": { - "obojobo-document-engine": "^16.0.1", - "obojobo-document-xml-parser": "^16.0.1", - "obojobo-lib-utils": "^16.0.1" + "obojobo-document-engine": "^17.0.0-alpha.0", + "obojobo-document-xml-parser": "^17.0.0-alpha.0", + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "devDependencies": { "@svgr/webpack": "^5.5.0", diff --git a/packages/app/obojobo-express/__tests__/__snapshots__/draft_node_store.test.js.snap b/packages/app/obojobo-express/server/__snapshots__/draft_node_store.test.js.snap similarity index 100% rename from packages/app/obojobo-express/__tests__/__snapshots__/draft_node_store.test.js.snap rename to packages/app/obojobo-express/server/__snapshots__/draft_node_store.test.js.snap diff --git a/packages/app/obojobo-express/__tests__/asset_resolver.test.js b/packages/app/obojobo-express/server/asset_resolver.test.js similarity index 92% rename from packages/app/obojobo-express/__tests__/asset_resolver.test.js rename to packages/app/obojobo-express/server/asset_resolver.test.js index d6549bb5ae..7fd7e04699 100644 --- a/packages/app/obojobo-express/__tests__/asset_resolver.test.js +++ b/packages/app/obojobo-express/server/asset_resolver.test.js @@ -1,6 +1,6 @@ // mock a fake webpack manifest jest.mock( - '../server/public/compiled/manifest.json', + './public/compiled/manifest.json', () => ({ 'test.js': '/static-from-manifest/test.js', 'test.css': '/static-from-manifest/test.css', @@ -9,7 +9,7 @@ jest.mock( { virtual: true } ) -const { assetForEnv } = require('../server/asset_resolver') +const { assetForEnv } = require('./asset_resolver') describe('Asset Resolver', () => { const originalNODE_ENV = process.env.NODE_ENV @@ -71,7 +71,7 @@ describe('Asset Resolver', () => { test('webpackAssetPath returns expected paths when using webpack dev server', () => { process.env.IS_WEBPACK = 'true' - const { webpackAssetPath } = require('../server/asset_resolver') + const { webpackAssetPath } = require('./asset_resolver') expect(webpackAssetPath('test.js')).toBe('/static/test.js') expect(webpackAssetPath('test.css')).toBe('/static/test.css') @@ -83,7 +83,7 @@ describe('Asset Resolver', () => { test('webpackAssetPath returns expected paths when NOT using webpack dev server', () => { process.env.IS_WEBPACK = 'false' - const { webpackAssetPath } = require('../server/asset_resolver') + const { webpackAssetPath } = require('./asset_resolver') expect(webpackAssetPath('test.js')).toBe('/static-from-manifest/test.js') expect(webpackAssetPath('test.css')).toBe('/static-from-manifest/test.css') diff --git a/packages/app/obojobo-express/__tests__/config.test.js b/packages/app/obojobo-express/server/config.test.js similarity index 99% rename from packages/app/obojobo-express/__tests__/config.test.js rename to packages/app/obojobo-express/server/config.test.js index c46e9415ff..cb4614e7f3 100644 --- a/packages/app/obojobo-express/__tests__/config.test.js +++ b/packages/app/obojobo-express/server/config.test.js @@ -1,9 +1,9 @@ -jest.mock('../server/logger') +jest.mock('./logger') jest.mock('obojobo-lib-utils') const path = require('path') const env_node = process.env.NODE_ENV const ogConsoleWarn = console.warn // eslint-disable-line no-console -const configPath = path.resolve(__dirname + '/../server/config') +const configPath = path.resolve(__dirname + '/./config') let logger describe('config', () => { diff --git a/packages/app/obojobo-express/__tests__/db.js b/packages/app/obojobo-express/server/db.test.js similarity index 87% rename from packages/app/obojobo-express/__tests__/db.js rename to packages/app/obojobo-express/server/db.test.js index 0d4e44e839..4eddd6ac8c 100644 --- a/packages/app/obojobo-express/__tests__/db.js +++ b/packages/app/obojobo-express/server/db.test.js @@ -1,7 +1,7 @@ const mockPgPromise = jest.fn() const mockPgPromiseInstance = jest.fn() const mockBlueBirdConfig = jest.fn() -jest.mock('../server/config') // to allow us to alter db.useBluebird +jest.mock('./config') // to allow us to alter db.useBluebird jest.mock('bluebird', () => ({ config: mockBlueBirdConfig })) jest.mock('pg-promise', () => mockPgPromise) const mockDB = {} @@ -13,11 +13,11 @@ describe('db', () => { jest.resetModules() mockPgPromise.mockReturnValue(mockPgPromiseInstance) mockPgPromiseInstance.mockReturnValue(mockDB) - config = require('../server/config') + config = require('./config') }) test('db initializes with common expectations', () => { - const db = require('../server/db') + const db = require('./db') expect(db).toBe(mockDB) expect(mockPgPromiseInstance).toHaveBeenCalledTimes(1) expect(mockPgPromiseInstance).toHaveBeenCalledWith(config.db) @@ -25,7 +25,7 @@ describe('db', () => { test('db initializes w/o bluebird', () => { config.db.useBluebird = false - require('../server/db') + require('./db') const pgPromise = require('pg-promise') expect(pgPromise).toHaveBeenCalledTimes(1) expect(pgPromise).toHaveBeenCalledWith({ noWarnings: true }) @@ -34,7 +34,7 @@ describe('db', () => { test('db initializes with bluebird', () => { config.db.useBluebird = true - require('../server/db') + require('./db') const bluebird = require('bluebird') const pgPromise = require('pg-promise') expect(pgPromise).toHaveBeenCalledTimes(1) diff --git a/packages/app/obojobo-express/__tests__/draft_node_store.test.js b/packages/app/obojobo-express/server/draft_node_store.test.js similarity index 100% rename from packages/app/obojobo-express/__tests__/draft_node_store.test.js rename to packages/app/obojobo-express/server/draft_node_store.test.js diff --git a/packages/app/obojobo-express/__tests__/express_current_document.test.js b/packages/app/obojobo-express/server/express_current_document.test.js similarity index 99% rename from packages/app/obojobo-express/__tests__/express_current_document.test.js rename to packages/app/obojobo-express/server/express_current_document.test.js index 11c07818a5..f367fa91cb 100644 --- a/packages/app/obojobo-express/__tests__/express_current_document.test.js +++ b/packages/app/obojobo-express/server/express_current_document.test.js @@ -2,7 +2,7 @@ let mockArgs // array of mocked express middleware request arguments const documentFunctions = ['setCurrentDocument', 'requireCurrentDocument', 'resetCurrentDocument'] jest.mock('test_node') -jest.mock('../server/models/draft') +jest.mock('./models/draft') const DraftDocument = oboRequire('server/models/draft') diff --git a/packages/app/obojobo-express/__tests__/express_current_user.test.js b/packages/app/obojobo-express/server/express_current_user.test.js similarity index 99% rename from packages/app/obojobo-express/__tests__/express_current_user.test.js rename to packages/app/obojobo-express/server/express_current_user.test.js index e7d1fd9d62..7b9b50b153 100644 --- a/packages/app/obojobo-express/__tests__/express_current_user.test.js +++ b/packages/app/obojobo-express/server/express_current_user.test.js @@ -2,7 +2,7 @@ let mockArgs // array of mocked express middleware request arguments const userFunctions = ['setCurrentUser', 'getCurrentUser', 'requireCurrentUser'] jest.mock('test_node') -jest.mock('../server/models/user') +jest.mock('./models/user') describe('current user middleware', () => { beforeAll(() => {}) diff --git a/packages/app/obojobo-express/__tests__/express_current_visit.test.js b/packages/app/obojobo-express/server/express_current_visit.test.js similarity index 99% rename from packages/app/obojobo-express/__tests__/express_current_visit.test.js rename to packages/app/obojobo-express/server/express_current_visit.test.js index 89bd94ae8c..092a3456a0 100644 --- a/packages/app/obojobo-express/__tests__/express_current_visit.test.js +++ b/packages/app/obojobo-express/server/express_current_visit.test.js @@ -2,7 +2,7 @@ let mockArgs // array of mocked express middleware request arguments const userFunctions = ['getCurrentVisitFromRequest'] jest.mock('test_node') -jest.mock('../server/models/visit') +jest.mock('./models/visit') const MockVisitModel = oboRequire('server/models/visit') diff --git a/packages/app/obojobo-express/__tests__/express_load_balancer_helper.test.js b/packages/app/obojobo-express/server/express_load_balancer_helper.test.js similarity index 100% rename from packages/app/obojobo-express/__tests__/express_load_balancer_helper.test.js rename to packages/app/obojobo-express/server/express_load_balancer_helper.test.js diff --git a/packages/app/obojobo-express/__tests__/express_lti_launch.test.js b/packages/app/obojobo-express/server/express_lti_launch.test.js similarity index 98% rename from packages/app/obojobo-express/__tests__/express_lti_launch.test.js rename to packages/app/obojobo-express/server/express_lti_launch.test.js index 4709fc9e57..d77f62dc2f 100644 --- a/packages/app/obojobo-express/__tests__/express_lti_launch.test.js +++ b/packages/app/obojobo-express/server/express_lti_launch.test.js @@ -1,9 +1,9 @@ -jest.mock('../server/insert_event') -jest.mock('../server/models/user') -jest.mock('../server/models/draft') -jest.mock('../server/db') -jest.mock('../server/logger') -jest.mock('../server/config') // to prevent config object freezing +jest.mock('./insert_event') +jest.mock('./models/user') +jest.mock('./models/draft') +jest.mock('./db') +jest.mock('./logger') +jest.mock('./config') // to prevent config object freezing const insertEvent = oboRequire('server/insert_event') const User = oboRequire('server/models/user') diff --git a/packages/app/obojobo-express/__tests__/express_register_chunks.test.js b/packages/app/obojobo-express/server/express_register_chunks.test.js similarity index 97% rename from packages/app/obojobo-express/__tests__/express_register_chunks.test.js rename to packages/app/obojobo-express/server/express_register_chunks.test.js index f9d1bce579..7ec0cb4429 100644 --- a/packages/app/obojobo-express/__tests__/express_register_chunks.test.js +++ b/packages/app/obojobo-express/server/express_register_chunks.test.js @@ -1,9 +1,9 @@ /* eslint-disable no-console */ jest.mock('express') -jest.mock('../server/draft_node_store') +jest.mock('./draft_node_store') jest.mock('path') jest.mock('obojobo-lib-utils') -jest.mock('../server/logger') +jest.mock('./logger') const realPath = jest.requireActual('path') const { getAllOboNodeScriptPathsByType } = require('obojobo-lib-utils') const express = require('express') diff --git a/packages/app/obojobo-express/__tests__/express_response_decorator.test.js b/packages/app/obojobo-express/server/express_response_decorator.test.js similarity index 98% rename from packages/app/obojobo-express/__tests__/express_response_decorator.test.js rename to packages/app/obojobo-express/server/express_response_decorator.test.js index 6d8e65215a..6605c954af 100644 --- a/packages/app/obojobo-express/__tests__/express_response_decorator.test.js +++ b/packages/app/obojobo-express/server/express_response_decorator.test.js @@ -6,7 +6,7 @@ const functionsWithMessages = ['missing', 'badInput', 'unexpected', 'reject', 'n const functionsWithEvents = ['missing', 'badInput', 'unexpected', 'reject', 'notAuthorized'] let mockArgs // array of mocked express middleware request arguments -jest.mock('../server/obo_events') +jest.mock('./obo_events') describe('api response middleware', () => { beforeAll(() => {}) @@ -74,7 +74,7 @@ describe('api response middleware', () => { }) test('some functions emit events', () => { - const oboEvents = require('../server/obo_events') + const oboEvents = require('./obo_events') oboEvents.emit.mockReset() const { req, res } = mockArgs diff --git a/packages/app/obojobo-express/__tests__/express_validators.test.js b/packages/app/obojobo-express/server/express_validators.test.js similarity index 99% rename from packages/app/obojobo-express/__tests__/express_validators.test.js rename to packages/app/obojobo-express/server/express_validators.test.js index 1bed32b95a..505e7b01d0 100644 --- a/packages/app/obojobo-express/__tests__/express_validators.test.js +++ b/packages/app/obojobo-express/server/express_validators.test.js @@ -1,7 +1,7 @@ /* eslint-disable no-undefined */ jest.mock('test_node') -jest.mock('../server/models/user') +jest.mock('./models/user') let mockRes let mockReq diff --git a/packages/app/obojobo-express/__tests__/http_server.test.js b/packages/app/obojobo-express/server/http_server.test.js similarity index 98% rename from packages/app/obojobo-express/__tests__/http_server.test.js rename to packages/app/obojobo-express/server/http_server.test.js index 20b693b948..97768c6592 100644 --- a/packages/app/obojobo-express/__tests__/http_server.test.js +++ b/packages/app/obojobo-express/server/http_server.test.js @@ -16,7 +16,7 @@ describe('http_server', () => { beforeEach(() => { jest.resetModules() restoreConsole = mockConsole('log') - jest.mock('../server/logger') + jest.mock('./logger') logger = oboRequire('server/logger') global.oboJestMockConfig() mockExit = jest.spyOn(process, 'exit').mockImplementation(() => {}) @@ -24,7 +24,7 @@ describe('http_server', () => { https = require('https') http.createServer = jest.fn() https.createServer = jest.fn() - httpServer = require('../server/http_server') + httpServer = require('./http_server') insecureServer = { on: jest.fn(), listen: jest.fn(), diff --git a/packages/app/obojobo-express/__tests__/insert_event.test.js b/packages/app/obojobo-express/server/insert_event.test.js similarity index 95% rename from packages/app/obojobo-express/__tests__/insert_event.test.js rename to packages/app/obojobo-express/server/insert_event.test.js index 974cb8318e..404cf8d809 100644 --- a/packages/app/obojobo-express/__tests__/insert_event.test.js +++ b/packages/app/obojobo-express/server/insert_event.test.js @@ -1,4 +1,4 @@ -jest.mock('../server/db', () => require('obojobo-document-engine/__mocks__/db')) +jest.mock('./db', () => require('obojobo-document-engine/__mocks__/db')) const db = oboRequire('server/db') const insertEvent = oboRequire('server/insert_event') const expectedCreatedAt = new Date().toISOString() diff --git a/packages/app/obojobo-express/__tests__/lti.test.js b/packages/app/obojobo-express/server/lti.test.js similarity index 99% rename from packages/app/obojobo-express/__tests__/lti.test.js rename to packages/app/obojobo-express/server/lti.test.js index b39292456d..1666643f3b 100644 --- a/packages/app/obojobo-express/__tests__/lti.test.js +++ b/packages/app/obojobo-express/server/lti.test.js @@ -1,9 +1,9 @@ -import lti from '../server/lti' +import lti from './lti' -jest.mock('../server/db') +jest.mock('./db') jest.mock('uuid') -jest.mock('../server/logger') -jest.mock('../server/insert_event') +jest.mock('./logger') +jest.mock('./insert_event') const moment = require('moment') const db = oboRequire('server/db') @@ -13,7 +13,7 @@ const insertEvent = oboRequire('server/insert_event') const logId = 'DEADBEEF-0000-DEAD-BEEF-1234DEADBEEF' let _DateToISOString -jest.mock('../server/config', () => { +jest.mock('./config', () => { return { lti: { keys: { diff --git a/packages/app/obojobo-express/__tests__/middleware.test.js b/packages/app/obojobo-express/server/middleware.test.js similarity index 84% rename from packages/app/obojobo-express/__tests__/middleware.test.js rename to packages/app/obojobo-express/server/middleware.test.js index 9987511a27..d08314ce1a 100644 --- a/packages/app/obojobo-express/__tests__/middleware.test.js +++ b/packages/app/obojobo-express/server/middleware.test.js @@ -1,6 +1,6 @@ -jest.mock('../server/obo_express', () => {}) +jest.mock('./obo_express', () => {}) jest.mock('serve-favicon') -jest.mock('../server/config', () => { +jest.mock('./config', () => { return { general: { bodyParser: { @@ -22,12 +22,12 @@ jest.mock('body-parser', () => { } }) jest.mock('consolidate', () => mockConsolidateEngines) -jest.mock('../server/routes/profile', () => {}) -jest.mock('../server/logger') +jest.mock('./routes/profile', () => {}) +jest.mock('./logger') jest.mock('connect-pg-simple', () => { return jest.fn().mockReturnValueOnce(jest.fn()) }) -jest.mock('../server/db') +jest.mock('./db') jest.mock('express-session') const originalWEBPACK = process.env.IS_WEBPACK @@ -40,7 +40,7 @@ let config describe('middleware', () => { beforeEach(() => { jest.resetModules() - config = require('../server/config') + config = require('./config') config.general.bodyParser = { jsonOptions: 'mockJSON', urlencodedOptions: 'mockURL', @@ -80,7 +80,7 @@ describe('middleware', () => { }) test('initializes with no errors', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') middleware(mockApp) expect(mockApp.set).toHaveBeenCalled() @@ -89,13 +89,13 @@ describe('middleware', () => { }) test('sets default view extension to ejs', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') middleware(mockApp) expect(mockApp.set).toHaveBeenCalledWith('view engine', 'ejs') }) test('registeres ejs when not already registered', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') const mockEJSEngine = {} mockConsolidateEngines.ejs = mockEJSEngine @@ -104,7 +104,7 @@ describe('middleware', () => { }) test('skips registering ejs when already registered', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') const mockEJSEngine = {} mockApp.engines.ejs = mockEJSEngine @@ -113,14 +113,14 @@ describe('middleware', () => { }) test('favicon is registered', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') const favicon = require('serve-favicon') middleware(mockApp) expect(favicon).toHaveBeenCalled() }) test('bodyParser is setup', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') const bodyParser = require('body-parser') middleware(mockApp) expect(bodyParser.json).toHaveBeenCalled() @@ -129,7 +129,7 @@ describe('middleware', () => { }) test('session handler is initialized', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') const session = require('express-session') middleware(mockApp) expect(session).toHaveBeenCalled() @@ -154,7 +154,7 @@ describe('middleware', () => { test('session handler is initialized with ssl enabled', () => { config.general.secureCookie = true - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') const session = require('express-session') middleware(mockApp) expect(session).toHaveBeenCalled() @@ -178,21 +178,21 @@ describe('middleware', () => { }) test('obo_express is registered', () => { - const middleware = require('../server/middleware.default') - const ObojoboDocumentServer = require('../server/obo_express') + const middleware = require('./middleware.default') + const ObojoboDocumentServer = require('./obo_express') middleware(mockApp) expect(mockApp.use).toHaveBeenCalledWith(ObojoboDocumentServer) }) test('profile route is registered', () => { - const middleware = require('../server/middleware.default') - const profileRoute = require('../server/routes/profile') + const middleware = require('./middleware.default') + const profileRoute = require('./routes/profile') middleware(mockApp) expect(mockApp.use).toHaveBeenCalledWith('/profile', profileRoute) }) test('a 404 handler is registered', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') middleware(mockApp) const nextToLastCallIndex = mockApp.use.mock.calls.length - 2 const shouldBe404Handler = mockApp.use.mock.calls[nextToLastCallIndex][0] @@ -206,7 +206,7 @@ describe('middleware', () => { test('when using webpack, the 404 handler calls calls missing when not a static file', () => { process.env.IS_WEBPACK = 'true' - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') middleware(mockApp) const nextToLastCallIndex = mockApp.use.mock.calls.length - 2 const shouldBe404Handler = mockApp.use.mock.calls[nextToLastCallIndex][0] @@ -222,7 +222,7 @@ describe('middleware', () => { test('when using webpack, the 404 handler calls next on missing static files', () => { process.env.IS_WEBPACK = 'true' - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') middleware(mockApp) const nextToLastCallIndex = mockApp.use.mock.calls.length - 2 const shouldBe404Handler = mockApp.use.mock.calls[nextToLastCallIndex][0] @@ -237,7 +237,7 @@ describe('middleware', () => { }) test('when NOT using webpack, the 404 handler calls missing for non-static files', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') middleware(mockApp) const nextToLastCallIndex = mockApp.use.mock.calls.length - 2 const shouldBe404Handler = mockApp.use.mock.calls[nextToLastCallIndex][0] @@ -252,7 +252,7 @@ describe('middleware', () => { }) test('when NOT using webpack, the 404 handler calls missing for static files', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') middleware(mockApp) const nextToLastCallIndex = mockApp.use.mock.calls.length - 2 const shouldBe404Handler = mockApp.use.mock.calls[nextToLastCallIndex][0] @@ -267,7 +267,7 @@ describe('middleware', () => { }) test('an error handler is registered last', () => { - const middleware = require('../server/middleware.default') + const middleware = require('./middleware.default') middleware(mockApp) // Express's last handler will be the uncaught error handler const lastCallIndex = mockApp.use.mock.calls.length - 1 @@ -283,8 +283,8 @@ describe('middleware', () => { }) test('an error handler is registered last', () => { - const logger = require('../server/logger') - const middleware = require('../server/middleware.default') + const logger = require('./logger') + const middleware = require('./middleware.default') const mockNext = jest.fn() middleware(mockApp) const lastCallIndex = mockApp.use.mock.calls.length - 1 @@ -299,8 +299,8 @@ describe('middleware', () => { test('an error handler falls back when res.unexpected is undefined', () => { mockStaticDate() - const logger = require('../server/logger') - const middleware = require('../server/middleware.default') + const logger = require('./logger') + const middleware = require('./middleware.default') const mockNext = jest.fn() middleware(mockApp) const lastCallIndex = mockApp.use.mock.calls.length - 1 diff --git a/packages/app/obojobo-express/__tests__/models/__snapshots__/user.test.js.snap b/packages/app/obojobo-express/server/models/__snapshots__/user.test.js.snap similarity index 100% rename from packages/app/obojobo-express/__tests__/models/__snapshots__/user.test.js.snap rename to packages/app/obojobo-express/server/models/__snapshots__/user.test.js.snap diff --git a/packages/app/obojobo-express/__tests__/models/draft.test.js b/packages/app/obojobo-express/server/models/draft.test.js similarity index 97% rename from packages/app/obojobo-express/__tests__/models/draft.test.js rename to packages/app/obojobo-express/server/models/draft.test.js index 4d73019b84..60dc2c8cc8 100644 --- a/packages/app/obojobo-express/__tests__/models/draft.test.js +++ b/packages/app/obojobo-express/server/models/draft.test.js @@ -1,7 +1,7 @@ describe('Draft Model', () => { - jest.mock('../../server/db') - jest.mock('../../server/logger') - jest.mock('../../server/obo_events') + jest.mock('../db') + jest.mock('../logger') + jest.mock('../obo_events') let db let DraftModel let DraftNode @@ -10,9 +10,9 @@ describe('Draft Model', () => { beforeEach(() => { jest.resetModules() jest.resetAllMocks() - db = require('../../server/db') - DraftNode = require('../../server/models/draft_node') - DraftModel = require('../../server/models/draft') + db = require('../db') + DraftNode = require('./draft_node') + DraftModel = require('./draft') mockRawDraft = { id: 'whatever', version: 9, @@ -301,7 +301,7 @@ describe('Draft Model', () => { test('deleteById sets delete flag', () => { expect.hasAssertions() - const oboEvents = require('../../server/obo_events') + const oboEvents = require('../obo_events') db.none.mockResolvedValueOnce() @@ -323,7 +323,7 @@ describe('Draft Model', () => { test('restoreByIdAndUser reverts delete flag', () => { expect.hasAssertions() - const oboEvents = require('../../server/obo_events') + const oboEvents = require('../obo_events') db.none.mockResolvedValueOnce() diff --git a/packages/app/obojobo-express/__tests__/models/draft_node.test.js b/packages/app/obojobo-express/server/models/draft_node.test.js similarity index 97% rename from packages/app/obojobo-express/__tests__/models/draft_node.test.js rename to packages/app/obojobo-express/server/models/draft_node.test.js index 8e952ff48c..341a35a457 100644 --- a/packages/app/obojobo-express/__tests__/models/draft_node.test.js +++ b/packages/app/obojobo-express/server/models/draft_node.test.js @@ -1,7 +1,7 @@ -jest.mock('../../server/db') +jest.mock('../db') -import Draft from '../../server/models/draft' -import DraftNode from '../../server/models/draft_node' +import Draft from './draft' +import DraftNode from './draft_node' const mockRawDraft = { id: 'whatever', diff --git a/packages/app/obojobo-express/__tests__/models/edit_lock.test.js b/packages/app/obojobo-express/server/models/edit_lock.test.js similarity index 97% rename from packages/app/obojobo-express/__tests__/models/edit_lock.test.js rename to packages/app/obojobo-express/server/models/edit_lock.test.js index 6844be8f98..045e765e86 100644 --- a/packages/app/obojobo-express/__tests__/models/edit_lock.test.js +++ b/packages/app/obojobo-express/server/models/edit_lock.test.js @@ -1,6 +1,6 @@ describe('Edit Lock Model', () => { - jest.mock('../../server/db') - jest.mock('../../server/config', () => ({})) + jest.mock('../db') + jest.mock('../config', () => ({})) const DB_LOCK_DURATION = 'mock-expire-minutes' let db @@ -10,10 +10,10 @@ describe('Edit Lock Model', () => { beforeEach(() => { jest.resetModules() jest.resetAllMocks() - db = require('../../server/db') - config = require('../../server/config') + db = require('../db') + config = require('../config') config.general = { editLocks: { dbLockDurationMinutes: DB_LOCK_DURATION } } - EditLock = require('../../server/models/edit_lock') + EditLock = require('./edit_lock') }) afterEach(() => {}) diff --git a/packages/app/obojobo-express/__tests__/models/guest_user.test.js b/packages/app/obojobo-express/server/models/guest_user.test.js similarity index 97% rename from packages/app/obojobo-express/__tests__/models/guest_user.test.js rename to packages/app/obojobo-express/server/models/guest_user.test.js index de9aedae57..416e149ba9 100644 --- a/packages/app/obojobo-express/__tests__/models/guest_user.test.js +++ b/packages/app/obojobo-express/server/models/guest_user.test.js @@ -1,4 +1,4 @@ -jest.mock('../../server/db') +jest.mock('../db') describe('guest user model', () => { beforeAll(() => {}) diff --git a/packages/app/obojobo-express/__tests__/models/media.test.js b/packages/app/obojobo-express/server/models/media.test.js similarity index 99% rename from packages/app/obojobo-express/__tests__/models/media.test.js rename to packages/app/obojobo-express/server/models/media.test.js index 0aaca3288a..d6abaa2f86 100644 --- a/packages/app/obojobo-express/__tests__/models/media.test.js +++ b/packages/app/obojobo-express/server/models/media.test.js @@ -1,5 +1,5 @@ -jest.mock('../../server/db') -jest.mock('../../server/config', () => { +jest.mock('../db') +jest.mock('../config', () => { return { media: { allowedMimeTypesRegex: 'jpeg|jpg|png|gif|svg', @@ -39,12 +39,12 @@ jest.mock('sharp', () => () => { } }) -import MediaModel from '../../server/models/media' +import MediaModel from './media' import fileType from 'file-type' import fs from 'fs' import isSvg from 'is-svg' -require('../../server/config').media +require('../config').media const db = oboRequire('server/db') diff --git a/packages/app/obojobo-express/__tests__/models/user.test.js b/packages/app/obojobo-express/server/models/user.test.js similarity index 98% rename from packages/app/obojobo-express/__tests__/models/user.test.js rename to packages/app/obojobo-express/server/models/user.test.js index d138fff5bf..67d8d5b1d1 100644 --- a/packages/app/obojobo-express/__tests__/models/user.test.js +++ b/packages/app/obojobo-express/server/models/user.test.js @@ -1,12 +1,12 @@ /* eslint-disable no-undefined */ /* eslint-disable no-new */ jest.unmock('fs') // need for config loading -jest.mock('../../server/db') -jest.mock('../../server/obo_events') +jest.mock('../db') +jest.mock('../obo_events') const originalnow = Date.prototype.now -const User = require('../../server/models/user') -const db = require('../../server/db') -const oboEvents = require('../../server/obo_events') +const User = require('./user') +const db = require('../db') +const oboEvents = require('../obo_events') describe('user model', () => { beforeAll(() => { diff --git a/packages/app/obojobo-express/__tests__/models/visit.test.js b/packages/app/obojobo-express/server/models/visit.test.js similarity index 96% rename from packages/app/obojobo-express/__tests__/models/visit.test.js rename to packages/app/obojobo-express/server/models/visit.test.js index 03b049a371..171ffb7cf9 100644 --- a/packages/app/obojobo-express/__tests__/models/visit.test.js +++ b/packages/app/obojobo-express/server/models/visit.test.js @@ -1,11 +1,11 @@ -jest.mock('../../server/db') -jest.mock('../../server/logger') -jest.mock('../../server/models/draft') -import Visit from '../../server/models/visit' -import logger from '../../server/logger' +jest.mock('../db') +jest.mock('../logger') +jest.mock('./draft') +import Visit from './visit' +import logger from '../logger' const db = oboRequire('server/db') -const DraftDocument = require('../../server/models/draft') +const DraftDocument = require('./draft') describe('Visit Model', () => { beforeEach(() => { diff --git a/packages/app/obojobo-express/__tests__/obo_events.test.js b/packages/app/obojobo-express/server/obo_events.test.js similarity index 100% rename from packages/app/obojobo-express/__tests__/obo_events.test.js rename to packages/app/obojobo-express/server/obo_events.test.js diff --git a/packages/app/obojobo-express/__tests__/obo_ims_lti.test.js b/packages/app/obojobo-express/server/obo_ims_lti.test.js similarity index 88% rename from packages/app/obojobo-express/__tests__/obo_ims_lti.test.js rename to packages/app/obojobo-express/server/obo_ims_lti.test.js index 17c35c937a..7ed71121dc 100644 --- a/packages/app/obojobo-express/__tests__/obo_ims_lti.test.js +++ b/packages/app/obojobo-express/server/obo_ims_lti.test.js @@ -1,10 +1,10 @@ jest.mock('fs') -jest.mock('../server/dev_nonce_store') -jest.mock('../server/logger') +jest.mock('./dev_nonce_store') +jest.mock('./logger') jest.mock('ims-lti') import fs from 'fs' -import logger from '../server/logger' +import logger from './logger' let oboLtiMiddleware @@ -26,7 +26,7 @@ describe('Middleware Abstraction', () => { }`) global.EXPIRE_IN_SEC = '' - oboLtiMiddleware = require('../server/obo_ims_lti') + oboLtiMiddleware = require('./obo_ims_lti') }) afterAll(() => { delete global.EXPIRE_IN_SEC diff --git a/packages/app/obojobo-express/__tests__/routes/__snapshots__/viewer.test.js.snap b/packages/app/obojobo-express/server/routes/__snapshots__/viewer.test.js.snap similarity index 100% rename from packages/app/obojobo-express/__tests__/routes/__snapshots__/viewer.test.js.snap rename to packages/app/obojobo-express/server/routes/__snapshots__/viewer.test.js.snap diff --git a/packages/app/obojobo-express/__tests__/routes/api/drafts.test.js b/packages/app/obojobo-express/server/routes/api/drafts.test.js similarity index 99% rename from packages/app/obojobo-express/__tests__/routes/api/drafts.test.js rename to packages/app/obojobo-express/server/routes/api/drafts.test.js index 20ba1345d8..8efd39dbde 100644 --- a/packages/app/obojobo-express/__tests__/routes/api/drafts.test.js +++ b/packages/app/obojobo-express/server/routes/api/drafts.test.js @@ -1,14 +1,14 @@ +jest.mock('../../models/draft') +jest.mock('../../models/user') +jest.mock('../../db') +jest.mock('../../logger') jest.mock('obojobo-repository/server/models/collection') -jest.mock('../../../server/models/draft') -jest.mock('../../../server/models/user') -jest.mock('../../../server/db') -jest.mock('../../../server/logger') jest.mock('obojobo-document-xml-parser/xml-to-draft-object') jest.mock('obojobo-document-json-parser/json-to-xml-parser') jest.mock('obojobo-repository/server/models/draft_permissions') -import DraftModel from '../../../server/models/draft' -import { FULL, PARTIAL, MINIMAL } from '../../../server/constants' +import DraftModel from '../../models/draft' +import { FULL, PARTIAL, MINIMAL } from '../../constants' const CollectionModel = require('obojobo-repository/server/models/collection') const xml = require('obojobo-document-xml-parser/xml-to-draft-object') const jsonToXml = require('obojobo-document-json-parser/json-to-xml-parser') @@ -43,7 +43,7 @@ const mockGetCurrentUser = jest.fn().mockImplementation(req => { return Promise.resolve(mockCurrentUser) }) -jest.mock('../../../server/express_current_user', () => (req, res, next) => { +jest.mock('../../express_current_user', () => (req, res, next) => { req.getCurrentUser = mockGetCurrentUser.bind(this, req) req.requireCurrentUser = mockGetCurrentUser.bind(this, req) next() diff --git a/packages/app/obojobo-express/__tests__/routes/api/events.test.js b/packages/app/obojobo-express/server/routes/api/events.test.js similarity index 96% rename from packages/app/obojobo-express/__tests__/routes/api/events.test.js rename to packages/app/obojobo-express/server/routes/api/events.test.js index 61c0701f80..00016a7246 100644 --- a/packages/app/obojobo-express/__tests__/routes/api/events.test.js +++ b/packages/app/obojobo-express/server/routes/api/events.test.js @@ -1,12 +1,12 @@ -jest.mock('../../../server/models/draft') -jest.mock('../../../server/db', () => require('obojobo-document-engine/__mocks__/db')) +jest.mock('../../models/draft') +jest.mock('../../db', () => require('obojobo-document-engine/__mocks__/db')) jest.unmock('express') // we'll use supertest + express for this // override requireCurrentUser to provide our own let mockCurrentUser let mockCurrentVisit -jest.mock('../../../server/express_current_user', () => (req, res, next) => { +jest.mock('../../express_current_user', () => (req, res, next) => { req.requireCurrentUser = () => { req.currentUser = mockCurrentUser return Promise.resolve(mockCurrentUser) @@ -20,7 +20,7 @@ jest.mock('../../../server/express_current_user', () => (req, res, next) => { // ovveride requireCurrentDocument to provide our own let mockCurrentDocument -jest.mock('../../../server/express_current_document', () => (req, res, next) => { +jest.mock('../../express_current_document', () => (req, res, next) => { req.requireCurrentDocument = () => { req.currentDocument = mockCurrentDocument return Promise.resolve(mockCurrentDocument) diff --git a/packages/app/obojobo-express/__tests__/routes/api/locks.test.js b/packages/app/obojobo-express/server/routes/api/locks.test.js similarity index 97% rename from packages/app/obojobo-express/__tests__/routes/api/locks.test.js rename to packages/app/obojobo-express/server/routes/api/locks.test.js index 2b03fc3066..8cd7d524cc 100644 --- a/packages/app/obojobo-express/__tests__/routes/api/locks.test.js +++ b/packages/app/obojobo-express/server/routes/api/locks.test.js @@ -1,4 +1,4 @@ -jest.mock('../../../server/models/edit_lock', () => ({ +jest.mock('../../models/edit_lock', () => ({ fetchByDraftId: jest.fn(), create: jest.fn(), deleteExpiredLocks: jest.fn(), @@ -13,7 +13,7 @@ const mockValidatorThatPasses = jest.fn().mockImplementation((req, res, next) => next() }) -jest.mock('../../../server/express_validators', () => ({ +jest.mock('../../express_validators', () => ({ checkValidationRules: mockValidatorThatPasses, requireDraftId: mockValidatorThatPasses, requireContentId: mockValidatorThatPasses, @@ -38,7 +38,7 @@ describe('Route api/locks', () => { const express = require('express') bodyParser = require('body-parser') app = express() - EditLock = require('../../../server/models/edit_lock') + EditLock = require('../../models/edit_lock') app.use(bodyParser.json()) app.use('', oboRequire('server/express_response_decorator')) app.use('/api/locks', oboRequire('server/routes/api/locks')) // mounting under api so response_decorator assumes json content type diff --git a/packages/app/obojobo-express/__tests__/routes/api/media.test.js b/packages/app/obojobo-express/server/routes/api/media.test.js similarity index 93% rename from packages/app/obojobo-express/__tests__/routes/api/media.test.js rename to packages/app/obojobo-express/server/routes/api/media.test.js index 1a64ecc6f3..4e692b6206 100644 --- a/packages/app/obojobo-express/__tests__/routes/api/media.test.js +++ b/packages/app/obojobo-express/server/routes/api/media.test.js @@ -1,11 +1,11 @@ -import MediaModel from '../../../server/models/media' +import MediaModel from '../../models/media' -jest.mock('../../../server/models/media') -jest.mock('../../../server/models/user') -jest.mock('../../../server/db') -jest.mock('../../../server/logger') +jest.mock('../../models/media') +jest.mock('../../models/user') +jest.mock('../../db') +jest.mock('../../logger') -const mediaConfig = require('../../../server/config').media +const mediaConfig = require('../../config').media // Mocks multerUpload with no errors const mockMulterUpload = jest.fn().mockImplementation((req, res, cb) => { cb(null) @@ -45,7 +45,7 @@ const mockGetCurrentUser = jest.fn().mockImplementation(req => { return Promise.resolve(mockCurrentUser) }) -jest.mock('../../../server/express_current_user', () => (req, res, next) => { +jest.mock('../../express_current_user', () => (req, res, next) => { req.getCurrentUser = mockGetCurrentUser.bind(this, req) req.requireCurrentUser = mockGetCurrentUser.bind(this, req) next() diff --git a/packages/app/obojobo-express/__tests__/routes/api/visits.test.js b/packages/app/obojobo-express/server/routes/api/visits.test.js similarity index 97% rename from packages/app/obojobo-express/__tests__/routes/api/visits.test.js rename to packages/app/obojobo-express/server/routes/api/visits.test.js index 8e319ab7c9..6677438200 100644 --- a/packages/app/obojobo-express/__tests__/routes/api/visits.test.js +++ b/packages/app/obojobo-express/server/routes/api/visits.test.js @@ -1,13 +1,13 @@ -jest.mock('../../../server/models/visit') -jest.mock('../../../server/insert_event') -jest.mock('../../../server/db') +jest.mock('../../models/visit') +jest.mock('../../insert_event') +jest.mock('../../db') jest.unmock('express') // we'll use supertest + express for this /* eslint-disable no-undefined */ let mockCurrentUser let mockCurrentVisit let mockSaveSessionSuccess -jest.mock('../../../server/express_current_user', () => (req, res, next) => { +jest.mock('../../express_current_user', () => (req, res, next) => { req.requireCurrentUser = () => { req.currentUser = mockCurrentUser return Promise.resolve(mockCurrentUser) @@ -27,7 +27,7 @@ jest.mock('../../../server/express_current_user', () => (req, res, next) => { // ovveride requireCurrentDocument to provide our own let mockCurrentDocument -jest.mock('../../../server/express_current_document', () => (req, res, next) => { +jest.mock('../../express_current_document', () => (req, res, next) => { req.requireCurrentDocument = () => { req.currentDocument = mockCurrentDocument return Promise.resolve(mockCurrentDocument) @@ -368,7 +368,7 @@ describe('api visits route', () => { expect(response.body.value).toHaveProperty('type', 'reject') expect(response.body.value).toHaveProperty( 'message', - "Cannot read property 'lis_outcome_service_url' of undefined" + "Cannot read properties of undefined (reading 'lis_outcome_service_url')" ) }) }) diff --git a/packages/app/obojobo-express/__tests__/routes/editor.test.js b/packages/app/obojobo-express/server/routes/editor.test.js similarity index 92% rename from packages/app/obojobo-express/__tests__/routes/editor.test.js rename to packages/app/obojobo-express/server/routes/editor.test.js index 337da50c03..1a48aea820 100644 --- a/packages/app/obojobo-express/__tests__/routes/editor.test.js +++ b/packages/app/obojobo-express/server/routes/editor.test.js @@ -1,8 +1,8 @@ -jest.mock('../../server/db') +jest.mock('../db') jest.unmock('fs') // need fs working for view rendering jest.unmock('express') // we'll use supertest + express for this jest.mock( - '../../server/asset_resolver', + '../asset_resolver', () => ({ assetForEnv: path => path, webpackAssetPath: path => path @@ -15,7 +15,7 @@ let mockCurrentUser // override requireCurrentDocument for tests to provide our own document let mockCurrentDocument -jest.mock('../../server/express_current_user', () => (req, res, next) => { +jest.mock('../express_current_user', () => (req, res, next) => { req.requireCurrentUser = () => { req.currentUser = mockCurrentUser return Promise.resolve(mockCurrentUser) @@ -27,7 +27,7 @@ jest.mock('../../server/express_current_user', () => (req, res, next) => { next() }) -jest.mock('../../server/express_current_document', () => (req, res, next) => { +jest.mock('../express_current_document', () => (req, res, next) => { req.requireCurrentDocument = () => { req.currentDocument = mockCurrentDocument return Promise.resolve(mockCurrentDocument) @@ -41,7 +41,7 @@ const request = require('supertest') const express = require('express') const app = express() app.set('view engine', 'ejs') -app.set('views', __dirname + '/../../server/views/') +app.set('views', __dirname + '/../views/') app.use(oboRequire('server/express_current_user')) app.use(oboRequire('server/express_current_document')) app.use('/', oboRequire('server/express_response_decorator')) diff --git a/packages/app/obojobo-express/__tests__/routes/lti.test.js b/packages/app/obojobo-express/server/routes/lti.test.js similarity index 95% rename from packages/app/obojobo-express/__tests__/routes/lti.test.js rename to packages/app/obojobo-express/server/routes/lti.test.js index a3a300d61b..9e3bec1b55 100644 --- a/packages/app/obojobo-express/__tests__/routes/lti.test.js +++ b/packages/app/obojobo-express/server/routes/lti.test.js @@ -1,15 +1,15 @@ -jest.mock('../../server/models/draft') -jest.mock('../../server/db') +jest.mock('../models/draft') +jest.mock('../db') jest.unmock('express') // we'll use supertest + express for this jest.unmock('fs') // need fs working for view rendering -jest.mock('../../server/config', () => ({ +jest.mock('../config', () => ({ general: { hostname: 'mock-hostname' }, lti: { keys: [{ 'mock-lti-key': 'mock-lti-key-value' }] } })) // ovveride requireCurrentDocument to provide our own -jest.mock('../../server/express_lti_launch', () => ({ +jest.mock('../express_lti_launch', () => ({ assignmentSelection: (req, res, next) => { next() }, diff --git a/packages/app/obojobo-express/__tests__/routes/preview.test.js b/packages/app/obojobo-express/server/routes/preview.test.js similarity index 93% rename from packages/app/obojobo-express/__tests__/routes/preview.test.js rename to packages/app/obojobo-express/server/routes/preview.test.js index 9bb1dfc6eb..acaa15f567 100644 --- a/packages/app/obojobo-express/__tests__/routes/preview.test.js +++ b/packages/app/obojobo-express/server/routes/preview.test.js @@ -1,6 +1,6 @@ -jest.mock('../../server/models/visit') -jest.mock('../../server/insert_event') -jest.mock('../../server/db') +jest.mock('../models/visit') +jest.mock('../insert_event') +jest.mock('../db') // make sure all Date objects use a static date mockStaticDate() @@ -12,7 +12,7 @@ let mockCurrentUser let mockSaveSessionSuccess = true let mockSaveSessionRejectValue -jest.mock('../../server/express_current_user', () => (req, res, next) => { +jest.mock('../express_current_user', () => (req, res, next) => { req.requireCurrentUser = () => { req.currentUser = mockCurrentUser return Promise.resolve(mockCurrentUser) @@ -26,7 +26,7 @@ jest.mock('../../server/express_current_user', () => (req, res, next) => { // override requireCurrentDocument to provide our own let mockCurrentDocument -jest.mock('../../server/express_current_document', () => (req, res, next) => { +jest.mock('../express_current_document', () => (req, res, next) => { req.requireCurrentDocument = () => { req.currentDocument = mockCurrentDocument return Promise.resolve(mockCurrentDocument) diff --git a/packages/app/obojobo-express/__tests__/routes/profile.test.js b/packages/app/obojobo-express/server/routes/profile.test.js similarity index 95% rename from packages/app/obojobo-express/__tests__/routes/profile.test.js rename to packages/app/obojobo-express/server/routes/profile.test.js index ae718a2108..7084263858 100644 --- a/packages/app/obojobo-express/__tests__/routes/profile.test.js +++ b/packages/app/obojobo-express/server/routes/profile.test.js @@ -3,7 +3,7 @@ jest.unmock('express') // we'll use supertest + express for this // override requireCurrentUser to provide our own const mockCurrentUser = { username: 'GUEST' } const mockResetCurrentUser = jest.fn() -jest.mock('../../server/express_current_user', () => (req, res, next) => { +jest.mock('../express_current_user', () => (req, res, next) => { req.getCurrentUser = () => { req.currentUser = mockCurrentUser return Promise.resolve(mockCurrentUser) diff --git a/packages/app/obojobo-express/__tests__/routes/viewer.test.js b/packages/app/obojobo-express/server/routes/viewer.test.js similarity index 95% rename from packages/app/obojobo-express/__tests__/routes/viewer.test.js rename to packages/app/obojobo-express/server/routes/viewer.test.js index 7cb1123721..96c3950aa3 100644 --- a/packages/app/obojobo-express/__tests__/routes/viewer.test.js +++ b/packages/app/obojobo-express/server/routes/viewer.test.js @@ -1,8 +1,8 @@ -jest.mock('../../server/models/visit') -jest.mock('../../server/insert_event') -jest.mock('../../server/obo_events') +jest.mock('../models/visit') +jest.mock('../insert_event') +jest.mock('../obo_events') jest.mock( - '../../server/asset_resolver', + '../asset_resolver', () => ({ assetForEnv: path => path, webpackAssetPath: path => path @@ -12,7 +12,7 @@ jest.mock( // make sure all Date objects use a static date mockStaticDate() -jest.mock('../../server/db') +jest.mock('../db') jest.unmock('fs') // need fs working for view rendering jest.unmock('express') // we'll use supertest + express for this @@ -20,7 +20,7 @@ jest.unmock('express') // we'll use supertest + express for this let mockCurrentUser let mockCurrentVisit let mockSaveSessionSuccess = true -jest.mock('../../server/express_current_user', () => (req, res, next) => { +jest.mock('../express_current_user', () => (req, res, next) => { req.requireCurrentUser = () => { req.currentUser = mockCurrentUser return Promise.resolve(mockCurrentUser) @@ -38,7 +38,7 @@ jest.mock('../../server/express_current_user', () => (req, res, next) => { // ovveride requireCurrentDocument to provide our own let mockCurrentDocument -jest.mock('../../server/express_current_document', () => (req, res, next) => { +jest.mock('../express_current_document', () => (req, res, next) => { req.requireCurrentDocument = () => { if (!mockCurrentDocument) return Promise.reject() req.currentDocument = mockCurrentDocument @@ -54,7 +54,7 @@ jest.mock('../../server/express_current_document', () => (req, res, next) => { // ovveride requireCurrentDocument to provide our own let mockLtiLaunch -jest.mock('../../server/express_lti_launch', () => ({ +jest.mock('../express_lti_launch', () => ({ assignment: (req, res, next) => { req.lti = { body: mockLtiLaunch } req.oboLti = { @@ -70,7 +70,7 @@ const request = require('supertest') const express = require('express') const app = express() app.set('view engine', 'ejs') -app.set('views', __dirname + '../../../server/views/') +app.set('views', __dirname + '../views/') app.use(oboRequire('server/express_current_user')) app.use(oboRequire('server/express_current_document')) app.use('/', oboRequire('server/express_response_decorator')) diff --git a/packages/app/obojobo-express/__tests__/util/is_true_param.test.js b/packages/app/obojobo-express/server/util/is_true_param.test.js similarity index 88% rename from packages/app/obojobo-express/__tests__/util/is_true_param.test.js rename to packages/app/obojobo-express/server/util/is_true_param.test.js index cbfd995703..b589b0b18e 100644 --- a/packages/app/obojobo-express/__tests__/util/is_true_param.test.js +++ b/packages/app/obojobo-express/server/util/is_true_param.test.js @@ -1,5 +1,5 @@ describe('isTrueParam', () => { - const { isTrueParam } = require('../../server/util/is_true_param') + const { isTrueParam } = require('./is_true_param') test.each([ [true, true], diff --git a/packages/app/obojobo-express/__tests__/util/purge_data.test.js b/packages/app/obojobo-express/server/util/purge_data.test.js similarity index 97% rename from packages/app/obojobo-express/__tests__/util/purge_data.test.js rename to packages/app/obojobo-express/server/util/purge_data.test.js index 444b303a80..294016f4b7 100644 --- a/packages/app/obojobo-express/__tests__/util/purge_data.test.js +++ b/packages/app/obojobo-express/server/util/purge_data.test.js @@ -1,5 +1,5 @@ -jest.mock('../../server/db') -jest.mock('../../server/config', () => ({ +jest.mock('../db') +jest.mock('../config', () => ({ general: { demoMode: { purgeMode: 'none', @@ -7,8 +7,8 @@ jest.mock('../../server/config', () => ({ } } })) -jest.mock('../../server/logger') -jest.mock('../../server/obo_events') +jest.mock('../logger') +jest.mock('../obo_events') // make sure all Date objects use a static date // mockStaticDate() diff --git a/packages/app/obojobo-express/__tests__/viewer_events.test.js b/packages/app/obojobo-express/server/viewer/viewer_events.test.js similarity index 91% rename from packages/app/obojobo-express/__tests__/viewer_events.test.js rename to packages/app/obojobo-express/server/viewer/viewer_events.test.js index 13bd95ac37..44f9528a7a 100644 --- a/packages/app/obojobo-express/__tests__/viewer_events.test.js +++ b/packages/app/obojobo-express/server/viewer/viewer_events.test.js @@ -1,7 +1,7 @@ -jest.mock('../server/config') -jest.mock('../server/viewer/viewer_state', () => ({ set: jest.fn() })) -jest.mock('../server/obo_events', () => ({ on: jest.fn(), emit: jest.fn() })) -jest.mock('../server/models/visit') +jest.mock('../config') +jest.mock('./viewer_state', () => ({ set: jest.fn() })) +jest.mock('../obo_events', () => ({ on: jest.fn(), emit: jest.fn() })) +jest.mock('../models/visit') const mockEvent = { userId: 'mockUserId', diff --git a/packages/app/obojobo-express/__tests__/viewer/viewer_state.test.js b/packages/app/obojobo-express/server/viewer/viewer_state.test.js similarity index 97% rename from packages/app/obojobo-express/__tests__/viewer/viewer_state.test.js rename to packages/app/obojobo-express/server/viewer/viewer_state.test.js index 44be694230..0bd3d3bbb1 100644 --- a/packages/app/obojobo-express/__tests__/viewer/viewer_state.test.js +++ b/packages/app/obojobo-express/server/viewer/viewer_state.test.js @@ -1,5 +1,5 @@ -jest.mock('../../server/db') -jest.mock('../../server/logger') +jest.mock('../db') +jest.mock('../logger') const Viewer = oboRequire('server/viewer/viewer_state') const db = oboRequire('server/db') diff --git a/packages/app/obojobo-module-selector/package.json b/packages/app/obojobo-module-selector/package.json index 4eed993264..231edc463d 100644 --- a/packages/app/obojobo-module-selector/package.json +++ b/packages/app/obojobo-module-selector/package.json @@ -1,7 +1,7 @@ { "name": "obojobo-module-selector", "license": "AGPL-3.0-only", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "repository": "https://github.com/ucfopen/Obojobo.git", "homepage": "https://ucfopen.github.io/Obojobo-Docs/", "description": "Obojobo package responsible for selecting which module you use in a course.", @@ -15,7 +15,7 @@ "precommit": "lint-staged" }, "engines": { - "node": "^14.16.0" + "node": "^18.16.0" }, "lint-staged": { "**/*.scss": [ @@ -29,8 +29,8 @@ "express": "~4.18.2" }, "peerDependencies": { - "obojobo-express": "^16.0.1", - "obojobo-lib-utils": "^16.0.1", - "obojobo-repository": "^16.0.1" + "obojobo-express": "^17.0.0-alpha.0", + "obojobo-lib-utils": "^17.0.0-alpha.0", + "obojobo-repository": "^17.0.0-alpha.0" } } diff --git a/packages/app/obojobo-repository/package.json b/packages/app/obojobo-repository/package.json index a83832580d..2c72365f38 100644 --- a/packages/app/obojobo-repository/package.json +++ b/packages/app/obojobo-repository/package.json @@ -1,7 +1,7 @@ { "name": "obojobo-repository", "license": "AGPL-3.0-only", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "repository": "https://github.com/ucfopen/Obojobo.git", "homepage": "https://ucfopen.github.io/Obojobo-Docs/", "description": "Obojobo express server middleware.", @@ -15,7 +15,7 @@ "precommit": "lint-staged" }, "engines": { - "node": "^14.16.0" + "node": "^18.16.0" }, "lint-staged": { "**/*.scss": [ @@ -46,8 +46,8 @@ "use-debounce": "^7.0.0" }, "peerDependencies": { - "obojobo-express": "^16.0.1", - "obojobo-lib-utils": "^16.0.1" + "obojobo-express": "^17.0.0-alpha.0", + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "setupFilesAfterEnv": [ diff --git a/packages/app/obojobo-repository/server/routes/api.js b/packages/app/obojobo-repository/server/routes/api.js index f6f55da1e6..aa6f65836d 100644 --- a/packages/app/obojobo-repository/server/routes/api.js +++ b/packages/app/obojobo-repository/server/routes/api.js @@ -24,6 +24,8 @@ const publicLibCollectionId = require('../../shared/publicLibCollectionId') const { levelName, levelNumber, FULL } = require('../../../obojobo-express/server/constants') +const uuid = require('uuid').v4 + // List public drafts router.route('/drafts-public').get((req, res) => { return Collection.fetchById(publicLibCollectionId) @@ -186,10 +188,39 @@ router } const oldDraft = await Draft.fetchById(draftId) + + // gather all of the node IDs in the document and determine a new ID to replace each with + const idsForChange = {} + + // this should never not exist, but just in case + if (oldDraft.nodesById) { + // only generate a replacement for ids that are UUIDs, not custom + const uuidRegex = /[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i + oldDraft.nodesById.forEach((node, key) => { + if (key && uuidRegex.test(key)) idsForChange[key] = uuid() + }) + } + + // now convert the updated document to an object for use const draftObject = oldDraft.root.toObject() + const newTitle = req.body.title ? req.body.title : draftObject.content.title + ' Copy' draftObject.content.title = newTitle - const newDraft = await Draft.createWithContent(userId, draftObject) + + // convert the object to a JSON string so we can swap out all the old IDs with the new ones + let draftString = JSON.stringify(draftObject) + + // globally replace each old ID with the equivalent new ID + // this should replace node IDs as well as action trigger references to those node IDs + for (const [oldId, newId] of Object.entries(idsForChange)) { + // this works, but there may be a more efficient way of doing it + draftString = draftString.replace(new RegExp(oldId, 'g'), newId) + } + + const newDraftObject = JSON.parse(draftString) + + // const newDraft = await Draft.createWithContent(userId, draftObject) + const newDraft = await Draft.createWithContent(userId, newDraftObject) const draftMetadata = new DraftsMetadata({ draft_id: newDraft.id, diff --git a/packages/app/obojobo-repository/server/routes/api.test.js b/packages/app/obojobo-repository/server/routes/api.test.js index db541d935e..7c5abfcd3a 100644 --- a/packages/app/obojobo-repository/server/routes/api.test.js +++ b/packages/app/obojobo-repository/server/routes/api.test.js @@ -13,6 +13,10 @@ jest.mock('obojobo-express/server/insert_event') jest.unmock('fs') // need fs working for view rendering jest.unmock('express') // we'll use supertest + express for this +jest.mock('uuid', () => ({ + v4: jest.fn() +})) + let CollectionSummary let Collection let DraftSummary @@ -59,6 +63,8 @@ const express = require('express') const bodyParser = require('body-parser') const app = express() +const uuid = require('uuid').v4 + // register express-react-views template engine if not already registered app.engine('jsx', require('express-react-views-custom').createEngine()) @@ -589,6 +595,98 @@ describe('repository api route', () => { }) }) + test('post /drafts/:draftId/copy refreshes all node IDs in a document', () => { + expect.hasAssertions() + + // have a bit of a document just to make sure substitutions work everywhere + // actual details such as type, etc. don't matter too much here + const mockDraftObject = { + id: 'mockNewDraftId', + content: { + id: 'mockNewDraftContentId', + title: 'mockDraftTitle' + }, + children: [ + { + id: 'do-not-change-me', + children: [ + { id: '4baa2860-5219-404f-9d99-616ca8f81e41' }, + { + id: 'adcc55b7-e412-4f44-b64f-6c317021f812', + reference: { + id: '4baa2860-5219-404f-9d99-616ca8f81e41' + } + }, + { id: '9d992860-3540-5219-8b4a-1e41616ca8f8' } + ] + } + ] + } + + // this is admittedly sort of magical - we happen to know how many times + // this should run based on the document structure we made above + // potentially find a more elegant way of doing this + uuid + .mockReturnValueOnce('00000000-0000-0000-0000-000000000001') + .mockReturnValueOnce('00000000-0000-0000-0000-000000000002') + .mockReturnValueOnce('00000000-0000-0000-0000-000000000003') + + // this is also a bit brute force, but it does the job + const expectedNewDraftDocument = { + id: 'mockNewDraftId', + content: { + id: 'mockNewDraftContentId', + title: 'New Draft Title' + }, + children: [ + { + id: 'do-not-change-me', + children: [ + { id: '00000000-0000-0000-0000-000000000001' }, + { + id: '00000000-0000-0000-0000-000000000002', + reference: { + id: '00000000-0000-0000-0000-000000000001' + } + }, + { id: '00000000-0000-0000-0000-000000000003' } + ] + } + ] + } + + const mockDraftRootToObject = jest.fn() + mockDraftRootToObject.mockReturnValueOnce(mockDraftObject) + + const mockDraft = { + root: { + toObject: mockDraftRootToObject + }, + // this would be handled by the Draft model, but we're mocking that so + // we have to do this ourselves + nodesById: new Map([ + ['do-not-change-me', {}], + ['4baa2860-5219-404f-9d99-616ca8f81e41', {}], + ['adcc55b7-e412-4f44-b64f-6c317021f812', {}], + ['9d992860-3540-5219-8b4a-1e41616ca8f8', {}] + ]) + } + + DraftPermissions.userHasPermissionToCopy.mockResolvedValueOnce(true) + + Draft.fetchById = jest.fn() + Draft.fetchById.mockResolvedValueOnce(mockDraft) + + return request(app) + .post('/drafts/mockDraftId/copy') + .send({ visitId: 'mockVisitId', title: 'New Draft Title' }) + .then(() => { + expect(uuid).toHaveBeenCalledTimes(3) + // 99 = mock user id + expect(Draft.createWithContent).toHaveBeenCalledWith(99, expectedNewDraftDocument) + }) + }) + test('post /drafts/:draftId/copy returns the expected response when user can not copy draft', () => { expect.hasAssertions() diff --git a/packages/app/obojobo-repository/shared/components/__snapshots__/assessment-score-data-dialog.test.js.snap b/packages/app/obojobo-repository/shared/components/__snapshots__/assessment-score-data-dialog.test.js.snap index 3e3888abb2..b21639614e 100644 --- a/packages/app/obojobo-repository/shared/components/__snapshots__/assessment-score-data-dialog.test.js.snap +++ b/packages/app/obojobo-repository/shared/components/__snapshots__/assessment-score-data-dialog.test.js.snap @@ -62,113 +62,111 @@ exports[`AssessmentScoreDataDialog AssessmentScoreDataDialog renders correctly w
-
- -
-
-
-
- - Filter attempts by date range: - -
- - + + + + +
- - + +
-
-
-
+
+ } > react-data-table-component
@@ -357,113 +369,111 @@ exports[`AssessmentScoreDataDialog AssessmentScoreDataDialog renders correctly w
-
- -
-
-
-
- - Filter attempts by date range: - -
- - + + + + +
- - + +
-
-
-
+
+ } > react-data-table-component
@@ -652,113 +676,111 @@ exports[`AssessmentScoreDataDialog AssessmentScoreDataDialog renders correctly w
-
- -
-
-
-
- - Filter attempts by date range: - -
- - + + + + +
- - + +
-
-
-
+
+ } > react-data-table-component
- - ⬇️   Download - - Table as CSV File ( - 1 - row - - ) -
diff --git a/packages/app/obojobo-repository/shared/components/__snapshots__/hybrid-input-select.test.js.snap b/packages/app/obojobo-repository/shared/components/__snapshots__/hybrid-input-select.test.js.snap new file mode 100644 index 0000000000..7bdfa69bbb --- /dev/null +++ b/packages/app/obojobo-repository/shared/components/__snapshots__/hybrid-input-select.test.js.snap @@ -0,0 +1,76 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`HybridInputSelect renders with a given list and placeholder 1`] = ` +
+ +
+
+ mock-student-one +
+
+ mock-student-two +
+
+ mock-student-three +
+
+ mock-short +
+
+ mock-very-long-student-name... +
+
+ mock-extremely-long-student-name... +
+
+
+`; + +exports[`HybridInputSelect renders with default props 1`] = ` +
+ +
+
+ No matches found +
+
+
+`; diff --git a/packages/app/obojobo-repository/shared/components/__snapshots__/stats.test.js.snap b/packages/app/obojobo-repository/shared/components/__snapshots__/stats.test.js.snap index 32b175d6e3..c276ed5fa3 100644 --- a/packages/app/obojobo-repository/shared/components/__snapshots__/stats.test.js.snap +++ b/packages/app/obojobo-repository/shared/components/__snapshots__/stats.test.js.snap @@ -703,113 +703,111 @@ exports[`Stats Renders correctly when assessment stat fetching has finished 1`]
-
- -
-
-
-
- - Filter attempts by date range: - -
- - + + + + +
- - + +
-
-
-
+
+ } > react-data-table-component
diff --git a/packages/app/obojobo-repository/shared/components/hybrid-input-select.jsx b/packages/app/obojobo-repository/shared/components/hybrid-input-select.jsx new file mode 100644 index 0000000000..da6feb6906 --- /dev/null +++ b/packages/app/obojobo-repository/shared/components/hybrid-input-select.jsx @@ -0,0 +1,61 @@ +require('./hybrid-input-select.scss') + +const React = require('react') +const { useState } = require('react') + +const HybridInputSelect = ({ placeholder = 'Enter text', list = [], onChange }) => { + const [text, setText] = useState('') + const [filteredList, setFilteredList] = useState(list) + const [dropdownOpen, setDropdownOpen] = useState(false) + + const handleInputChange = event => { + let value = event.target.value + setText(value) + setDropdownOpen(true) + + // sanitize text to remove regex reserved characters + // ., + , *, ?, ^, $, (, ), [, ], {, }, |, \ + value = value.replace(/[.+*,^$(){}|[\]\\]+/g, '') + + if (onChange) onChange({ target: { value } }) + + // Filters a given list based on the input text + const newList = list.filter(el => el && el.toLowerCase().match(value.toLowerCase())) + setFilteredList(newList) + } + + const handleElementClick = el => { + setText(el) + setDropdownOpen(false) + } + + const formatElement = el => { + if (el && el.length > 18) el += '...' + return el + } + + let elementsClassName = 'elements ' + elementsClassName += text && dropdownOpen ? 'open' : 'closed' + + let elements = filteredList.map((el, ix) => ( +
handleElementClick(el)}> + {formatElement(el)} +
+ )) + + if (elements.length === 0) + elements = [ +
+ No matches found +
+ ] + + return ( +
+ +
{elements}
+
+ ) +} + +module.exports = HybridInputSelect diff --git a/packages/app/obojobo-repository/shared/components/hybrid-input-select.scss b/packages/app/obojobo-repository/shared/components/hybrid-input-select.scss new file mode 100644 index 0000000000..cd6c682d49 --- /dev/null +++ b/packages/app/obojobo-repository/shared/components/hybrid-input-select.scss @@ -0,0 +1,64 @@ +@import '../../client/css/defaults'; + +.hybrid-input-select { + position: relative; + + input { + @include text-input(); + + width: 100%; + font-size: 0.8em; + padding: 0.6em 0.5em; + border: 0.1em solid $color-shadow; + border-radius: $dimension-rounded-radius; + } + + .elements { + position: absolute; + transition: 0.1s; + overflow-x: hidden; + top: 2.5em; + border-radius: $dimension-rounded-radius; + box-shadow: 0 0.3em 0.2em $color-shadow; + border: 0.0001em solid $color-banner-bg; + + &.open { + max-height: 5em; + overflow-y: auto; + width: 100%; + opacity: 1; + transition: 0.2s; + } + + &.closed { + height: 0; + line-height: 0; + overflow: hidden; + opacity: 0; + transition: 0.2s; + } + + .element { + width: 100%; + font-size: 0.8em; + transition: 0.1s; + background-color: $color-bg; + padding-left: 0.65em; + overflow-x: hidden; + + &:hover { + cursor: pointer; + transition: 0.1s; + background-color: desaturate(lighten($color-action, 45%), 40%); + } + + &:not(:first-child) { + border-top: 0.0001em solid $color-banner-bg; + } + + &.no-matches { + cursor: default; + } + } + } +} diff --git a/packages/app/obojobo-repository/shared/components/hybrid-input-select.test.js b/packages/app/obojobo-repository/shared/components/hybrid-input-select.test.js new file mode 100644 index 0000000000..d4324fdd18 --- /dev/null +++ b/packages/app/obojobo-repository/shared/components/hybrid-input-select.test.js @@ -0,0 +1,78 @@ +import React from 'react' +import HybridInputSelect from './hybrid-input-select' +import { create, act } from 'react-test-renderer' + +describe('HybridInputSelect', () => { + test('renders with default props', () => { + const component = create() + + const tree = component.toJSON() + expect(tree).toMatchSnapshot() + }) + + test('renders with a given list and placeholder', () => { + const mockProps = { + placeholder: 'Mock placeholder', + list: [ + 'mock-student-one', + 'mock-student-two', + 'mock-student-three', + 'mock-short', + 'mock-very-long-student-name', + 'mock-extremely-long-student-name' + ] + } + const component = create() + + const tree = component.toJSON() + expect(tree).toMatchSnapshot() + }) + + test('input is updated and list is filtered as expected', () => { + // Without onChange prop + let mockProps = { + placeholder: 'Mock placeholder', + list: ['mock-student-one', 'mock-student-two', 'mock-student-three'] + } + let component = create() + + let input = component.root.findByProps({ type: 'text' }) + act(() => { + input.props.onChange({ target: { value: 'mock-search-string' } }) + }) + expect(input.props.value).toBe('mock-search-string') + + // With onChange prop + mockProps = { ...mockProps, onChange: jest.fn() } + component = create() + + input = component.root.findByProps({ type: 'text' }) + act(() => { + input.props.onChange({ target: { value: 'mock-search-string' } }) + }) + expect(input.props.value).toBe('mock-search-string') + }) + + test("clicking on an element sets input value to element's text", () => { + const mockProps = { + placeholder: 'Mock placeholder', + list: ['mock-student-one', 'mock-student-two', 'mock-student-three'], + onChange: jest.fn() + } + const component = create() + + // Populating input so that the dropdown opens + const input = component.root.findByProps({ type: 'text' }) + act(() => { + input.props.onChange({ target: { value: 'mock' } }) + }) + + // Selecting an element from the dropdown + const element = component.root.findAllByProps({ className: 'element' })[0] + act(() => { + element.props.onClick('mock-student-one') + }) + + expect(input.props.value).toBe('mock-student-one') + }) +}) diff --git a/packages/app/obojobo-repository/shared/components/spinner.scss b/packages/app/obojobo-repository/shared/components/spinner.scss index 0a59df6b8e..2391ad97f4 100644 --- a/packages/app/obojobo-repository/shared/components/spinner.scss +++ b/packages/app/obojobo-repository/shared/components/spinner.scss @@ -1,14 +1,13 @@ +@import '../../client/css/defaults'; + .obojobo-draft--components--spinner { position: absolute; - width: 1.5em; - height: 1.5em; - display: block; - left: 0; - right: 0; - top: 15%; - margin-left: auto; - margin-right: auto; - z-index: 999; + width: 1em; + height: 1em; + top: 1em; + right: 0.5em; + display: inline-block; + background-color: $color-bg; > .spinner { @keyframes obojobo-draft--components--spinner--rotate { diff --git a/packages/app/obojobo-repository/shared/components/spinner.test.js b/packages/app/obojobo-repository/shared/components/spinner.test.js index 4c3e1f4346..9158f40fb0 100644 --- a/packages/app/obojobo-repository/shared/components/spinner.test.js +++ b/packages/app/obojobo-repository/shared/components/spinner.test.js @@ -1,13 +1,10 @@ import React from 'react' import Spinner from './spinner' -import { create, act } from 'react-test-renderer' +import { create } from 'react-test-renderer' describe('Spinner', () => { test('Spinner component', async () => { - let component - await act(async () => { - component = create() - }) + const component = create() const tree = component.toJSON() diff --git a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/assessment-stats-controls.test.js.snap b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/assessment-stats-controls.test.js.snap new file mode 100644 index 0000000000..354855e44b --- /dev/null +++ b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/assessment-stats-controls.test.js.snap @@ -0,0 +1,1145 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AssessmentStatsControls matches snapshot 1`] = ` +
+
+
+ +
+ +
+
+
+
+ + Filter attempts by date range: + + + +
+
+
+
+ + +
+ +
+
+`; + +exports[`AssessmentStatsControls matches snapshot 1`] = ` +
+
+
+ +
+ +
+
+
+
+ + Filter attempts by date range: + + + +
+
+
+
+ + +
+ +
+
+`; + +exports[`AssessmentStatsControls matches snapshot 1`] = ` +
+
+
+ +
+ +
+
+
+
+ + Filter attempts by date range: + + + +
+
+
+
+ + +
+ +
+
+`; + +exports[`AssessmentStatsControls matches snapshot 1`] = ` +
+
+
+ +
+ +
+
+
+
+ + Filter attempts by date range: + + + +
+
+
+
+ + +
+ +
+
+`; + +exports[`AssessmentStatsControls matches snapshot 1`] = ` +
+
+
+ +
+ +
+
+
+
+ + Filter attempts by date range: + + + +
+
+
+
+ + +
+ +
+
+`; + +exports[`AssessmentStatsControls matches snapshot 1`] = ` +
+
+
+ +
+ +
+
+
+
+ + Filter attempts by date range: + + + +
+
+
+
+ + +
+ +
+
+`; + +exports[`AssessmentStatsControls matches snapshot 1`] = ` +
+
+
+ +
+ +
+
+
+
+ + Filter attempts by date range: + + + +
+
+
+
+ + +
+ +
+
+`; + +exports[`AssessmentStatsControls matches snapshot 1`] = ` +
+
+
+ +
+ +
+
+
+
+ + Filter attempts by date range: + + + +
+
+
+
+ + +
+ +
+
+`; diff --git a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/assessment-stats-filter-controls.test.js.snap b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/assessment-stats-filter-controls.test.js.snap deleted file mode 100644 index 79cb9c77cc..0000000000 --- a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/assessment-stats-filter-controls.test.js.snap +++ /dev/null @@ -1,361 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`AssessmentStatsFilterControls matches snapshot 1`] = ` -
-
- - -
- -
-
-`; - -exports[`AssessmentStatsFilterControls matches snapshot 1`] = ` -
-
- - -
- -
-
-`; - -exports[`AssessmentStatsFilterControls matches snapshot 1`] = ` -
-
- - -
- -
-
-`; - -exports[`AssessmentStatsFilterControls matches snapshot 1`] = ` -
-
- - -
- -
-
-`; - -exports[`AssessmentStatsFilterControls matches snapshot 1`] = ` -
-
- - -
- -
-
-`; - -exports[`AssessmentStatsFilterControls matches snapshot 1`] = ` -
-
- - -
- -
-
-`; - -exports[`AssessmentStatsFilterControls matches snapshot 1`] = ` -
-
- - -
- -
-
-`; - -exports[`AssessmentStatsFilterControls matches snapshot 1`] = ` -
-
- - -
- -
-
-`; diff --git a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/assessment-stats.test.js.snap b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/assessment-stats.test.js.snap index 8d666ae3aa..6104b69180 100644 --- a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/assessment-stats.test.js.snap +++ b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/assessment-stats.test.js.snap @@ -31,113 +31,111 @@ exports[`AssessmentStats AssessmentStats renders correctly 1`] = `
-
- -
-
-
-
- - Filter attempts by date range: - -
- - + + + + +
- - + +
-
-
-
+
+ } > react-data-table-component
@@ -282,7 +295,7 @@ exports[`AssessmentStats AssessmentStats renders correctly 1`] = ` ⬇️   Download @@ -328,113 +341,111 @@ exports[`AssessmentStats AssessmentStats renders correctly 2`] = `
-
- -
-
-
-
- - Filter attempts by date range: - -
- - + + + + +
- - + +
-
-
-
+
+ } > react-data-table-component
@@ -639,7 +670,7 @@ exports[`AssessmentStats AssessmentStats renders correctly 2`] = `
⬇️   Download @@ -653,3 +684,277 @@ exports[`AssessmentStats AssessmentStats renders correctly 2`] = `
`; + +exports[`AssessmentStats AssessmentStats renders correctly 3`] = ` +
+
+ +
+
+
+
+
+ +
+ +
+
+
+
+ + Filter attempts by date range: + + + +
+
+
+
+ + +
+ +
+
+
+
+
+
+
+
+

+ Final Assessment Scores +

+
+ } + > + react-data-table-component +
+
+
+
+ +`; diff --git a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-assessments.test.js.snap b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-assessments.test.js.snap index 60bbde7c45..57cd001cda 100644 --- a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-assessments.test.js.snap +++ b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-assessments.test.js.snap @@ -77,6 +77,12 @@ exports[`DataGridAssessments DataGridAssessments renders correctly 1`] = ` "selector": "launchPresentationReturnUrl", "sortable": true, }, + Object { + "advanced": false, + "name": "Student Name", + "selector": "studentName", + "sortable": true, + }, Object { "advanced": false, "cell": [Function], @@ -108,6 +114,7 @@ exports[`DataGridAssessments DataGridAssessments renders correctly 1`] = ` "moduleTitle": undefined, "resourceLinkId": undefined, "resourceLinkTitle": undefined, + "studentName": "undefined undefined", "userFirstName": undefined, "userId": undefined, "userLastName": undefined, @@ -127,6 +134,7 @@ exports[`DataGridAssessments DataGridAssessments renders correctly 1`] = ` "moduleTitle": undefined, "resourceLinkId": undefined, "resourceLinkTitle": undefined, + "studentName": "undefined undefined", "userFirstName": undefined, "userId": undefined, "userLastName": undefined, @@ -149,7 +157,15 @@ exports[`DataGridAssessments DataGridAssessments renders correctly 1`] = ` ] } striped={true} - title="Final Assessment Scores" + title={ +
+

+ Final Assessment Scores +

+
+ } > react-data-table-component @@ -157,7 +173,7 @@ exports[`DataGridAssessments DataGridAssessments renders correctly 1`] = `
⬇️   Download @@ -216,6 +232,12 @@ exports[`DataGridAssessments DataGridAssessments renders without attempts 1`] = "selector": "launchPresentationReturnUrl", "sortable": true, }, + Object { + "advanced": false, + "name": "Student Name", + "selector": "studentName", + "sortable": true, + }, Object { "advanced": false, "cell": [Function], @@ -247,7 +269,15 @@ exports[`DataGridAssessments DataGridAssessments renders without attempts 1`] = ] } striped={true} - title="Final Assessment Scores" + title={ +
+

+ Final Assessment Scores +

+
+ } > react-data-table-component diff --git a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-attempts.test.js.snap b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-attempts.test.js.snap index b6d127dcbd..2384251ae2 100644 --- a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-attempts.test.js.snap +++ b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-attempts.test.js.snap @@ -113,6 +113,12 @@ exports[`DataGridAttempts DataGridAttempts renders correctly 1`] = ` "selector": "launchPresentationReturnUrl", "sortable": true, }, + Object { + "advanced": false, + "name": "Student Name", + "selector": "studentName", + "sortable": true, + }, Object { "advanced": false, "name": "Attempt ID", @@ -228,7 +234,15 @@ exports[`DataGridAttempts DataGridAttempts renders correctly 1`] = ` ] } striped={true} - title="Attempt Scores" + title={ +
+

+ Attempt Scores +

+
+ } > react-data-table-component @@ -236,7 +250,7 @@ exports[`DataGridAttempts DataGridAttempts renders correctly 1`] = `
⬇️   Download @@ -295,6 +309,12 @@ exports[`DataGridAttempts DataGridAttempts renders with no attempts 1`] = ` "selector": "launchPresentationReturnUrl", "sortable": true, }, + Object { + "advanced": false, + "name": "Student Name", + "selector": "studentName", + "sortable": true, + }, Object { "advanced": false, "name": "Attempt ID", @@ -385,7 +405,15 @@ exports[`DataGridAttempts DataGridAttempts renders with no attempts 1`] = ` ] } striped={true} - title="Attempt Scores" + title={ +
+

+ Attempt Scores +

+
+ } > react-data-table-component diff --git a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-scores.test.js.snap b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-scores.test.js.snap index 712b991d73..037754e179 100644 --- a/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-scores.test.js.snap +++ b/packages/app/obojobo-repository/shared/components/stats/__snapshots__/data-grid-scores.test.js.snap @@ -29,11 +29,17 @@ exports[`DataGridScores DataGridScores renders correctly 1`] = ` "completedAt": "2021-02-04T13:55:30.255Z", "draftId": "mock-draft-id", "exampleId": "mock-example-id", + "studentName": "mock-first-name mock-last-name", + "userFirstName": "mock-first-name", + "userLastName": "mock-last-name", }, Object { "completedAt": "2021-06-21T15:32:30.255Z", "draftId": "mock-draft-id2", "exampleId": "mock-example-id2", + "studentName": "mock-first-name mock-last-name", + "userFirstName": "mock-first-name", + "userLastName": "mock-last-name", }, ] } @@ -51,7 +57,15 @@ exports[`DataGridScores DataGridScores renders correctly 1`] = ` ] } striped={true} - title="Mock Table Name" + title={ +
+

+ Mock Table Name +

+
+ } > react-data-table-component @@ -97,6 +111,9 @@ exports[`DataGridScores DataGridScores renders one row 1`] = ` "completedAt": "2021-02-04T13:55:30.255Z", "draftId": "mock-draft-id", "exampleId": "mock-example-id", + "studentName": "mock-first-name mock-last-name", + "userFirstName": "mock-first-name", + "userLastName": "mock-last-name", }, ] } @@ -114,7 +131,15 @@ exports[`DataGridScores DataGridScores renders one row 1`] = ` ] } striped={true} - title="Mock Table Name" + title={ +
+

+ Mock Table Name +

+
+ } > react-data-table-component @@ -160,6 +185,16 @@ exports[`DataGridScores DataGridScores renders when no rows given 1`] = ` ] } striped={true} + title={ +
+

+ +

+ } > react-data-table-component @@ -201,7 +236,15 @@ exports[`DataGridScores DataGridScores uses search filters as expected 1`] = ` ] } striped={true} - title="Mock Table Name" + title={ +
+

+ Mock Table Name +

+
+ } > react-data-table-component @@ -243,7 +286,15 @@ exports[`DataGridScores DataGridScores uses search filters as expected 2`] = ` ] } striped={true} - title="Mock Table Name" + title={ +
+

+ Mock Table Name +

+
+ } > react-data-table-component @@ -285,7 +336,15 @@ exports[`DataGridScores DataGridScores uses search filters as expected 3`] = ` ] } striped={true} - title="Mock Table Name" + title={ +
+

+ Mock Table Name +

+
+ } > react-data-table-component @@ -318,11 +377,17 @@ exports[`DataGridScores DataGridScores uses search filters as expected 4`] = ` "completedAt": "2021-02-04T13:55:30.255Z", "draftId": "mock-draft-id", "exampleId": "mock-example-id", + "studentName": "mock-first-name mock-last-name", + "userFirstName": "mock-first-name", + "userLastName": "mock-last-name", }, Object { "completedAt": "2021-06-21T15:32:30.255Z", "draftId": "mock-draft-id2", "exampleId": "mock-example-id2", + "studentName": "mock-first-name mock-last-name", + "userFirstName": "mock-first-name", + "userLastName": "mock-last-name", }, ] } @@ -340,7 +405,15 @@ exports[`DataGridScores DataGridScores uses search filters as expected 4`] = ` ] } striped={true} - title="Mock Table Name" + title={ +
+

+ Mock Table Name +

+
+ } > react-data-table-component @@ -386,11 +459,17 @@ exports[`DataGridScores DataGridScores uses search filters as expected 5`] = ` "completedAt": "2021-02-04T13:55:30.255Z", "draftId": "mock-draft-id", "exampleId": "mock-example-id", + "studentName": "mock-first-name mock-last-name", + "userFirstName": "mock-first-name", + "userLastName": "mock-last-name", }, Object { "completedAt": "2021-06-21T15:32:30.255Z", "draftId": "mock-draft-id2", "exampleId": "mock-example-id2", + "studentName": "mock-first-name mock-last-name", + "userFirstName": "mock-first-name", + "userLastName": "mock-last-name", }, ] } @@ -408,7 +487,15 @@ exports[`DataGridScores DataGridScores uses search filters as expected 5`] = ` ] } striped={true} - title="Mock Table Name" + title={ +
+

+ Mock Table Name +

+
+ } > react-data-table-component @@ -454,11 +541,17 @@ exports[`DataGridScores DataGridScores uses search filters as expected 6`] = ` "completedAt": "2021-02-04T13:55:30.255Z", "draftId": "mock-draft-id", "exampleId": "mock-example-id", + "studentName": "mock-first-name mock-last-name", + "userFirstName": "mock-first-name", + "userLastName": "mock-last-name", }, Object { "completedAt": "2021-06-21T15:32:30.255Z", "draftId": "mock-draft-id2", "exampleId": "mock-example-id2", + "studentName": "mock-first-name mock-last-name", + "userFirstName": "mock-first-name", + "userLastName": "mock-last-name", }, ] } @@ -476,7 +569,15 @@ exports[`DataGridScores DataGridScores uses search filters as expected 6`] = ` ] } striped={true} - title="Mock Table Name" + title={ +
+

+ Mock Table Name +

+
+ } > react-data-table-component @@ -531,7 +632,15 @@ exports[`DataGridScores DataGridScores uses search filters as expected 7`] = ` ] } striped={true} - title="Mock Table Name" + title={ +
+

+ Mock Table Name +

+
+ } > react-data-table-component @@ -573,10 +682,264 @@ exports[`DataGridScores DataGridScores uses search filters as expected 8`] = ` ] } striped={true} - title="Mock Table Name" + title={ +
+

+ Mock Table Name +

+
+ } + > + react-data-table-component + + + +`; + +exports[`DataGridScores DataGridScores uses search filters as expected 9`] = ` +
+
+
+

+ Mock Table Name +

+
+ } + > + react-data-table-component +
+
+
+ ⬇️   Download + + Table as CSV File ( + 2 + row + s + ) + + +`; + +exports[`DataGridScores DataGridScores uses search filters as expected 10`] = ` +
+
+
+

+ Mock Table Name +

+
+ } + > + react-data-table-component +
+
+ + ⬇️   Download + + Table as CSV File ( + 2 + row + s + ) + + +`; + +exports[`DataGridScores DataGridScores uses search filters as expected 11`] = ` +
+
+
+

+ Mock Table Name +

+
+ } > react-data-table-component
+ + ⬇️   Download + + Table as CSV File ( + 2 + row + s + ) + `; diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-controls.jsx b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-controls.jsx new file mode 100644 index 0000000000..6e35fdf06f --- /dev/null +++ b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-controls.jsx @@ -0,0 +1,240 @@ +require('./assessment-stats-controls.scss') + +const { useDebouncedCallback } = require('use-debounce') +const React = require('react') +const Button = require('../button') +const HybridInputSelect = require('../hybrid-input-select') +const { convertHyphenBasedStringToCamelCase } = require('../../util/misc-stats-util') + +const SEARCH_INPUT_DEBOUNCE_MS = 500 + +const AssessmentStatsControls = ({ + controls, + onChangeControls, + dateBounds, + dropdownValues = [], + setIsDebouncing +}) => { + const [param, setParam] = React.useState('') + const [endDate, setEndDate] = React.useState('') + const [textInput, setTextInput] = React.useState('') + const [startDate, setStartDate] = React.useState('') + + const debouncedOnChangeSearchContent = useDebouncedCallback(searchTerm => { + setIsDebouncing(false) + const oldControls = Object.assign({}, controls) + + onChangeControls( + Object.assign(oldControls, { + searchContent: { + searchString: searchTerm, + date: { start: startDate, end: endDate } + } + }) + ) + }, SEARCH_INPUT_DEBOUNCE_MS) + + const onChangeSearchSettings = event => { + const oldControls = Object.assign({}, controls) + + const value = event.target.value + + setParam(value) + + onChangeControls(Object.assign(oldControls, { searchBy: value })) + } + + const onChangeSearchContent = event => { + const value = event.target.value + + setTextInput(value) + debouncedOnChangeSearchContent(value) + setIsDebouncing(true) + + // If the user clears out the input go ahead and update the search without a delay + if (value.length === 0) { + debouncedOnChangeSearchContent.flush() + } + } + + const onChangeStartDate = newDate => { + const oldControls = Object.assign({}, controls) + + setStartDate(newDate) + + onChangeControls( + Object.assign(oldControls, { + searchContent: { + searchString: textInput, + date: { start: newDate, end: endDate } + } + }) + ) + } + + const onChangeEndDate = newDate => { + const oldControls = Object.assign({}, controls) + + setEndDate(newDate) + + onChangeControls( + Object.assign(oldControls, { + searchContent: { + searchString: textInput, + date: { start: startDate, end: newDate } + } + }) + ) + } + + const onChangeShowIncompleteAttempts = event => { + const oldControls = Object.assign({}, controls) + + onChangeControls( + Object.assign(oldControls, { + showPreviewAttempts: controls.showPreviewAttempts, + showAdvancedFields: controls.showAdvancedFields, + showIncompleteAttempts: event.target.checked + }) + ) + } + + const onChangeShowPreviewAttempts = event => { + const oldControls = Object.assign({}, controls) + + onChangeControls( + Object.assign(oldControls, { + showIncompleteAttempts: controls.showIncompleteAttempts, + showAdvancedFields: controls.showAdvancedFields, + showPreviewAttempts: event.target.checked + }) + ) + } + + const onChangeShowAdvancedFields = event => { + const oldControls = Object.assign({}, controls) + + onChangeControls( + Object.assign(oldControls, { + showIncompleteAttempts: controls.showIncompleteAttempts, + showPreviewAttempts: controls.showPreviewAttempts, + showAdvancedFields: event.target.checked + }) + ) + } + + const valuesForHybridInput = dropdownValues.map( + row => row[convertHyphenBasedStringToCamelCase(param)] + ) + + const showHybridInput = param !== '' + + const textPlaceholder = param + .split('-') + .map(word => word.charAt(0).toUpperCase() + word.substring(1)) + .join(' ') + + return ( +
+
+
+ +
+ + {showHybridInput && ( + + )} +
+
+
+
+ Filter attempts by date range: + + + +
+
+
+
+ + +
+ +
+
+ ) +} + +module.exports = AssessmentStatsControls diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-controls.scss b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-controls.scss new file mode 100644 index 0000000000..07858890f7 --- /dev/null +++ b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-controls.scss @@ -0,0 +1,118 @@ +@import '../../../client/css/defaults'; + +.repository--assessment-stats-controls { + hr { + margin-bottom: 1em; + } + + .search-controls { + select { + @include select-input(); + + border: 1px solid $color-shadow; + font-size: 0.8em; + width: 11em; + } + + .search-by-text { + margin-top: 1em; + margin-bottom: 1em; + display: flex; + align-items: baseline; + + label { + width: 5.5em; + } + + select { + width: 100%; + } + + .controls { + display: flex; + flex-direction: column; + gap: 0.5em; + flex-grow: 1; + } + } + + .search-by-date { + margin-top: 1em; + margin-bottom: 1em; + display: flex; + flex-direction: column; + gap: 0.5em; + + label { + display: flex; + align-items: baseline; + + > span { + width: 5.5em; + } + } + + .date-range { + display: flex; + flex-direction: column; + gap: 0.1em; + flex-grow: 1; + + button { + border: none; + padding: 0; + width: 4em; + + &:disabled { + visibility: hidden; + } + } + + input[type='date'] { + border-radius: $dimension-rounded-radius; + padding: 0.5em; + font-size: 0.8em; + border: 0.1em solid $color-shadow; + + &[value=''] { + color: $color-text-minor; + } + + &:not([value='']) { + background-color: $color-action-bg; + border: 1px solid $color-action; + } + } + } + } + + input { + font-family: $font-monospace; + } + } + + .filter-controls { + display: flex; + flex-direction: column; + width: 100%; + + hr { + margin-top: 1em; + } + + input { + margin-right: 0.5em; + margin-left: 0; + } + + label { + cursor: pointer; + display: flex; + align-items: center; + + span { + white-space: nowrap; + } + } + } +} diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-controls.test.js b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-controls.test.js new file mode 100644 index 0000000000..62f427c4c7 --- /dev/null +++ b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-controls.test.js @@ -0,0 +1,233 @@ +import React from 'react' +import renderer, { act } from 'react-test-renderer' +import Button from '../button' +import AssessmentStatsControls from './assessment-stats-controls' + +jest.mock('use-debounce', () => ({ + useDebouncedCallback: cb => { + const fn = () => { + cb() + } + fn.flush = jest.fn() + + return fn + } +})) + +describe('AssessmentStatsControls', () => { + test('AssessmentStatsControls renders correctly', () => {}) + + test.each` + showIncompleteAttempts | showPreviewAttempts | showAdvancedFields + ${false} | ${false} | ${false} + ${false} | ${false} | ${true} + ${false} | ${true} | ${false} + ${false} | ${true} | ${true} + ${true} | ${false} | ${false} + ${true} | ${false} | ${true} + ${true} | ${true} | ${false} + ${true} | ${true} | ${true} + `( + ' matches snapshot', + ({ showIncompleteAttempts, showPreviewAttempts, showAdvancedFields }) => { + const component = renderer.create( + + ) + const tree = component.toJSON() + expect(tree).toMatchSnapshot() + } + ) + + test('Inputs work as expected', () => { + const onChangeControls = jest.fn() + const setIsDebouncing = jest.fn() + + const component = renderer.create( + + ) + + const checkboxShowIncomplete = component.root.findByProps({ + className: 'show-incomplete-attempts' + }) + const checkboxShowPreview = component.root.findByProps({ className: 'show-preview-attempts' }) + const checkboxAdvanced = component.root.findByProps({ className: 'show-advanced-fields' }) + + expect(onChangeControls).not.toHaveBeenCalled() + + // Click on checkboxShowIncomplete + checkboxShowIncomplete.props.onChange({ target: { checked: true } }) + expect(onChangeControls).toHaveBeenCalledTimes(1) + expect(onChangeControls).toHaveBeenCalledWith({ + showIncompleteAttempts: true, + showPreviewAttempts: false, + showAdvancedFields: false + }) + + // Click on checkboxShowPreview + checkboxShowPreview.props.onChange({ target: { checked: true } }) + expect(onChangeControls).toHaveBeenCalledTimes(2) + expect(onChangeControls).toHaveBeenCalledWith({ + showIncompleteAttempts: false, + showPreviewAttempts: true, + showAdvancedFields: false + }) + + // Click on showAdvancedFields + checkboxAdvanced.props.onChange({ target: { checked: true } }) + expect(onChangeControls).toHaveBeenCalledTimes(3) + expect(onChangeControls).toHaveBeenCalledWith({ + showIncompleteAttempts: false, + showPreviewAttempts: false, + showAdvancedFields: true + }) + }) + + test('Inputs and select tags work as expected', () => { + const onChangeControls = jest.fn() + const setIsDebouncing = jest.fn() + + const component = renderer.create( + + ) + + const select = component.root.findByProps({ + id: 'repository--assessment-stats-search-controls--search-by' + }) + + expect(onChangeControls).not.toHaveBeenCalled() + + // Change select option + act(() => { + select.props.onChange({ target: { value: 'user-first-name' } }) + }) + expect(onChangeControls).toHaveBeenCalledTimes(1) + }) + + test('Change input based on select option', () => { + const onChangeControls = jest.fn() + const setIsDebouncing = jest.fn() + + const component = renderer.create( + + ) + + expect(onChangeControls).toHaveBeenCalledTimes(0) + const select = component.root.findByProps({ + id: 'repository--assessment-stats-search-controls--search-by' + }) + // Change select option + act(() => { + select.props.onChange({ target: { value: 'user-first-name' } }) + }) + expect(onChangeControls).toHaveBeenCalledTimes(1) + + const textInput = component.root.findByProps({ type: 'text' }) + act(() => { + textInput.props.onChange({ target: { value: 'test' } }) + }) + expect(onChangeControls).toHaveBeenCalledTimes(2) + + act(() => { + textInput.props.onChange({ target: { value: '' } }) + }) + expect(onChangeControls).toHaveBeenCalledTimes(3) + }) + + test('Set and clear date start input', () => { + const onChangeControls = jest.fn() + const setIsDebouncing = jest.fn() + + const component = renderer.create( + + ) + + act(() => { + component.root + .findAllByProps({ type: 'date' })[0] + .props.onChange({ target: { value: new Date() } }) + }) + expect(onChangeControls).toHaveBeenCalledTimes(1) + expect(component.root.findAllByProps({ type: 'date' })[0].props.value).not.toBe('') + act(() => { + component.root.findAllByType(Button)[0].props.onClick() + }) + expect(component.root.findAllByProps({ type: 'date' })[0].props.value).toBe('') + expect(onChangeControls).toHaveBeenCalledTimes(2) + }) + + test('Set and clear date end input', () => { + const onChangeControls = jest.fn() + const setIsDebouncing = jest.fn() + + const component = renderer.create( + + ) + + act(() => { + component.root + .findAllByProps({ type: 'date' })[1] + .props.onChange({ target: { value: new Date() } }) + }) + expect(onChangeControls).toHaveBeenCalledTimes(1) + expect(component.root.findAllByProps({ type: 'date' })[1].props.value).not.toBe('') + act(() => { + component.root.findAllByType(Button)[1].props.onClick() + }) + expect(component.root.findAllByProps({ type: 'date' })[1].props.value).toBe('') + expect(onChangeControls).toHaveBeenCalledTimes(2) + }) +}) diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-filter-controls.jsx b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-filter-controls.jsx deleted file mode 100644 index 0b36d49856..0000000000 --- a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-filter-controls.jsx +++ /dev/null @@ -1,65 +0,0 @@ -require('./assessment-stats-filter-controls.scss') -const React = require('react') - -function AssessmentStatsFilterControls({ filterSettings, onChangeFilterSettings }) { - const onChangeShowIncompleteAttempts = event => { - onChangeFilterSettings({ - showPreviewAttempts: filterSettings.showPreviewAttempts, - showAdvancedFields: filterSettings.showAdvancedFields, - showIncompleteAttempts: event.target.checked - }) - } - - const onChangeShowPreviewAttempts = event => { - onChangeFilterSettings({ - showIncompleteAttempts: filterSettings.showIncompleteAttempts, - showAdvancedFields: filterSettings.showAdvancedFields, - showPreviewAttempts: event.target.checked - }) - } - - const onChangeShowAdvancedFields = event => { - onChangeFilterSettings({ - showIncompleteAttempts: filterSettings.showIncompleteAttempts, - showPreviewAttempts: filterSettings.showPreviewAttempts, - showAdvancedFields: event.target.checked - }) - } - - return ( -
-
- - -
- -
-
- ) -} - -module.exports = AssessmentStatsFilterControls diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-filter-controls.scss b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-filter-controls.scss deleted file mode 100644 index a544706c0b..0000000000 --- a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-filter-controls.scss +++ /dev/null @@ -1,31 +0,0 @@ -@import '../../../client/css/defaults'; - -.repository--assessment-stats-filter-controls { - width: 100%; - - hr { - margin-top: 1em; - margin-bottom: 1em; - } - - .container { - display: flex; - flex-direction: column; - width: 100%; - - input { - margin-right: 0.5em; - margin-left: 0; - } - - label { - cursor: pointer; - display: flex; - align-items: center; - - span { - white-space: nowrap; - } - } - } -} diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-filter-controls.test.js b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-filter-controls.test.js deleted file mode 100644 index 4c0796c267..0000000000 --- a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-filter-controls.test.js +++ /dev/null @@ -1,81 +0,0 @@ -import React from 'react' -import renderer from 'react-test-renderer' -import AssessmentStatsFilterControls from './assessment-stats-filter-controls' - -describe('AssessmentStatsFilterControls', () => { - test('AssessmentStatsFilterControls renders correctly', () => {}) - - test.each` - showIncompleteAttempts | showPreviewAttempts | showAdvancedFields - ${false} | ${false} | ${false} - ${false} | ${false} | ${true} - ${false} | ${true} | ${false} - ${false} | ${true} | ${true} - ${true} | ${false} | ${false} - ${true} | ${false} | ${true} - ${true} | ${true} | ${false} - ${true} | ${true} | ${true} - `( - ' matches snapshot', - ({ showIncompleteAttempts, showPreviewAttempts, showAdvancedFields }) => { - const component = renderer.create( - - ) - const tree = component.toJSON() - expect(tree).toMatchSnapshot() - } - ) - - test('Inputs work as expected', () => { - const onChangeFilterSettings = jest.fn() - - const component = renderer.create( - - ) - - const checkboxShowIncomplete = component.root.findByProps({ - className: 'show-incomplete-attempts' - }) - const checkboxShowPreview = component.root.findByProps({ className: 'show-preview-attempts' }) - const checkboxAdvanced = component.root.findByProps({ className: 'show-advanced-fields' }) - - expect(onChangeFilterSettings).not.toHaveBeenCalled() - - // Click on checkboxShowIncomplete - checkboxShowIncomplete.props.onChange({ target: { checked: true } }) - expect(onChangeFilterSettings).toHaveBeenCalledTimes(1) - expect(onChangeFilterSettings).toHaveBeenCalledWith({ - showIncompleteAttempts: true, - showPreviewAttempts: false, - showAdvancedFields: false - }) - - // Click on checkboxShowPreview - checkboxShowPreview.props.onChange({ target: { checked: true } }) - expect(onChangeFilterSettings).toHaveBeenCalledTimes(2) - expect(onChangeFilterSettings).toHaveBeenCalledWith({ - showIncompleteAttempts: false, - showPreviewAttempts: true, - showAdvancedFields: false - }) - - // Click on showAdvancedFields - checkboxAdvanced.props.onChange({ target: { checked: true } }) - expect(onChangeFilterSettings).toHaveBeenCalledTimes(3) - expect(onChangeFilterSettings).toHaveBeenCalledWith({ - showIncompleteAttempts: false, - showPreviewAttempts: false, - showAdvancedFields: true - }) - }) -}) diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-search-controls.jsx b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-search-controls.jsx deleted file mode 100644 index c70b4053b0..0000000000 --- a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-search-controls.jsx +++ /dev/null @@ -1,133 +0,0 @@ -require('./assessment-stats-search-controls.scss') - -const { useDebouncedCallback } = require('use-debounce') -const React = require('react') -const Button = require('../button') - -const SEARCH_INPUT_DEBOUNCE_MS = 500 - -const AssessmentStatsSearchControls = ({ onChangeSearchSettings, onChangeSearchContent }) => { - const [param, setParam] = React.useState('') - const [textInput, setTextInput] = React.useState('') - const [startDate, setStartDate] = React.useState('') - const [endDate, setEndDate] = React.useState('') - - const debouncedOnChangeSearchContent = useDebouncedCallback(searchTerm => { - onChangeSearchContent({ - text: searchTerm, - date: { start: startDate, end: endDate } - }) - }, SEARCH_INPUT_DEBOUNCE_MS) - - const handleSearchSettingsChange = event => { - const value = event.target.value - - setParam(value) - onChangeSearchSettings(value) - } - - const handleSearchContentChange = event => { - const value = event.target.value - - setTextInput(value) - debouncedOnChangeSearchContent(value) - - // If the user clears out the input go ahead and update the search without a delay - if (value.length === 0) { - debouncedOnChangeSearchContent.flush() - } - } - - const onChangeStartDate = newDate => { - setStartDate(newDate) - onChangeSearchContent({ - text: textInput, - date: { start: newDate, end: endDate } - }) - } - - const onChangeEndDate = newDate => { - setEndDate(newDate) - onChangeSearchContent({ - text: textInput, - date: { start: startDate, end: newDate } - }) - } - - const showTextInput = param !== '' - - const textPlaceholder = param - .split('-') - .map(word => word.charAt(0).toUpperCase() + word.substring(1)) - .join(' ') - - return ( -
-
- -
- - {showTextInput && ( - - )} -
-
-
-
- Filter attempts by date range: - - - -
-
- ) -} - -module.exports = AssessmentStatsSearchControls diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-search-controls.scss b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-search-controls.scss deleted file mode 100644 index ab2fd77c9d..0000000000 --- a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-search-controls.scss +++ /dev/null @@ -1,98 +0,0 @@ -@import '../../../client/css/defaults'; - -.repository--assessment-stats-search-controls { - select { - @include select-input(); - - border: 1px solid $color-shadow; - font-size: 0.8em; - width: 11em; - } - - .search-by-text { - margin-top: 1em; - margin-bottom: 1em; - display: flex; - align-items: baseline; - - label { - width: 5.5em; - } - - select { - width: 100%; - } - - .text-input { - border-radius: $dimension-rounded-radius; - padding: 0.6em 0.5em; - font-size: 0.8em; - border: 0.1em solid $color-shadow; - } - - .controls { - display: flex; - flex-direction: column; - gap: 0.5em; - flex-grow: 1; - } - } - - .search-by-date { - margin-top: 1em; - margin-bottom: 1em; - display: flex; - flex-direction: column; - gap: 0.5em; - - .label { - margin-bottom: 0.5em; - } - - label { - display: flex; - align-items: baseline; - - > span { - width: 5.5em; - } - } - - .date-range { - display: flex; - flex-direction: column; - gap: 0.1em; - flex-grow: 1; - - button { - border: none; - padding: 0; - width: 4em; - - &:disabled { - visibility: hidden; - } - } - - input[type='date'] { - border-radius: $dimension-rounded-radius; - padding: 0.5em; - font-size: 0.8em; - border: 0.1em solid $color-shadow; - - &[value=''] { - color: $color-text-minor; - } - - &:not([value='']) { - background-color: $color-action-bg; - border: 1px solid $color-action; - } - } - } - } - - input { - font-family: $font-monospace; - } -} diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-search-controls.test.js b/packages/app/obojobo-repository/shared/components/stats/assessment-stats-search-controls.test.js deleted file mode 100644 index 2a61334166..0000000000 --- a/packages/app/obojobo-repository/shared/components/stats/assessment-stats-search-controls.test.js +++ /dev/null @@ -1,148 +0,0 @@ -import React from 'react' -import renderer, { act } from 'react-test-renderer' -import Button from '../button' -import AssessmentStatsSearchControls from './assessment-stats-search-controls' - -jest.mock('use-debounce', () => ({ - useDebouncedCallback: cb => { - const fn = () => { - cb() - } - fn.flush = jest.fn() - - return fn - } -})) - -describe('AssessmentStatsSearchControls', () => { - test('AssessmentStatsSearchControls renders correctly', () => {}) - - test('Inputs and select tags work as expected', () => { - const onChangeSearchSettings = jest.fn() - const onChangeSearchContent = jest.fn() - - const component = renderer.create( - - ) - - const select = component.root.findByProps({ - id: 'repository--assessment-stats-search-controls--search-by' - }) - - expect(onChangeSearchSettings).not.toHaveBeenCalled() - expect(onChangeSearchContent).not.toHaveBeenCalled() - - // Change select option - act(() => { - select.props.onChange({ target: { value: 'user-first-name' } }) - }) - expect(onChangeSearchSettings).toHaveBeenCalledTimes(1) - expect(onChangeSearchContent).not.toHaveBeenCalled() - }) - - test('Change input based on select option', () => { - const onChangeSearchSettings = jest.fn() - const onChangeSearchContent = jest.fn() - - const component = renderer.create( - - ) - - expect(onChangeSearchContent).toHaveBeenCalledTimes(0) - const select = component.root.findByProps({ - id: 'repository--assessment-stats-search-controls--search-by' - }) - // Change select option - act(() => { - select.props.onChange({ target: { value: 'user-first-name' } }) - }) - - expect(onChangeSearchContent).toHaveBeenCalledTimes(0) - const textInput = component.root.findByProps({ type: 'text' }) - act(() => { - textInput.props.onChange({ target: { value: 'test' } }) - }) - expect(onChangeSearchContent).toHaveBeenCalledTimes(1) - - act(() => { - textInput.props.onChange({ target: { value: '' } }) - }) - expect(onChangeSearchContent).toHaveBeenCalledTimes(2) - }) - - test('Set and clear date start input', () => { - const onChangeSearchSettings = jest.fn() - const onChangeSearchContent = jest.fn() - - const component = renderer.create( - - ) - - act(() => { - component.root - .findAllByProps({ type: 'date' })[0] - .props.onChange({ target: { value: new Date() } }) - }) - expect(onChangeSearchContent).toHaveBeenCalledTimes(1) - expect(component.root.findAllByProps({ type: 'date' })[0].props.value).not.toBe('') - act(() => { - component.root.findAllByType(Button)[0].props.onClick() - }) - expect(component.root.findAllByProps({ type: 'date' })[0].props.value).toBe('') - expect(onChangeSearchContent).toHaveBeenCalledTimes(2) - }) - - test('Set and clear date end input', () => { - const onChangeSearchSettings = jest.fn() - const onChangeSearchContent = jest.fn() - - const component = renderer.create( - - ) - - act(() => { - component.root - .findAllByProps({ type: 'date' })[1] - .props.onChange({ target: { value: new Date() } }) - }) - expect(onChangeSearchContent).toHaveBeenCalledTimes(1) - expect(component.root.findAllByProps({ type: 'date' })[1].props.value).not.toBe('') - act(() => { - component.root.findAllByType(Button)[1].props.onClick() - }) - expect(component.root.findAllByProps({ type: 'date' })[1].props.value).toBe('') - expect(onChangeSearchContent).toHaveBeenCalledTimes(2) - }) -}) diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats.jsx b/packages/app/obojobo-repository/shared/components/stats/assessment-stats.jsx index 9dc92af7d7..67066989f2 100644 --- a/packages/app/obojobo-repository/shared/components/stats/assessment-stats.jsx +++ b/packages/app/obojobo-repository/shared/components/stats/assessment-stats.jsx @@ -3,8 +3,7 @@ require('./assessment-stats.scss') const React = require('react') const DataGridAttempts = require('./data-grid-attempts') const DataGridAssessments = require('./data-grid-assessments') -const AssessmentStatsFilterControls = require('./assessment-stats-filter-controls') -const AssessmentStatsSearchControls = require('./assessment-stats-search-controls') +const AssessmentStatsControls = require('./assessment-stats-controls') const VIEW_MODE_FINAL_ASSESSMENT_SCORE = 'final-assessment-scores' const VIEW_MODE_ALL_ATTEMPTS = 'all-attempts' @@ -12,18 +11,20 @@ const VIEW_MODE_ALL_ATTEMPTS = 'all-attempts' const renderDataGrid = ( viewMode, filteredAttempts, - filterSettings, - searchSettings, - searchContent + controls, + filteredRows, + setFilteredRows, + isDebouncing ) => { switch (viewMode) { case VIEW_MODE_ALL_ATTEMPTS: return ( ) @@ -32,42 +33,86 @@ const renderDataGrid = ( return ( ) } } -const filterAttempts = (attempts, { showIncompleteAttempts, showPreviewAttempts }) => { - if (showIncompleteAttempts && showPreviewAttempts) { +const filterAttempts = (attempts, controls) => { + if (!attempts || attempts.length <= 0) return [] + + attempts = attempts.map(attempt => { + attempt.studentName = attempt.userFirstName + ' ' + attempt.userLastName + return attempt + }) + + if (controls.showIncompleteAttempts && controls.showPreviewAttempts) { return attempts } return attempts.filter( attempt => - (showIncompleteAttempts || attempt.completedAt !== null) && - (showPreviewAttempts || !attempt.isPreview) + (controls.showIncompleteAttempts || attempt.completedAt !== null) && + (controls.showPreviewAttempts || !attempt.isPreview) ) } +const convertDateForDateInput = date => { + // Converting to YYYY-MM-DD format (an acceptable format by ) + let day = date.getDate() + day = day < 10 ? '0' + day : day + + let month = date.getMonth() + 1 + month = month < 10 ? '0' + month : month + + const year = date.getFullYear() + + return `${year}-${month}-${day}` +} + +const getLowerAndUpperDateBounds = attempts => { + if (attempts.length <= 0) return { start: null, end: null } + + const dates = attempts.map(attempt => new Date(attempt.completedAt)) + let end = convertDateForDateInput(new Date(Math.max.apply(Math, dates))) + let start = convertDateForDateInput(new Date(Math.min.apply(Math, dates))) + + return { start, end } +} + const AssessmentStats = ({ attempts, defaultFilterSettings = {} }) => { const [viewMode, setViewMode] = React.useState(VIEW_MODE_FINAL_ASSESSMENT_SCORE) - const [searchSettings, setSearchSettings] = React.useState('') - const [searchContent, setSearchContent] = React.useState('') - const [filterSettings, setFilterSettings] = React.useState( + const [controls, setControls] = React.useState( Object.assign( - { showIncompleteAttempts: false, showPreviewAttempts: false, showAdvancedFields: false }, + { + showIncompleteAttempts: false, + showPreviewAttempts: false, + showAdvancedFields: false, + searchBy: '', + searchContent: { + searchString: '', + date: { start: '', end: '' } + } + }, defaultFilterSettings ) ) + // Used in order to display all possible values based on parameter search in + // obo's hybrid text-input/select component. + const [filteredRows, setFilteredRows] = React.useState([]) + const [isDebouncing, setIsDebouncing] = React.useState(false) + const onChangeViewMode = event => { setViewMode(event.target.value) } - const filteredAttempts = filterAttempts(attempts, filterSettings) + const filteredAttempts = filterAttempts(attempts, controls) + const dateBounds = getLowerAndUpperDateBounds(filteredAttempts) return (
@@ -81,20 +126,25 @@ const AssessmentStats = ({ attempts, defaultFilterSettings = {} }) => {
-
- -
- +
- {renderDataGrid(viewMode, filteredAttempts, filterSettings, searchSettings, searchContent)} + {renderDataGrid( + viewMode, + filteredAttempts, + controls, + filteredRows, + setFilteredRows, + isDebouncing + )} ) } diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats.scss b/packages/app/obojobo-repository/shared/components/stats/assessment-stats.scss index 7f0ab549ed..6044486d98 100644 --- a/packages/app/obojobo-repository/shared/components/stats/assessment-stats.scss +++ b/packages/app/obojobo-repository/shared/components/stats/assessment-stats.scss @@ -42,7 +42,7 @@ } } - .filters { + .controls { > span { display: inline-block; width: 6em; @@ -62,6 +62,7 @@ height: calc(100% - 2px); border: 1px solid $color-shadow; border-radius: $dimension-rounded-radius; + position: relative; .repository--button { display: inline-block; @@ -100,4 +101,11 @@ display: inline-block; margin-top: 1em; } + + .data-table-header { + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + } } diff --git a/packages/app/obojobo-repository/shared/components/stats/assessment-stats.test.js b/packages/app/obojobo-repository/shared/components/stats/assessment-stats.test.js index 30cbee65ec..7a28eb9ce3 100644 --- a/packages/app/obojobo-repository/shared/components/stats/assessment-stats.test.js +++ b/packages/app/obojobo-repository/shared/components/stats/assessment-stats.test.js @@ -20,8 +20,10 @@ describe('AssessmentStats', () => { assessmentId: 'Assessment-1', userId: 'User-Alpha', assessmentScore: null, - completedAt: 'mock-date', - isPreview: false + completedAt: '2021-08-20T13:42:37.462Z', + isPreview: false, + userFirstName: 'mock-first-name', + userLastName: 'mock-last-name' }, { draftId: 'Draft-A', @@ -31,7 +33,9 @@ describe('AssessmentStats', () => { userId: 'User-Alpha', assessmentScore: 10, completedAt: 'mock-date', - isPreview: true + isPreview: true, + userFirstName: 'mock-first-name', + userLastName: 'mock-last-name' }, { draftId: 'Draft-A', @@ -40,8 +44,10 @@ describe('AssessmentStats', () => { assessmentId: 'Assessment-1', userId: 'User-Alpha', assessmentScore: 0, - completedAt: 'mock-date', - isPreview: false + completedAt: '2021-08-09T13:42:37.462Z', + isPreview: false, + userFirstName: 'mock-first-name', + userLastName: 'mock-last-name' }, { draftId: 'Draft-A', @@ -51,15 +57,18 @@ describe('AssessmentStats', () => { userId: 'User-Alpha', assessmentScore: 100, completedAt: null, - isPreview: false + isPreview: false, + userFirstName: 'mock-first-name', + userLastName: 'mock-last-name' } - ] + ], + filteredRows: [] }) test('AssessmentStats renders correctly', () => { - const component = create() + let component = create() - const tree = component.toJSON() + let tree = component.toJSON() expect(tree).toMatchSnapshot() // Change the select to view attempts instead of final assessment score: @@ -73,6 +82,13 @@ describe('AssessmentStats', () => { expect(tree2).toMatchSnapshot() expect(tree).not.toEqual(tree2) + + // AssessmentStats renders with no attempts + component = create() + tree = component.toJSON() + + expect(tree).toMatchSnapshot() + expect(tree).not.toEqual(tree2) }) test('AssessmentStats renders expected number of rows', () => { @@ -154,16 +170,11 @@ describe('AssessmentStats', () => { .findByProps({ className: 'show-incomplete-attempts' }) .props.onChange({ target: { checked: true } }) }) - act(() => { - component.root - .findByProps({ className: 'show-preview-attempts' }) - .props.onChange({ target: { checked: false } }) - }) DataGrid = component.root.findByProps({ className: 'react-data-table-component' }) - expect(DataGrid.props.data.length).toEqual(3) + + expect(DataGrid.props.data.length).toEqual(2) expect(DataGrid.props.data[0].assessmentScore).toEqual(null) expect(DataGrid.props.data[1].assessmentScore).toEqual(0) - expect(DataGrid.props.data[2].assessmentScore).toEqual(100) // Remove incomplete attempts but enable preview attempts act(() => { @@ -194,10 +205,9 @@ describe('AssessmentStats', () => { .props.onChange({ target: { checked: true } }) }) DataGrid = component.root.findByProps({ className: 'react-data-table-component' }) - expect(DataGrid.props.data.length).toEqual(4) + expect(DataGrid.props.data.length).toEqual(3) expect(DataGrid.props.data[0].assessmentScore).toEqual(null) expect(DataGrid.props.data[1].assessmentScore).toEqual(10) expect(DataGrid.props.data[2].assessmentScore).toEqual(0) - expect(DataGrid.props.data[3].assessmentScore).toEqual(100) }) }) diff --git a/packages/app/obojobo-repository/shared/components/stats/data-grid-assessments.jsx b/packages/app/obojobo-repository/shared/components/stats/data-grid-assessments.jsx index 90513b25c1..fea768cc78 100644 --- a/packages/app/obojobo-repository/shared/components/stats/data-grid-assessments.jsx +++ b/packages/app/obojobo-repository/shared/components/stats/data-grid-assessments.jsx @@ -95,6 +95,18 @@ const columns = [ sortable: true, advanced: true }, + { + name: 'Student Name', + selector: 'studentName', + sortable: true, + advanced: false + }, + { + name: 'User Roles', + selector: 'userRoles', + sortable: true, + advanced: true + }, { name: 'Final Assessment Score', sortable: true, @@ -111,7 +123,13 @@ const columns = [ } ] -function DataGridAssessments({ attempts = [], filterSettings, searchSettings, searchContent }) { +function DataGridAssessments({ + attempts = [], + controls, + filteredRows, + setFilteredRows, + isDebouncing +}) { const assessmentScores = getAssessmentStatsFromAttemptStats(attempts) return ( @@ -121,9 +139,10 @@ function DataGridAssessments({ attempts = [], filterSettings, searchSettings, se csvFileName="final-assessment-scores" columns={columns} rows={assessmentScores} - filterSettings={filterSettings} - searchSettings={searchSettings} - searchContent={searchContent} + controls={controls} + filteredRows={filteredRows} + setFilteredRows={setFilteredRows} + isDebouncing={isDebouncing} /> ) diff --git a/packages/app/obojobo-repository/shared/components/stats/data-grid-assessments.test.js b/packages/app/obojobo-repository/shared/components/stats/data-grid-assessments.test.js index 7b42b266c8..45171537d7 100644 --- a/packages/app/obojobo-repository/shared/components/stats/data-grid-assessments.test.js +++ b/packages/app/obojobo-repository/shared/components/stats/data-grid-assessments.test.js @@ -28,16 +28,17 @@ describe('DataGridAssessments', () => { isPreview: true } ], - filterSettings: { + controls: { showIncompleteAttempts: false, showPreviewAttempts: false, - showAdvancedFields: false + showAdvancedFields: false, + searchBy: 'draft-id', + searchContent: { + searchString: 'mock', + date: null + } }, - searchSettings: 'draft-id', - searchContent: { - text: 'mock', - date: null - } + setFilteredRows: () => {} }) test('DataGridAssessments renders correctly', () => { @@ -50,11 +51,15 @@ describe('DataGridAssessments', () => { test('DataGridAssessments renders without attempts', () => { const component = renderer.create( ) @@ -64,16 +69,21 @@ describe('DataGridAssessments', () => { }) test('DataGridAssessments columns with cell components render as expected', () => { - const component = renderer.create( - - ) + } + } + } + + const component = renderer.create() const columns = component.root.findByProps({ className: 'react-data-table-component' }).props .columns diff --git a/packages/app/obojobo-repository/shared/components/stats/data-grid-attempts.jsx b/packages/app/obojobo-repository/shared/components/stats/data-grid-attempts.jsx index 50c746200b..f81adb58b6 100644 --- a/packages/app/obojobo-repository/shared/components/stats/data-grid-attempts.jsx +++ b/packages/app/obojobo-repository/shared/components/stats/data-grid-attempts.jsx @@ -94,6 +94,24 @@ const columns = [ sortable: true, advanced: true }, + { + name: 'Username', + selector: 'userUsername', + sortable: true, + advanced: true + }, + { + name: 'Student Name', + selector: 'studentName', + sortable: true, + advanced: false + }, + { + name: 'User Roles', + selector: 'userRoles', + sortable: true, + advanced: true + }, { name: 'Attempt ID', selector: 'attemptId', @@ -194,7 +212,13 @@ const columns = [ } ] -function DataGridAttempts({ attempts = [], filterSettings, searchSettings, searchContent }) { +function DataGridAttempts({ + attempts = [], + controls, + filteredRows, + setFilteredRows, + isDebouncing +}) { return (
) diff --git a/packages/app/obojobo-repository/shared/components/stats/data-grid-attempts.test.js b/packages/app/obojobo-repository/shared/components/stats/data-grid-attempts.test.js index 322e45bc14..085f62e0bd 100644 --- a/packages/app/obojobo-repository/shared/components/stats/data-grid-attempts.test.js +++ b/packages/app/obojobo-repository/shared/components/stats/data-grid-attempts.test.js @@ -36,16 +36,17 @@ describe('DataGridAttempts', () => { isPreview: false } ], - filterSettings: { + controls: { showIncompleteAttempts: false, showPreviewAttempts: false, - showAdvancedFields: false + showAdvancedFields: false, + searchBy: 'draft-id', + searchContent: { + searchString: 'mock', + date: null + } }, - searchSettings: 'draft-id', - searchContent: { - text: 'mock', - date: null - } + setFilteredRows: () => {} }) test('DataGridAttempts renders correctly', () => { @@ -58,11 +59,15 @@ describe('DataGridAttempts', () => { test('DataGridAttempts renders with no attempts', () => { const component = renderer.create( ) @@ -72,20 +77,21 @@ describe('DataGridAttempts', () => { }) test('DataGridAttempts columns with cell components render as expected', () => { - const component = renderer.create( - - ) + } + } + } + + const component = renderer.create() const columns = component.root.findByProps({ className: 'react-data-table-component' }).props .columns diff --git a/packages/app/obojobo-repository/shared/components/stats/data-grid-scores.jsx b/packages/app/obojobo-repository/shared/components/stats/data-grid-scores.jsx index 8186a25e2e..62551a34f2 100644 --- a/packages/app/obojobo-repository/shared/components/stats/data-grid-scores.jsx +++ b/packages/app/obojobo-repository/shared/components/stats/data-grid-scores.jsx @@ -1,6 +1,8 @@ const React = require('react') -const DataTable = require('react-data-table-component').default +const Spinner = require('../spinner') const ButtonLink = require('../button-link') +const DataTable = require('react-data-table-component').default +const { convertHyphenBasedStringToCamelCase, equals } = require('../../util/misc-stats-util') const getColumns = (columns, showAdvancedFields) => showAdvancedFields ? columns : columns.filter(col => !col.advanced) @@ -15,19 +17,15 @@ const toCSV = (columns, attempts) => { return `${cols}\n${rows.join('\n')}` } -const getFileName = ( - csvFileName, - attempts, - { showIncompleteAttempts, showPreviewAttempts, showAdvancedFields } -) => { +const getFileName = (csvFileName, attempts, controls) => { const drafts = [...new Set(attempts.map(row => row.draftId))] return ( [ csvFileName, - showIncompleteAttempts ? 'with-incomplete-attempts' : '', - showPreviewAttempts ? 'with-preview-attempts' : '', - showAdvancedFields ? 'with-advanced-fields' : '' + controls.showIncompleteAttempts ? 'with-incomplete-attempts' : '', + controls.showPreviewAttempts ? 'with-preview-attempts' : '', + controls.showAdvancedFields ? 'with-advanced-fields' : '' ] .filter(s => s) .join('-') + @@ -36,20 +34,22 @@ const getFileName = ( ) } -const getTableName = (tableName, { showIncompleteAttempts, showPreviewAttempts }) => { - if (showIncompleteAttempts && showPreviewAttempts) { +const getTableName = (tableName, controls) => { + if (controls.showIncompleteAttempts && controls.showPreviewAttempts) { return tableName + ' (including incomplete and preview attempts)' - } else if (showIncompleteAttempts) { + } else if (controls.showIncompleteAttempts) { return tableName + ' (including incomplete attempts)' - } else if (showPreviewAttempts) { + } else if (controls.showPreviewAttempts) { return tableName + ' (including preview attempts)' } return tableName } -const searchDataBasedOnParams = (rows, searchSettings, searchContent) => { - const text = searchContent.text +const searchDataBasedOnParams = (rows, controls) => { + const searchContent = controls.searchContent + + const text = searchContent.searchString const dates = searchContent.date if (rows && rows.length > 0) { @@ -70,16 +70,25 @@ const searchDataBasedOnParams = (rows, searchSettings, searchContent) => { } if (text) { - let param = searchSettings - .split('-') - .map(word => word.charAt(0).toUpperCase() + word.substring(1)) - .join('') - param = param.charAt(0).toLowerCase() + param.substring(1) + let param = convertHyphenBasedStringToCamelCase(controls.searchBy) - // Filtering according to search params (course title, user's first name, etc) - rows = rows.filter(row => { - return row[param] && row[param].toLowerCase().match(text.toLowerCase()) - }) + // Filtering according to search params (course title, student name, etc) + const processedText = text.toLowerCase().trim() + + if (param === 'studentName') { + rows = rows.filter(row => { + return ( + row[param].toLowerCase().trim() && + (row.userFirstName.toLowerCase().match(processedText) || + row.userLastName.toLowerCase().match(processedText) || + row.studentName.toLowerCase().match(processedText)) + ) + }) + } else { + rows = rows.filter(row => { + return row[param] && row[param].toLowerCase().match(processedText) + }) + } } } return rows @@ -90,17 +99,34 @@ function DataGridScores({ rows = [], tableName, csvFileName, - filterSettings, - searchSettings, - searchContent + controls, + filteredRows, + setFilteredRows, + isDebouncing }) { - const filteredColumns = getColumns(columns, filterSettings.showAdvancedFields) - rows = searchDataBasedOnParams(rows, searchSettings, searchContent) + const filteredColumns = getColumns(columns, controls.showAdvancedFields) + rows = searchDataBasedOnParams(rows, controls) + + React.useEffect(() => { + if (rows && rows.length > 0 && !equals(rows, filteredRows)) setFilteredRows(rows) + }, [rows]) + + const tn = getTableName(tableName, controls) + const tableHeaderClassName = 'data-table-header ' + tn + + const tableHeader = ( +
+

{tn}

+ {/* $color-action */} + {isDebouncing && } +
+ ) + return (
0 ? ( - ⬇️   Download {filterSettings.showAdvancedFields ? 'Advanced' : ''} Table - as CSV File ({rows.length} row + ⬇️   Download {controls.showAdvancedFields ? 'Advanced' : ''} Table as CSV + File ({rows.length} row {rows.length === 1 ? '' : 's'}) ) : null} diff --git a/packages/app/obojobo-repository/shared/components/stats/data-grid-scores.test.js b/packages/app/obojobo-repository/shared/components/stats/data-grid-scores.test.js index ba40ddbaec..d8a1dce0b8 100644 --- a/packages/app/obojobo-repository/shared/components/stats/data-grid-scores.test.js +++ b/packages/app/obojobo-repository/shared/components/stats/data-grid-scores.test.js @@ -2,8 +2,6 @@ import React from 'react' import renderer from 'react-test-renderer' import DataGridScores from './data-grid-scores' -const ButtonLink = require('../button-link') - jest.mock('react-data-table-component', () => ({ default: props => (
@@ -32,26 +30,34 @@ describe('DataGridScores', () => { { draftId: 'mock-draft-id', exampleId: 'mock-example-id', - completedAt: '2021-02-04T13:55:30.255Z' + completedAt: '2021-02-04T13:55:30.255Z', + userFirstName: 'mock-first-name', + userLastName: 'mock-last-name', + studentName: 'mock-first-name mock-last-name' }, { draftId: 'mock-draft-id2', exampleId: 'mock-example-id2', - completedAt: '2021-06-21T15:32:30.255Z' + completedAt: '2021-06-21T15:32:30.255Z', + userFirstName: 'mock-first-name', + userLastName: 'mock-last-name', + studentName: 'mock-first-name mock-last-name' } ], tableName: 'Mock Table Name', csvFileName: 'mock-csv-file-name', - filterSettings: { + controls: { showIncompleteAttempts: false, showPreviewAttempts: false, - showAdvancedFields: false + showAdvancedFields: false, + searchBy: 'draft-id', + searchContent: { + searchString: 'mock', + date: null + } }, - searchSettings: 'draft-id', - searchContent: { - text: 'mock', - date: null - } + setFilteredRows: () => {}, + isDebouncing: false }) test('DataGridScores renders correctly', () => { @@ -78,7 +84,16 @@ describe('DataGridScores', () => { ) expect(component.root.findByType('a').props.download).toBe(expectedCSVFileName) @@ -97,16 +112,24 @@ describe('DataGridScores', () => { const component = renderer.create( ) expect( - component.root.findByProps({ className: 'react-data-table-component' }).props.title + component.root + .findByProps({ className: 'react-data-table-component' }) + .props.title.props.className.split('data-table-header')[1] + .trim() ).toBe(expectedTableName) } ) @@ -115,10 +138,15 @@ describe('DataGridScores', () => { const component1 = renderer.create( ) @@ -137,10 +165,15 @@ describe('DataGridScores', () => { const component2 = renderer.create( ) @@ -167,10 +200,15 @@ describe('DataGridScores', () => { const component1 = renderer.create( ) @@ -180,10 +218,15 @@ describe('DataGridScores', () => { const component2 = renderer.create( ) @@ -195,15 +238,16 @@ describe('DataGridScores', () => { const component = renderer.create( ) @@ -231,10 +275,15 @@ describe('DataGridScores', () => { let component = renderer.create( ) @@ -247,10 +296,15 @@ describe('DataGridScores', () => { component = renderer.create( ) @@ -260,10 +314,15 @@ describe('DataGridScores', () => { component = renderer.create( ) @@ -273,10 +332,15 @@ describe('DataGridScores', () => { component = renderer.create( ) @@ -286,10 +350,15 @@ describe('DataGridScores', () => { component = renderer.create( ) @@ -299,10 +368,15 @@ describe('DataGridScores', () => { component = renderer.create( ) @@ -312,10 +386,15 @@ describe('DataGridScores', () => { component = renderer.create( ) @@ -329,103 +408,71 @@ describe('DataGridScores', () => { component = renderer.create( ) expect(component.toJSON()).toMatchSnapshot() - }) - - test('DataGridScores renders "null" in CSV exports where applicable', () => { - const props = getTestProps() - props.filterSettings.showAdvancedFields = true - props.rows.pop() - // Null the field we're not 'searching' by in the only row - props.rows[0].exampleId = null - - const escapedRowString = escape(`"Draft ID","Example ID"\n"${props.rows[0].draftId}","null"`) - const expectedUrlString = `data:text/csv;charset=utf-8,${escapedRowString}` - - const component = renderer.create() - expect(component.root.findByType(ButtonLink).props.url).toEqual(expectedUrlString) - }) - - test('DataGridScores filters rows correctly based on start/end dates', () => { - // Shortcut function to get the filtered rows by checking the 'data' prop of the DataTable child - // This is admittedly a bit of a hack, but it's far easier than any alternatives - const getFilteredRows = component => { - return component.root.findByProps({ className: 'data-grid' }).children[0].props.data - } - - const mockStartDate = new Date() - mockStartDate.setDate(mockStartDate.getDate() - 2) - const mockEndDate = new Date() - mockEndDate.setDate(mockEndDate.getDate() + 2) - - const firstDate = new Date() - firstDate.setDate(firstDate.getDate() - 1) - const secondDate = new Date() - secondDate.setDate(secondDate.getDate() + 1) - const props = getTestProps() - props.rows = [ - { - draftId: 'mock-draft-id', - exampleId: 'mock-example-id', - completedAt: firstDate - }, - { - draftId: 'mock-draft-id2', - exampleId: 'mock-example-id2', - completedAt: secondDate - } - ] - let component - - // First case - no dates - component = renderer.create() - - expect(getFilteredRows(component)).toEqual(props.rows) - - // Second case - both rows between start and end dates + // Three edge cases where, if the user wants to search by student name, + // obo will look for first and last name matches. component = renderer.create( ) + expect(component.toJSON()).toMatchSnapshot() - expect(getFilteredRows(component)).toEqual(props.rows) - - // Third case - start date, no end date component = renderer.create( ) + expect(component.toJSON()).toMatchSnapshot() - // Only the second row has a date after the start date - expect(getFilteredRows(component)).toEqual([props.rows[1]]) - - // Fourth case - end date, no start date component = renderer.create( ) - - // Only the first row has a date before the end date - expect(getFilteredRows(component)).toEqual([props.rows[0]]) + expect(component.toJSON()).toMatchSnapshot() }) }) diff --git a/packages/app/obojobo-repository/shared/util/get-assessment-stats-from-attempt-stats.js b/packages/app/obojobo-repository/shared/util/get-assessment-stats-from-attempt-stats.js index aa293956bd..8fdd6aa13b 100644 --- a/packages/app/obojobo-repository/shared/util/get-assessment-stats-from-attempt-stats.js +++ b/packages/app/obojobo-repository/shared/util/get-assessment-stats-from-attempt-stats.js @@ -17,6 +17,7 @@ const getAssessmentStatsFromAttemptStats = attempts => { username: attemptRow.userUsername, userFirstName: attemptRow.userFirstName, userLastName: attemptRow.userLastName, + studentName: `${attemptRow.userFirstName} ${attemptRow.userLastName}`, userRoles: attemptRow.userRoles, isPreview: attemptRow.isPreview, contextId: attemptRow.contextId, diff --git a/packages/app/obojobo-repository/shared/util/misc-stats-util.js b/packages/app/obojobo-repository/shared/util/misc-stats-util.js new file mode 100644 index 0000000000..94af37e34c --- /dev/null +++ b/packages/app/obojobo-repository/shared/util/misc-stats-util.js @@ -0,0 +1,16 @@ +const convertHyphenBasedStringToCamelCase = s => { + // E.g. camel-case ---> camelCase + let camel = s + .split('-') + .map(word => word.charAt(0).toUpperCase() + word.substring(1)) + .join('') + camel = camel.charAt(0).toLowerCase() + camel.substring(1) + return camel +} + +const equals = (arr1, arr2) => JSON.stringify(arr1) === JSON.stringify(arr2) + +module.exports = { + convertHyphenBasedStringToCamelCase, + equals +} diff --git a/packages/app/obojobo-repository/shared/util/misc-stats-util.test.js b/packages/app/obojobo-repository/shared/util/misc-stats-util.test.js new file mode 100644 index 0000000000..c9955711de --- /dev/null +++ b/packages/app/obojobo-repository/shared/util/misc-stats-util.test.js @@ -0,0 +1,131 @@ +const { equals, convertHyphenBasedStringToCamelCase } = require('./misc-stats-util') + +describe('miscStatsUtil', () => { + test('equals returns expected values', () => { + let arr1 = [ + { + assessmentId: 'my-assessment', + courseTitle: null, + draftContentId: '32e82b43-b6d0-4221-ae86-f2d95dd5561e', + draftId: 'bc94db0f-845b-4f77-9286-fe13d41f72d1', + isPreview: true, + moduleTitle: 'My Obojobo Module Title', + resourceLinkId: 'preview', + userFirstName: 'Test', + userLastName: 'Instructor1' + }, + { + assessmentId: 'my-assessment', + courseTitle: null, + draftContentId: '32e82b43-b6d0-4221-ae86-f2d95dd5561e', + draftId: 'bc94db0f-845b-4f77-9286-fe13d41f72d1', + isPreview: true, + moduleTitle: 'My Obojobo Module Title', + resourceLinkId: 'preview', + userFirstName: 'Test', + userLastName: 'Instructor1' + } + ] + + let arr2 = [ + { + assessmentId: 'my-assessment', + courseTitle: null, + draftContentId: '32e82b43-b6d0-4221-ae86-f2d95dd5561e', + draftId: 'bc94db0f-845b-4f77-9286-fe13d41f72d1', + isPreview: true, + moduleTitle: 'My Obojobo Module Title', + userFirstName: 'Test', + userLastName: 'Instructor1', + resourceLinkId: 'preview' + }, + { + assessmentId: 'my-assessment', + courseTitle: null, + draftContentId: '32e82b43-b6d0-4221-ae86-f2d95dd5561e', + draftId: 'bc94db0f-845b-4f77-9286-fe13d41f72d1', + isPreview: true, + moduleTitle: 'My Obojobo Module Title', + resourceLinkId: 'preview', + userFirstName: 'Test', + userLastName: 'Instructor1' + } + ] + + expect(equals(arr1, arr2)).toBe(false) + + arr1 = [ + { + assessmentId: 'my-assessment', + courseTitle: null, + draftContentId: '32e82b43-b6d0-4221-ae86-f2d95dd5561e', + draftId: 'bc94db0f-845b-4f77-9286-fe13d41f72d1', + isPreview: true, + moduleTitle: 'My Obojobo Module Title', + resourceLinkId: 'preview', + userFirstName: 'Test', + userLastName: 'Instructor1' + } + ] + + arr2 = [ + { + assessmentId: 'my-assessment-two', + courseTitle: null, + draftContentId: '32e82b43-b6d0-4221-ae86-f2d95dd5561e', + draftId: 'bc94db0f-845b-4f77-9286-fe13d41f72d1', + isPreview: true, + moduleTitle: 'My Obojobo Module Title', + resourceLinkId: 'preview', + userFirstName: 'Test', + userLastName: 'Instructor1' + } + ] + + expect(equals(arr1, arr2)).toBe(false) + + arr1 = [ + { + assessmentId: 'my-assessment', + courseTitle: null, + draftContentId: '32e82b43-b6d0-4221-ae86-f2d95dd5561e', + draftId: 'bc94db0f-845b-4f77-9286-fe13d41f72d1', + isPreview: true, + moduleTitle: 'My Obojobo Module Title', + resourceLinkId: 'preview', + userFirstName: 'Test', + userLastName: 'Instructor1' + } + ] + + arr2 = [ + { + assessmentId: 'my-assessment', + courseTitle: null, + draftContentId: '32e82b43-b6d0-4221-ae86-f2d95dd5561e', + draftId: 'bc94db0f-845b-4f77-9286-fe13d41f72d1', + isPreview: true, + moduleTitle: 'My Obojobo Module Title', + resourceLinkId: 'preview', + userFirstName: 'Test', + userLastName: 'Instructor1' + } + ] + + expect(equals(arr1, arr2)).toBe(true) + }) + + test('convertHyphenBasedStringToCamelCase converts strings as expected', () => { + let str = convertHyphenBasedStringToCamelCase('mock-student-name') + expect(str).toBe('mockStudentName') + + str = convertHyphenBasedStringToCamelCase('o-b-o') + expect(str).toBe('oBO') + + str = convertHyphenBasedStringToCamelCase('123') + expect(str).toBe('123') + + str = convertHyphenBasedStringToCamelCase('1-2-3') + expect(str).toBe('123') + }) +}) diff --git a/packages/obonode/obojobo-chunks-abstract-assessment/package.json b/packages/obonode/obojobo-chunks-abstract-assessment/package.json index 06ca2a8003..762e6b161a 100644 --- a/packages/obonode/obojobo-chunks-abstract-assessment/package.json +++ b/packages/obonode/obojobo-chunks-abstract-assessment/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-abstract-assessment", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "AbstractAssessment chunk for Obojobo", "scripts": { @@ -28,8 +28,8 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-chunks-question": "^16.0.1", - "obojobo-lib-utils": "^16.0.1" + "obojobo-chunks-question": "^17.0.0-alpha.0", + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "devDependencies": { "lint-staged": "^10.2.2" diff --git a/packages/obonode/obojobo-chunks-action-button/package.json b/packages/obonode/obojobo-chunks-action-button/package.json index 0322c79920..d4c0c186a8 100644 --- a/packages/obonode/obojobo-chunks-action-button/package.json +++ b/packages/obonode/obojobo-chunks-action-button/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-action-button", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "scripts": { "test": "TZ='America/New_York' jest --verbose", @@ -20,7 +20,7 @@ ] }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-break/package.json b/packages/obonode/obojobo-chunks-break/package.json index e2d8e7378a..856e4e9922 100644 --- a/packages/obonode/obojobo-chunks-break/package.json +++ b/packages/obonode/obojobo-chunks-break/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-break", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Break content chunk for Obojobo", "scripts": { @@ -21,7 +21,7 @@ ] }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-code/package.json b/packages/obonode/obojobo-chunks-code/package.json index 559a426445..3ba905c67d 100644 --- a/packages/obonode/obojobo-chunks-code/package.json +++ b/packages/obonode/obojobo-chunks-code/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-code", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Code content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-excerpt/package.json b/packages/obonode/obojobo-chunks-excerpt/package.json index 8f4f0ea5cb..c940ceeec2 100644 --- a/packages/obonode/obojobo-chunks-excerpt/package.json +++ b/packages/obonode/obojobo-chunks-excerpt/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-excerpt", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Excerpt content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-figure/package.json b/packages/obonode/obojobo-chunks-figure/package.json index 0a96049ebd..b25036012c 100644 --- a/packages/obonode/obojobo-chunks-figure/package.json +++ b/packages/obonode/obojobo-chunks-figure/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-figure", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Figure content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-heading/package.json b/packages/obonode/obojobo-chunks-heading/package.json index a3ead51d6b..f2a69b2b14 100644 --- a/packages/obonode/obojobo-chunks-heading/package.json +++ b/packages/obonode/obojobo-chunks-heading/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-heading", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Heading content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-html/package.json b/packages/obonode/obojobo-chunks-html/package.json index e25a6efba3..a9c56b0243 100644 --- a/packages/obonode/obojobo-chunks-html/package.json +++ b/packages/obonode/obojobo-chunks-html/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-html", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "HTML content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-iframe/package.json b/packages/obonode/obojobo-chunks-iframe/package.json index 35f019364e..392c9676f2 100644 --- a/packages/obonode/obojobo-chunks-iframe/package.json +++ b/packages/obonode/obojobo-chunks-iframe/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-iframe", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "IFrame content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-list/package.json b/packages/obonode/obojobo-chunks-list/package.json index d0f252f432..0c7faf0083 100644 --- a/packages/obonode/obojobo-chunks-list/package.json +++ b/packages/obonode/obojobo-chunks-list/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-list", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "List content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-materia/package.json b/packages/obonode/obojobo-chunks-materia/package.json index 2d7ff86436..160fc2cdca 100644 --- a/packages/obonode/obojobo-chunks-materia/package.json +++ b/packages/obonode/obojobo-chunks-materia/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-materia", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Materia content chunk for Obojobo", "scripts": { @@ -35,9 +35,9 @@ "lint-staged": "^10.5.4" }, "peerDependencies": { - "obojobo-chunks-iframe": "^16.0.1", - "obojobo-document-engine": "^16.0.1", - "obojobo-lib-utils": "^16.0.1" + "obojobo-chunks-iframe": "^17.0.0-alpha.0", + "obojobo-document-engine": "^17.0.0-alpha.0", + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-math-equation/package.json b/packages/obonode/obojobo-chunks-math-equation/package.json index b49e161320..0e2e91a41c 100644 --- a/packages/obonode/obojobo-chunks-math-equation/package.json +++ b/packages/obonode/obojobo-chunks-math-equation/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-math-equation", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "MathEquation content chunk for Obojobo", "scripts": { @@ -30,7 +30,7 @@ "katex": "^0.13.1" }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-multiple-choice-assessment/package.json b/packages/obonode/obojobo-chunks-multiple-choice-assessment/package.json index 73a0120afa..19f86cf7c7 100644 --- a/packages/obonode/obojobo-chunks-multiple-choice-assessment/package.json +++ b/packages/obonode/obojobo-chunks-multiple-choice-assessment/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-multiple-choice-assessment", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "MCAssessment chunk for Obojobo", "scripts": { @@ -27,8 +27,8 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-chunks-question": "^16.0.1", - "obojobo-lib-utils": "^16.0.1" + "obojobo-chunks-question": "^17.0.0-alpha.0", + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-numeric-assessment/package.json b/packages/obonode/obojobo-chunks-numeric-assessment/package.json index 98e744c8fd..a50e83eea5 100644 --- a/packages/obonode/obojobo-chunks-numeric-assessment/package.json +++ b/packages/obonode/obojobo-chunks-numeric-assessment/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-numeric-assessment", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "NumericAssessment chunk for Obojobo", "scripts": { @@ -30,8 +30,8 @@ "big.js": "^6.1.1" }, "peerDependencies": { - "obojobo-chunks-question": "^16.0.1", - "obojobo-lib-utils": "^16.0.1" + "obojobo-chunks-question": "^17.0.0-alpha.0", + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-question-bank/package.json b/packages/obonode/obojobo-chunks-question-bank/package.json index 65dcc980fa..a8d969e289 100644 --- a/packages/obonode/obojobo-chunks-question-bank/package.json +++ b/packages/obonode/obojobo-chunks-question-bank/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-question-bank", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "QuestionBank chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-question/package.json b/packages/obonode/obojobo-chunks-question/package.json index 645e88319d..4b40db0d60 100644 --- a/packages/obonode/obojobo-chunks-question/package.json +++ b/packages/obonode/obojobo-chunks-question/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-question", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Question content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-table/package.json b/packages/obonode/obojobo-chunks-table/package.json index 4453d69838..19d25e079b 100644 --- a/packages/obonode/obojobo-chunks-table/package.json +++ b/packages/obonode/obojobo-chunks-table/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-table", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Table content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-text/package.json b/packages/obonode/obojobo-chunks-text/package.json index 69f06ea077..53cf1a95d5 100644 --- a/packages/obonode/obojobo-chunks-text/package.json +++ b/packages/obonode/obojobo-chunks-text/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-text", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Text content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-chunks-youtube/package.json b/packages/obonode/obojobo-chunks-youtube/package.json index 64ca40e17a..cf257e2eaf 100644 --- a/packages/obonode/obojobo-chunks-youtube/package.json +++ b/packages/obonode/obojobo-chunks-youtube/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-chunks-youtube", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Youtube content chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-modules-module/package.json b/packages/obonode/obojobo-modules-module/package.json index ec70e63afd..c880c04cdf 100644 --- a/packages/obonode/obojobo-modules-module/package.json +++ b/packages/obonode/obojobo-modules-module/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-modules-module", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Default Module node for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-pages-page/package.json b/packages/obonode/obojobo-pages-page/package.json index 5b8f411060..59876685db 100644 --- a/packages/obonode/obojobo-pages-page/package.json +++ b/packages/obonode/obojobo-pages-page/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-pages-page", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Page chunk for Obojobo", "scripts": { @@ -27,8 +27,8 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-document-engine": "^16.0.1", - "obojobo-lib-utils": "^16.0.1" + "obojobo-document-engine": "^17.0.0-alpha.0", + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-sections-assessment/package.json b/packages/obonode/obojobo-sections-assessment/package.json index 012e3c2a03..6d25c9a738 100644 --- a/packages/obonode/obojobo-sections-assessment/package.json +++ b/packages/obonode/obojobo-sections-assessment/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-sections-assessment", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Assessment section for Obojobo", "scripts": { @@ -27,8 +27,8 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-document-engine": "^16.0.1", - "obojobo-lib-utils": "^16.0.1" + "obojobo-document-engine": "^17.0.0-alpha.0", + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/obonode/obojobo-sections-content/package.json b/packages/obonode/obojobo-sections-content/package.json index 8f2c823006..d93cf9f052 100644 --- a/packages/obonode/obojobo-sections-content/package.json +++ b/packages/obonode/obojobo-sections-content/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-sections-content", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Content section chunk for Obojobo", "scripts": { @@ -27,7 +27,7 @@ "singleQuote": true }, "peerDependencies": { - "obojobo-lib-utils": "^16.0.1" + "obojobo-lib-utils": "^17.0.0-alpha.0" }, "jest": { "testMatch": [ diff --git a/packages/util/eslint-config-obojobo/package.json b/packages/util/eslint-config-obojobo/package.json index 78ee337e8f..4b1c396f4f 100644 --- a/packages/util/eslint-config-obojobo/package.json +++ b/packages/util/eslint-config-obojobo/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-obojobo", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "scripts": { "lint": "echo 'not implemented'", diff --git a/packages/util/obojobo-lib-utils/package.json b/packages/util/obojobo-lib-utils/package.json index 2c2c550701..9140e0e299 100644 --- a/packages/util/obojobo-lib-utils/package.json +++ b/packages/util/obojobo-lib-utils/package.json @@ -1,6 +1,6 @@ { "name": "obojobo-lib-utils", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "description": "Assortment of reusable parts for obojobo libraries.", "scripts": { diff --git a/packages/util/stylelint-config-obojobo/package.json b/packages/util/stylelint-config-obojobo/package.json index dbbdf45452..292416610e 100644 --- a/packages/util/stylelint-config-obojobo/package.json +++ b/packages/util/stylelint-config-obojobo/package.json @@ -1,6 +1,6 @@ { "name": "stylelint-config-obojobo", - "version": "16.0.1", + "version": "17.0.0-alpha.0", "license": "AGPL-3.0-only", "scripts": { "lint": "echo 'not implemented'", diff --git a/yarn.lock b/yarn.lock index 462ee1ef8d..9b9016ac1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1394,10 +1394,10 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== +"@jridgewell/source-map@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.3.tgz#8108265659d4c33e72ffe14e33d6cc5eb59f2fda" + integrity sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg== dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" @@ -2094,6 +2094,21 @@ npmlog "^4.1.2" write-file-atomic "^3.0.3" +"@mapbox/node-pre-gyp@^1.0.0": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz#8e6735ccebbb1581e5a7e652244cadc8a844d03c" + integrity sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA== + dependencies: + detect-libc "^2.0.0" + https-proxy-agent "^5.0.0" + make-dir "^3.1.0" + node-fetch "^2.6.7" + nopt "^5.0.0" + npmlog "^5.0.1" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.11" + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -2532,11 +2547,16 @@ resolved "https://registry.yarnpkg.com/@types/esrever/-/esrever-0.2.0.tgz#96404a2284b2c7527f08a1e957f8a31705f9880f" integrity sha512-5NI6TeGzVEy/iBcuYtcPzzIC6EqlfQ2+UZ54vT0ulq8bPNGAy8UJD+XcsAyEOcnYFUjOVWuUV+k4/rVkxt9/XQ== -"@types/estree@*", "@types/estree@^0.0.51": +"@types/estree@*": version "0.0.51" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== + "@types/glob@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" @@ -2725,125 +2745,125 @@ dependencies: "@types/yargs-parser" "*" -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^1.0.2": @@ -2907,10 +2927,10 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== acorn-jsx@^5.3.1: version "5.3.1" @@ -2927,11 +2947,16 @@ acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.5, acorn@^8.5.0, acorn@^8.7.1: +acorn@^8.0.5, acorn@^8.7.1: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +acorn@^8.8.2: + version "8.9.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.9.0.tgz#78a16e3b2bcc198c10822786fa6679e245db5b59" + integrity sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ== + add-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" @@ -3124,6 +3149,14 @@ aproba@^1.0.3: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== +are-we-there-yet@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" + integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + are-we-there-yet@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" @@ -4573,12 +4606,12 @@ caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.300011 integrity sha512-JUdjWpcxfJ9IPamy2f5JaRDCaqJOxDzOSKtbdx4rH9VivMd1vIzoPumsJa9LoMIi4Fx2BV2KZOxWhNkBjaYivQ== canvas@^2.6.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/canvas/-/canvas-2.7.0.tgz#3ce3fe30c69595ccd2bd1232967e681c026be61e" - integrity sha512-pzCxtkHb+5su5MQjTtepMDlIOtaXo277x0C0u3nMOxtkhTyQ+h2yNKhlROAaDllWgRyePAUitC08sXw26Eb6aw== + version "2.11.2" + resolved "https://registry.yarnpkg.com/canvas/-/canvas-2.11.2.tgz#553d87b1e0228c7ac0fc72887c3adbac4abbd860" + integrity sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw== dependencies: - nan "^2.14.0" - node-pre-gyp "^0.15.0" + "@mapbox/node-pre-gyp" "^1.0.0" + nan "^2.17.0" simple-get "^3.0.3" capture-exit@^2.0.0: @@ -4722,7 +4755,7 @@ chokidar@^3.2.2: optionalDependencies: fsevents "~2.3.1" -chownr@^1.1.1, chownr@^1.1.4: +chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -4941,7 +4974,7 @@ color-string@^1.9.0: color-name "^1.0.0" simple-swizzle "^0.2.2" -color-support@^1.1.3: +color-support@^1.1.2, color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== @@ -4954,7 +4987,7 @@ color@^4.2.3: color-convert "^2.0.1" color-string "^1.9.0" -colorette@^1.2.1, colorette@^1.2.2: +colorette@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== @@ -5803,11 +5836,6 @@ detect-indent@^6.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-libc@^2.0.0, detect-libc@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd" @@ -6083,10 +6111,10 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enhanced-resolve@^5.10.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" - integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -6228,10 +6256,10 @@ es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstract@^1.18.0-next.1, es-abstrac string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.0" -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-module-lexer@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.0.tgz#6be9c9e0b4543a60cd166ff6f8b4e9dae0b0c16f" + integrity sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA== es-to-primitive@^1.2.1: version "1.2.1" @@ -6969,13 +6997,6 @@ fs-extra@^9.1.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -7026,6 +7047,21 @@ functions-have-names@^1.2.2: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.2.tgz#98d93991c39da9361f8e50b337c4f6e41f120e21" integrity sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA== +gauge@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" + integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.2" + console-control-strings "^1.0.0" + has-unicode "^2.0.1" + object-assign "^4.1.1" + signal-exit "^3.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.2" + gauge@^4.0.3: version "4.0.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" @@ -7714,7 +7750,7 @@ i@0.3.x: resolved "https://registry.yarnpkg.com/i/-/i-0.3.7.tgz#2a7437a923d59c14b17243dc63a549af24d85799" integrity sha512-FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q== -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -7748,7 +7784,7 @@ ignore-styles@^5.0.1: resolved "https://registry.yarnpkg.com/ignore-styles/-/ignore-styles-5.0.1.tgz#b49ef2274bdafcd8a4880a966bfe38d1a0bf4671" integrity sha1-tJ7yJ0va/NikiAqWa/440aC/RnE= -ignore-walk@^3.0.1, ignore-walk@^3.0.3: +ignore-walk@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== @@ -9992,14 +10028,6 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" @@ -10021,13 +10049,6 @@ minipass@^4.0.0: dependencies: yallist "^4.0.0" -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -10058,7 +10079,7 @@ mkdirp-infer-owner@^2.0.0: infer-owner "^1.0.4" mkdirp "^1.0.3" -mkdirp@0.x.x, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp@0.x.x, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -10164,7 +10185,7 @@ mute-stream@0.0.8, mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nan@^2.12.1, nan@^2.14.0, nan@^2.17.0: +nan@^2.12.1, nan@^2.17.0: version "2.17.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== @@ -10174,10 +10195,10 @@ nanoid@^2.1.0: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== -nanoid@^3.1.20: - version "3.1.22" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" - integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== nanomatch@^1.2.9: version "1.2.13" @@ -10221,15 +10242,6 @@ nearley@^2.7.10: railroad-diagrams "^1.0.0" randexp "0.4.6" -needle@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.6.0.tgz#24dbb55f2509e2324b4a99d61f413982013ccdbe" - integrity sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - negotiator@0.6.3, negotiator@^0.6.2, negotiator@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" @@ -10264,6 +10276,13 @@ node-fetch@^2.6.1: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.6.7: + version "2.6.11" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25" + integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w== + dependencies: + whatwg-url "^5.0.0" + node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -10312,22 +10331,6 @@ node-notifier@^8.0.0: uuid "^8.3.0" which "^2.0.2" -node-pre-gyp@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.15.0.tgz#c2fc383276b74c7ffa842925241553e8b40f1087" - integrity sha512-7QcZa8/fpaU/BKenjcaeFF9hLz2+7S9AqyXFhlH/rilsQ/hPZKK32RtR5EQHJElgu+q5RfbJ34KriI79UWaorA== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.3" - needle "^2.5.0" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4.4.2" - node-releases@^1.1.70: version "1.1.71" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" @@ -10369,14 +10372,6 @@ nodemon@^2.0.4: undefsafe "^2.0.3" update-notifier "^4.1.0" -nopt@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" - integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== - dependencies: - abbrev "1" - osenv "^0.1.4" - nopt@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" @@ -10443,7 +10438,7 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== -npm-bundled@^1.0.1, npm-bundled@^1.1.1: +npm-bundled@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== @@ -10485,15 +10480,6 @@ npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.0, npm-pack semver "^7.3.4" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.6: - version "1.4.8" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" - integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - npm-normalize-package-bin "^1.0.1" - npm-packlist@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.1.4.tgz#40e96b2b43787d0546a574542d01e066640d09da" @@ -10542,7 +10528,7 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2: +npmlog@^4.0.1, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -10552,6 +10538,16 @@ npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2: gauge "~2.7.3" set-blocking "~2.0.0" +npmlog@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" + integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== + dependencies: + are-we-there-yet "^2.0.0" + console-control-strings "^1.1.0" + gauge "^3.0.0" + set-blocking "^2.0.0" + npmlog@^6.0.0: version "6.0.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" @@ -10780,19 +10776,11 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - p-cancelable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" @@ -11208,6 +11196,16 @@ pgpass@1.x: dependencies: split2 "^3.1.1" +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + picomatch@^2.0.4, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" @@ -11428,22 +11426,21 @@ postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.6, postcss@^7.0.7: - version "7.0.36" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" - integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== dependencies: - chalk "^2.4.2" + picocolors "^0.2.1" source-map "^0.6.1" - supports-color "^6.1.0" postcss@^8.2.8: - version "8.2.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.8.tgz#0b90f9382efda424c4f0f69a2ead6f6830d08ece" - integrity sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw== + version "8.4.24" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df" + integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== dependencies: - colorette "^1.2.2" - nanoid "^3.1.20" - source-map "^0.6.1" + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" postgres-array@~2.0.0: version "2.0.0" @@ -12488,7 +12485,7 @@ rimraf@2.6.3: dependencies: glob "^7.1.3" -rimraf@2.x.x, rimraf@^2.6.1, rimraf@^2.6.3: +rimraf@2.x.x, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -12534,7 +12531,7 @@ rxjs@^6.6.0, rxjs@^6.6.6: dependencies: tslib "^1.9.0" -safe-buffer@*, safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0: +safe-buffer@*, safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -12642,7 +12639,7 @@ schema-utils@^2.6.5: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: +schema-utils@^3.0.0, schema-utils@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== @@ -12651,6 +12648,15 @@ schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" +schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + scroll-into-view-if-needed@^2.2.20: version "2.2.28" resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.28.tgz#5a15b2f58a52642c88c8eca584644e01703d645a" @@ -12696,9 +12702,9 @@ semver-diff@^3.1.1: semver "^6.3.0" "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== semver@7.0.0: version "7.0.0" @@ -12706,14 +12712,14 @@ semver@7.0.0: integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" @@ -13152,6 +13158,11 @@ source-list-map@^2.0.0, source-list-map@^2.0.1: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -13945,19 +13956,6 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^4.4.2: - version "4.4.19" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" - integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== - dependencies: - chownr "^1.1.4" - fs-minipass "^1.2.7" - minipass "^2.9.0" - minizlib "^1.3.3" - mkdirp "^0.5.5" - safe-buffer "^5.2.1" - yallist "^3.1.1" - tar@^6.0.2, tar@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" @@ -14011,24 +14009,24 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^5.1.3: - version "5.3.7" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7" - integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== +terser-webpack-plugin@^5.3.7: + version "5.3.9" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" + integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== dependencies: "@jridgewell/trace-mapping" "^0.3.17" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.1" - terser "^5.16.5" + terser "^5.16.8" -terser@^5.16.5: - version "5.16.6" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.6.tgz#f6c7a14a378ee0630fbe3ac8d1f41b4681109533" - integrity sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg== +terser@^5.16.8: + version "5.18.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.18.1.tgz#6d8642508ae9fb7b48768e48f16d675c89a78460" + integrity sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ== dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" commander "^2.20.0" source-map-support "~0.5.20" @@ -14988,21 +14986,21 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.30.0: - version "5.76.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.0.tgz#f9fb9fb8c4a7dbdcd0d56a98e56b8a942ee2692c" - integrity sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA== + version "5.88.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.0.tgz#a07aa2f8e7a64a8f1cec0c6c2e180e3cb34440c8" + integrity sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw== dependencies: "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" acorn "^8.7.1" - acorn-import-assertions "^1.7.6" + acorn-import-assertions "^1.9.0" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" @@ -15011,9 +15009,9 @@ webpack@^5.30.0: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.1.0" + schema-utils "^3.2.0" tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" + terser-webpack-plugin "^5.3.7" watchpack "^2.4.0" webpack-sources "^3.2.3" @@ -15102,7 +15100,7 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -wide-align@^1.1.5: +wide-align@^1.1.2, wide-align@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== @@ -15134,9 +15132,9 @@ winston@2.x: stack-trace "0.0.x" word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" + integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== wordwrap@^1.0.0: version "1.0.0" @@ -15336,11 +15334,6 @@ yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"