Ghost/ghost/admin
Kevin Ansfield 64fbf3b9ee Updated Admin editor unit tests to use real model instances
ref https://linear.app/tryghost/issue/PLG-176

- we recently had to revert code because it caused unexpected problems despite the unit tests passing
- the setup for the editor unit tests was very basic and did not represent the real world because it tested a simple EmberObject instance rather than an Ember Model instance meaning the tests weren't covering the real code paths
- updated the unit test with a more realistic environment ready for re-working the reverted code+tests
2024-08-19 16:13:49 +01:00
..
app 🐛 Fixed autosave not triggering when in-editor excerpt is changed (#20785) 2024-08-19 14:38:00 +00:00
config Cleaned up websockets experiment (#20547) 2024-07-04 16:08:06 +00:00
lib Updated timezone dependency (#20570) 2024-07-09 16:31:36 -05:00
mirage 🎨 Added “Copy post link” to posts list context menu (#20760) 2024-08-15 16:09:48 +02:00
public/assets Improved publishing flow end screen (#20701) 2024-08-15 18:22:32 +08:00
tests Updated Admin editor unit tests to use real model instances 2024-08-19 16:13:49 +01:00
.editorconfig
.ember-cli
.eslintignore
.eslintrc.js Added eslint rule for file naming convention 2023-05-09 12:34:34 -04:00
.lint-todo Added Admin acceptance test for post revision restoration 2024-06-04 20:16:19 +01:00
.lint-todorc.js
.template-lintrc.js Update dependency ember-template-lint to v5.3.0 (#16062) 2023-01-04 09:39:32 +00:00
.watchmanconfig
ember-cli-build.js Enabled persistent filesystem caching for Ember builds 2023-12-13 16:40:18 +01:00
ember-cli-update.json
jsconfig.json 🐛 Fixed beta editor HTML cards auto-closing tags when rendering 2023-06-19 14:39:51 +02:00
package.json v5.89.3 2024-08-16 19:50:28 +00:00
README.md 🎨 Removed member bulk deletion safeguard from safe queries (#20747) 2024-08-14 15:48:54 +00:00
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 this.timeout(0); 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.