Ghost/ghost/admin
Daniel Lockyer 0193ad90bb Protected against quick escapes when loading post
fix https://linear.app/tryghost/issue/SLO-180/typeerror-cannot-read-properties-of-null-reading-displayname

- in the event you click on a post and then press Back really quickly,
  `this.post` will be null because the post is not loaded
- the code here fails because it tries to read a property from `null`
- we can protect against that by using optional chaining on the property
2024-07-29 09:40:54 +02:00
..
app Protected against quick escapes when loading post 2024-07-29 09:40:54 +02:00
config
lib Updated timezone dependency (#20570) 2024-07-09 16:31:36 -05:00
mirage 🐛 Fixed listing pages in Admin (#20633) 2024-07-20 20:49:21 +00:00
public/assets
tests 🐛 Fixed listing pages in Admin (#20633) 2024-07-20 20:49:21 +00:00
.editorconfig
.ember-cli
.eslintignore
.eslintrc.js
.lint-todo
.lint-todorc.js
.template-lintrc.js
.watchmanconfig
ember-cli-build.js
ember-cli-update.json
jsconfig.json
package.json v5.88.2 2024-07-26 15:05:23 +00:00
README.md
testem.js

Ghost-Admin

This is the home of the Ember.js-based Admin app that ships with Ghost.

Test

Running tests in the browser

Run all tests in the browser by running yarn dev in the Ghost monorepo and visiting http://localhost:4200/tests. The code is hotloaded on change and you can filter which tests to run.

Testing public documentation


Tip: You can use await this.pauseTest() in your tests to temporarily pause the execution of browser tests. Use the browser console to inspect and debug the DOM, then resume tests by running resumeTest() directly in the browser console (docs)

Running tests in the CLI

To build and run tests in the CLI, you can use:

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.


However, this is very slow when writing tests, as it requires the app to be rebuilt on every change. Instead, create a separate watching build with:

yarn build --environment=test -w -o="dist-test"

Then run tests with:

TZ=UTC yarn test 1 --reporter dot --path="dist-test"

The --reporter dot shows a dot (.) for every successful test, and F for every failed test. It renders the output of the failed tests only.


To run a specific test file:

TZ=UTC yarn test 1 --reporter dot --path="dist-test" -mp=tests/unit/helpers/gh-count-characters-test.js

To have a full list of the available options, run

ember exam --help

Copyright & License

Copyright (c) 2013-2024 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.