a4a4136c2f
no issue - switched to using the `window.ReactDOM` instance that is created when importing the react/react-dom libraries - React stores state/component references inside of the ReactDOM instance when rendering so we need to make sure all renders use the same instance otherwise it loses track of which component a hook belongs to - cleaned up unnecessary vendor shims and `prop-types` import - `react` and `react-dom` vendor shims are unused when using the globals instead of imports - `prop-types` import+shim is not required as it's part of the `@tryghost/koenig-react` build unlike the earlier direct import of `react-mobiledoc-editor` |
||
---|---|---|
.. | ||
.github | ||
app | ||
config | ||
lib | ||
mirage | ||
public/assets | ||
tests | ||
.csscomb.json | ||
.editorconfig | ||
.ember-cli | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.lint-todo | ||
.lint-todorc.js | ||
.template-lintrc.js | ||
.watchmanconfig | ||
ember-cli-build.js | ||
ember-cli-update.json | ||
Gruntfile.js | ||
LICENSE | ||
package.json | ||
README.md | ||
renovate.json | ||
SECURITY.md | ||
testem.js | ||
yarn.lock |
Ghost-Admin
This is the home of Ember.js based admin app that ships with Ghost.
Do you want to set up a Ghost blog? Check the getting started guide
Do you want to modify or contribute to Ghost-Admin? Please read how to install from source and swing by our forum if you need any help 😄
Running tests
Build and run tests once:
TZ=UTC yarn test
Note the TZ=UTC
environment variable which is currently required to get tests working if your system timezone doesn't match UTC.
If you are serving the admin app (e.g., when running yarn serve
, or when running yarn dev
in the main Ghost project), you can also run the tests in your browser by going to http://localhost:4200/tests.
This has the additional benefit that you can use await this.pauseTest()
in your tests to temporarily pause tests (best to also add this.timeout(0);
to avoid timeouts). This allows you to inspect the DOM in your browser to debug tests. You can resume tests by running resumeTest()
in your browser console.
Writing tests
When writing tests and not using the http://localhost:4200/tests
browser tests, it can be easier to have a separate watching build that builds the project for the test environment (this drastically reduces the time you have to wait when running tests):
yarn build --environment=test -w -o="dist-test"
After that, you can easily run tests locally:
Run all tests:
TZ=UTC yarn test 1 --path="dist-test"
To have a cleaner output:
TZ=UTC yarn test 1 --reporter dot --path="dist-test"
This shows a dot (.
) for every successful test, and F
for every failed test. At the end, it will only show the output of the failed tests.
To run a specific test file:
TZ=UTC yarn test 1 --reporter dot --path="dist-test" -mp=tests/acceptance/settings/newsletters-test.js
Hint: you can easily copy the path of a test in VSCode by right clicking on the test file and choosing Copy Relative Path
.
To have a full list of the available options, run
ember exam --help
Have a bug or issue?
Bugs and issues (even if they only affect the admin app) should be opened on the core Ghost repository.
Copyright & License
Copyright (c) 2013-2022 Ghost Foundation - Released under the MIT license. Ghost and the Ghost Logo are trademarks of Ghost Foundation Ltd. Please see our trademark policy for info on acceptable usage.