Commit Graph

43 Commits

Author SHA1 Message Date
29b35aa64c DEV: Improve flaky time-sensitive specs (#9141) 2020-03-10 22:13:17 +01:00
20514f2e44 DEV: Update markdown-it from 8.4.1 to 10.0.0 (#8164) 2019-10-08 13:00:22 +02:00
427d54b2b0 DEV: Upgrading Discourse to Zeitwerk (#8098)
Zeitwerk simplifies working with dependencies in dev and makes it easier reloading class chains. 

We no longer need to use Rails "require_dependency" anywhere and instead can just use standard 
Ruby patterns to require files.

This is a far reaching change and we expect some followups here.
2019-10-02 14:01:53 +10:00
7cb51d0e40 FIX: Create readonly functions during backup
Temporarily recreate already dropped functions in the discourse_functions schema in order to allow restoring of backups which still reference dropped functions.
2019-08-09 11:39:46 +02:00
1942ba1d42 PERF: Use Oj for serializing JSON. (#7820) 2019-06-28 12:16:00 +10:00
3fd7cf9038 Revert "PERF: Use Oj for serializing JSON. (#7780)"
This commit broke discourse-prometheus.

This reverts commit b4df8c546654a4e6f0ec6793bb9ed3230506be69.
2019-06-25 11:13:27 +03:00
b4df8c5466 PERF: Use Oj for serializing JSON. (#7780) 2019-06-24 18:32:00 +03:00
ec02696fa2 DEV: introduces coding style spec (#7615) 2019-05-27 23:38:17 +02:00
0afcad148a DEV: Always use %{count} in pluralized strings 2019-05-20 23:26:22 +02:00
b788948985 FEATURE: English locale with international date formats
Makes en_US the new default locale
2019-05-20 13:47:20 +02:00
4ea21fa2d0 DEV: use #frozen_string_literal: true on all spec
This change both speeds up specs (less strings to allocate) and helps catch
cases where methods in Discourse are mutating inputs.

Overall we will be migrating everything to use #frozen_string_literal: true
it will take a while, but this is the first and safest move in this direction
2019-04-30 10:27:42 +10:00
24e5be3f0c FIX: Relative links in translations should work with subfolder 2018-11-08 23:31:05 +00:00
fd931b948d Use a more helpful failure message in spec 2018-09-13 21:31:44 +02:00
Sam
cbaf521fc1 correct regression and add integrity spec for onceoffs 2018-06-20 09:09:31 +10:00
Sam
ee0d3f15c1 FEATURE: allow better fidelity for auto linkify, disable most tlds based linkify
New site settings:

enable_markdown_linkify: which is default on, auto links https:// and http:// and mail://

markdown_linkify_tlds: which allows control of what tlds get autolinked for cases such as www.site.com, default is com|net|gov
2018-02-01 13:22:38 +11:00
1646bc0031 FIX: fails loud if default setting is not set
Noted:
- `push_api_secret_key` is set in initializer. Shimed with ''
- `default_theme_key` is set in seeding. Shimed with ''
2017-08-15 12:07:25 +02:00
5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
Sam
e1ce47a901 Pass the full CommonMark spec 2017-07-21 13:20:52 -04:00
b9fbc95ef4 Add spec to notify us when translations have invalid interpolation keys. 2017-06-19 12:39:30 +09:00
ecdae9f863 FIX: i18n integrity specs
FIX: check all .yml files in the project for integrity
FIX: ensure localized yamls are compatible with english
2017-02-24 11:35:33 +01:00
c94e6f1b96 Add locale step 2016-09-22 09:52:19 -04:00
3a4615c205 Wizard: Step 1 2016-09-22 09:48:58 -04:00
2005565c9c Server side code for Watching First Post Only 2016-07-07 11:21:50 -04:00
64df98e348 Adds integrity check for badge descriptions 2016-04-12 12:55:49 -04:00
a764cc3a42 FEATURE: by default users track a group (as opposed to watch)
FEATURE: a rollup counting number of messages in the group inbox to tracking users
2016-01-27 21:38:33 +11:00
3e50313fdc Prepare for separation of RSpec helper files
Since rspec-rails 3, the default installation creates two helper files:
* `spec_helper.rb`
* `rails_helper.rb`

`spec_helper.rb` is intended as a way of running specs that do not
require Rails, whereas `rails_helper.rb` loads Rails (as Discourse's
current `spec_helper.rb` does).

For more information:

https://www.relishapp.com/rspec/rspec-rails/docs/upgrade#default-helper-files

In this commit, I've simply replaced all instances of `spec_helper` with
`rails_helper`, and renamed the original `spec_helper.rb`.

This brings the Discourse project closer to the standard usage of RSpec
in a Rails app.

At present, every spec relies on loading Rails, but there are likely
many that don't need to. In a future pull request, I hope to introduce a
separate, minimal `spec_helper.rb` which can be used in tests which
don't rely on Rails.
2015-12-01 20:39:42 +00:00
5f9b7c67cd Add tests to ensure correct pluralization 2015-11-13 21:18:41 +01:00
49dc470a28 Add spec to check locale files for duplicate keys 2015-09-19 00:14:26 +02:00
Sam
ad12db3fb3 correct invalid spec 2015-06-15 16:34:35 +10:00
b8cbe51026 Convert specs to RSpec 2.99.2 syntax with Transpec
This conversion is done by Transpec 3.1.0 with the following command:
    transpec

* 424 conversions
    from: obj.should
      to: expect(obj).to

* 325 conversions
    from: == expected
      to: eq(expected)

* 38 conversions
    from: obj.should_not
      to: expect(obj).not_to

* 15 conversions
    from: =~ /pattern/
      to: match(/pattern/)

* 9 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 5 conversions
    from: lambda { }.should_not
      to: expect { }.not_to

* 4 conversions
    from: lambda { }.should
      to: expect { }.to

* 2 conversions
    from: -> { }.should
      to: expect { }.to

* 2 conversions
    from: -> { }.should_not
      to: expect { }.not_to

* 1 conversion
    from: === expected
      to: be === expected

* 1 conversion
    from: =~ [1, 2]
      to: match_array([1, 2])

For more details: https://github.com/yujinakayama/transpec#supported-conversions
2015-04-25 11:18:35 -04:00
9fbc763902 Replace Hash#keys.each with Hash#each_key for some perf boost 2015-04-18 21:53:53 +10:00
2f78dc775d FIX: double periods. How did that work?? 2014-02-14 17:57:38 -05:00
16c6759818 FIX: i18n integrity check was not ignoring comments properly 2014-02-14 14:47:52 -05:00
c98d58378c prevent double work in the i18n integrity specs 2013-03-23 15:49:31 +01:00
624649ddc2 adding i18n integrity check for valid YAML and valid content 2013-03-23 08:57:31 +01:00
3d4fb43c73 Re-enable integrity check 2013-03-22 12:49:46 -04:00
8b6dbfc1c6 Make spec pending for now -- jenkins does not like it 2013-03-20 18:10:52 -04:00
6dab9927c6 ensure locales are not overwritten 2013-03-20 10:51:28 +01:00
Sam
bfeb75a60f Revert "ensure locales are not overwritten"
breaking now
2013-03-19 21:23:03 -07:00
e61ca1f67f ensure locales are not overwritten 2013-03-20 03:07:45 +01:00
0c99dea153 introduce Enum 2013-03-01 21:16:36 +03:00
cafc75b238 remove trailing whitespaces ❤️ 2013-02-26 07:31:35 +03:00
21b5628528 Initial release of Discourse 2013-02-05 14:16:51 -05:00