This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/views
Osama Sayegh a53d8d3e61
FEATURE: Introduce theme/component QUnit tests (#12517)
This commit allows themes and theme components to have QUnit tests. To add tests to your theme/component, create a top-level directory in your theme and name it `test`, and Discourse will save all the files in that directory (and its sub-directories) as "tests files" in the database. While tests files/directories are not required to be organized in a specific way, we recommend that you follow Discourse core's tests [structure](https://github.com/discourse/discourse/tree/master/app/assets/javascripts/discourse/tests).

Writing theme tests should be identical to writing plugins or core tests; all the `import` statements and APIs that you see in core (or plugins) to define/setup tests should just work in themes.

You do need a working Discourse install to run theme tests, and you have 2 ways to run theme tests:

* In the browser at the `/qunit` route. `/qunit` will run tests of all active themes/components as well as core and plugins. The `/qunit` now accepts a `theme_name` or `theme_url` params that you can use to run tests of a specific theme/component like so: `/qunit?theme_name=<your_theme_name>`.

* In the command line using the `themes:qunit` rake task. This take is meant to run tests of a single theme/component so you need to provide it with a theme name or URL like so: `bundle exec rake themes:qunit[name=<theme_name>]` or `bundle exec rake themes:qunit[url=<theme_url>]`.

There are some refactors to internal code that's responsible for processing themes/components in Discourse, most notably:

* `<script type="text/discourse-plugin">` tags are automatically converted to modules.

* The `theme-settings` service is removed in favor of a simple `lib` file responsible for managing theme settings. This was done to allow us to register/lookup theme settings very early in our Ember app lifecycle and because there was no reason for it to be an Ember service.

These refactors should 100% backward compatible and invisible to theme developers.
2021-04-07 10:39:57 +03:00
..
about FIX: Correct user profile URLs in /about crawler view 2020-07-14 16:09:27 +01:00
admin/backups FEATURE: further restrict downloading of backups 2017-03-01 08:28:34 -07:00
application FIX: Sync Ember and non-Ember layouts (#9028) 2020-02-25 15:31:04 +02:00
badges FIX: in case of orphan user records skip badge 2019-08-30 17:21:34 +10:00
categories FIX: Resolve Schema.org validation issues 2020-05-05 16:57:16 +03:00
common FEATURE: Implement nonces for Google Tag Manager integration (#12531) 2021-03-26 11:19:31 -04:00
default FIX: Add a title to the groups pages 2016-07-25 14:24:43 -04:00
email UX: Remove Helvetica from our font stack (#11876) 2021-02-05 17:01:21 -05:00
embed FIX: use allowlist and blocklist terminology (#10209) 2020-07-27 10:23:54 +10:00
exceptions FIX: Hide empty popular/recent sections in 404 page (#10811) 2020-10-02 15:11:15 -04:00
finish_installation Upgrade to FontAwesome 5 (take two) (#6673) 2018-11-26 16:49:57 -05:00
groups UX: Add og metadata for groups. 2018-02-22 15:03:41 +08:00
invites FIX: better handling of invite links after they are redeemed 2018-05-08 20:17:57 +05:30
layouts FEATURE: Implement browser update in crawler view (#12448) 2021-03-22 19:41:42 +02:00
list Fix i18n issues reported on Crowdin (#11747) 2021-02-02 10:50:04 +01:00
metadata DEV: Add support for Rails 6 2019-05-02 16:23:25 +10:00
offline UX: Remove Helvetica from our font stack (#11876) 2021-02-05 17:01:21 -05:00
posts FIX: RSS feed must have unique GUID 2016-02-22 18:28:09 +05:30
published_pages FIX: use normal logo in published pages if small not available. 2020-09-21 09:20:39 +05:30
qunit FEATURE: Introduce theme/component QUnit tests (#12517) 2021-04-07 10:39:57 +03:00
robots_txt Replace base_uri with base_path (#10879) 2020-10-09 12:51:24 +01:00
safe_mode Upgrade to FontAwesome 5 (take two) (#6673) 2018-11-26 16:49:57 -05:00
search UX: better title on search page 2017-10-27 09:13:04 +05:30
session FEATURE: Rename 'Discourse SSO' to DiscourseConnect (#11978) 2021-02-08 10:04:33 +00:00
static FEATURE: add short site description on login page title 2019-10-14 11:40:09 +05:30
tags FIX: Use new tag routes (#8683) 2020-01-21 19:23:08 +02:00
topics FIX: make crawler linkback list compatible with google schema guidelines. 2020-09-04 04:35:32 +05:30
user_api_keys FEATURE: Delegated authentication via user api keys (#7272) 2019-04-01 13:18:53 -04:00
user_notifications UX: Remove Helvetica from our font stack (#11876) 2021-02-05 17:01:21 -05:00
users FIX: move hp request from /users to /token (#10795) 2020-10-02 09:01:40 +10:00
users_email FIX: Ensure users can confirm new emails using security keys 2020-06-16 14:19:21 +03:00
wizard FEATURE: Dark-mode-friendly wizard (#10739) 2020-09-25 08:56:23 -04:00