Ghost/ghost/admin
Kevin Ansfield d6df261446
🐛 Fixed editor unsaved changes modal showing too often (#20787)
ref [ENG-661](https://linear.app/tryghost/issue/ENG-661/) 
ref [ONC-253](https://linear.app/tryghost/issue/ONC-253/)
ref [PLG-174](https://linear.app/tryghost/issue/PLG-174/)

- restored the original but reverted fix for unsaved changes modal from https://github.com/TryGhost/Ghost/pull/20687
- updated code to remove some incorrect early-falsy-return logic in `editorController.hasDirtyAttributes` that prevented save of unsaved changes on the underlying model (e.g. excerpt)
- updated unit tests so they are testing real post model instances and therefore are testing what we expect them to test
- added acceptance tests to ensure autosave is working for title and excerpt fields

---------

Co-authored-by: Ronald Langeveld <hi@ronaldlangeveld.com>
2024-08-20 08:37:57 +01:00
..
app 🐛 Fixed editor unsaved changes modal showing too often (#20787) 2024-08-20 08:37:57 +01: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 🐛 Fixed editor unsaved changes modal showing too often (#20787) 2024-08-20 08:37:57 +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
.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.