Commit Graph

533 Commits

Author SHA1 Message Date
Karina Kwiatek dcad9073a8 Fix typos in pinning tests 2023-02-12 20:19:50 +01:00
Karina Kwiatek dd8f51160f Add test for unpinning when the answer is not pinned 2023-02-12 20:19:50 +01:00
Karina Kwiatek baea942975 Add check for pinning when the answer is already pinned 2023-02-12 20:19:50 +01:00
Karina Kwiatek 04303c667e Add tests for pin/unpin endpoints 2023-02-12 20:19:50 +01:00
Karina Kwiatek 664bf5eab2 Add test for unpin use case 2023-02-12 20:19:50 +01:00
Karina Kwiatek 438884e13a Add trailing commas (lint) 2023-02-12 20:19:50 +01:00
Karina Kwiatek 5f50a08f03 Adjust answer export test to include pinned_at field 2023-02-12 20:19:50 +01:00
Karina Kwiatek ed4ec98455 Add use case for pinning answers 2023-02-12 20:19:50 +01:00
Andreas Nedbal 5579489a92 Apply review suggestion from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2023-02-12 20:16:36 +01:00
Andreas Nedbal bc52eb8cb5 Add specs for Turbo Stream responses 2023-02-12 20:16:36 +01:00
Andreas Nedbal 4dc88fe1ef Refactor TurboStreamable spec to use an anonymous controller 2023-02-12 20:16:36 +01:00
Andreas Nedbal 0aac4caf45 Register test routes in routes.rb 2023-02-12 20:16:36 +01:00
Andreas Nedbal 72ad8f6699 Add tests for TurboStreamable concern 2023-02-12 20:16:36 +01:00
Georg Gadinger 065d35c288 well_known/node_info: remove twitter as outbound service 2023-02-12 19:04:01 +01:00
Georg Gadinger 71be21cccc add specs for Settings::SharingController 2023-02-10 21:16:21 +01:00
Georg Gadinger 606629577a make URI.parse part of the validation for the sharing URL
the regexp alone and web browsers allows URLs to contain non-ASCII
characters, which `URI.parse` does not like -- resulting in the inbox
page to suddenly break.

also changed the `redirect_to` in the controller to a `render :edit` so
that validation errors are shown properly
2023-02-10 20:48:15 +01:00
Andreas Nedbal b0f5294243 Appease the dog overlords 2023-02-05 21:54:51 +01:00
Andreas Nedbal 024127e62f Remove connected user transformation from TwitteredMarkdown 2023-02-05 21:54:51 +01:00
Andreas Nedbal d43e27bcd2 Fix data export specs 2023-02-05 21:54:51 +01:00
Andreas Nedbal 4e5aca9ab5 Add specs for URL validation 2023-02-05 21:54:51 +01:00
Andreas Nedbal f0eaf9c4a2 Remove `Services::Twitter` spec 2023-02-05 21:54:51 +01:00
Andreas Nedbal 06d7db7ff8 Remove ShareWorker 2023-02-05 21:54:51 +01:00
Andreas Nedbal c327eee38e Remove services controller 2023-02-05 21:54:51 +01:00
Karina Kwiatek 2517b1330a
Merge pull request #1017 from Retrospring/feature/raised-texts
Add new raised text and raised accent text theme fields
2023-01-31 12:57:15 +01:00
Georg Gadinger 8b7ba59660 typoed_email_validator: add new endings to the typo list 2023-01-30 06:01:01 +01:00
Karina Kwiatek 4dc5a65f74
Merge pull request #1014 from Retrospring/fix/inbox-services-query
Move fetching of services to controller to avoid n+1 queries
2023-01-29 23:07:46 +01:00
Karina Kwiatek 666f95c143 Adjust tests to not check ivars that are no longer used when filter is empty 2023-01-29 21:37:22 +01:00
Andreas Nedbal 92cb5da58a Fix theme export specs 2023-01-29 21:17:23 +01:00
Georg Gadinger a59bc3ef92 typoed_email_validator: add new endings to the typo list 2023-01-29 19:19:35 +01:00
Georg Gadinger 3e3501d201 inbox: update inbox entries in controller 2023-01-27 20:36:22 +01:00
Georg Gadinger 58705fffba mark notifications as "read" in the controller and when you see them
this makes it behave a bit more like the inbox
2023-01-24 15:54:41 +01:00
Karina Kwiatek 529bf40dbe
Merge pull request #979 from Retrospring/fix/pwa-issues
Fix various PWA issues
2023-01-22 12:47:12 +01:00
Karina Kwiatek 9d18fd3b31 Update tests to match new PWA start URL 2023-01-21 19:21:51 +01:00
Georg Gadinger 6c90f2f0dd inbox: add some proper specs 2023-01-19 11:57:56 +01:00
Andreas Nedbal 527f3fc3f5 Add tests for new theme helper functionality 2023-01-12 21:03:44 +01:00
Karina Kwiatek c919b4913f
Merge branch 'main' into feature/long-questions 2023-01-11 22:24:58 +01:00
Georg Gadinger 1ef9fadf69 add specs for version bump rake task 2023-01-11 21:18:07 +01:00
Georg Gadinger 0ed4b2ac90 add spec to verify that generating test locales works 2023-01-11 21:18:07 +01:00
Karina Kwiatek 4e78efcae7 Add tests for sending long questions with question worker 2023-01-08 19:22:00 +01:00
Karina Kwiatek e3254cba42 Remove trailing comma 2023-01-08 17:14:56 +01:00
Karina Kwiatek 7aacb1a364 Test creating question when recipient allows long questions 2023-01-08 14:51:37 +01:00
Karina Kwiatek 3a6814b908 Respect allow long questions setting 2023-01-08 14:03:54 +01:00
Karina Kwiatek e2f6284982 Update user exporter spec to include `allow_long_questions` field 2023-01-08 14:00:16 +01:00
Andreas Nedbal 6a7f63e671 Remove Webpacker references in test suite 2023-01-08 12:19:45 +01:00
Georg Gadinger 3fca4a75d0
Merge pull request #933 from Retrospring/rspec-deprecation-warnings
get rid of a RSpec deprecation warning, enable some QoL RSpec options
2023-01-06 14:58:47 +00:00
Georg Gadinger 04f1793058
Merge pull request #932 from Retrospring/om@nom.nom
typoed_email_validator: add new endings to the typo list
2023-01-06 14:55:25 +00:00
Georg Gadinger e8a5bd50b2 enable some RSpec options (randomised tests and some other QoL things) 2023-01-06 13:59:57 +01:00
Georg Gadinger 5c4ab05d4e get rid of RSpec deprecation warning
Using `should_not` from rspec-expectations' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` with `config.expect_with(:rspec) { |c| c.syntax = :should }` instead. Called from /Users/foxy/src/Retrospring/retrospring/spec/controllers/well_known/node_info_controller_spec.rb:84:in `block (4 levels) in <top (required)>'.
2023-01-06 13:53:32 +01:00
Georg Gadinger 5b8e34aa1d add integration specs for changing locales 2023-01-06 13:37:22 +01:00
Georg Gadinger b81bbc2483 typoed_email_validator: add new endings to the typo list 2023-01-06 10:26:32 +01:00
Andreas Nedbal 176a79c0df Fix bootstrap helper specs 2023-01-05 10:35:52 +01:00
Karina Kwiatek e13933626f
Fix typo in context label
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2023-01-04 18:42:44 +01:00
Karina Kwiatek 63d1709878 Appease the dog overlords 2023-01-04 17:10:29 +01:00
Karina Kwiatek b35108e9d0 Implement NodeInfo
Closes #902
2023-01-04 17:08:05 +01:00
Karina Kwiatek 16b9262bed Remove warning in WebPush controller test 2023-01-03 18:12:13 +01:00
Karina Kwiatek cc1c262256
Merge pull request #678 from Retrospring/feature/webpush
WebPush support
2023-01-02 11:57:34 +00:00
Karina Kwiatek b3a7cf388a Add tests for mute rule use cases 2023-01-02 12:45:35 +01:00
Karina Kwiatek 5a3f2966dd Add tests for subscription check endpoint 2023-01-02 11:52:02 +01:00
Karina Kwiatek 22a84ab818 Appease the dog overlords 2023-01-02 11:51:45 +01:00
Karina Kwiatek 3eafa5e335 Add tests for subscription management 2023-01-02 11:50:48 +01:00
Karina Kwiatek 44112c5449 Test for sending notifications for new questions 2023-01-02 11:50:48 +01:00
Karina Kwiatek ca39d42e18
Merge pull request #891 from Retrospring/revoke-twitter-on-unauthorized
Revoke Twitter connection when the token is revoked
2023-01-02 09:08:17 +00:00
Karina Kwiatek 873d6a2c88 Fix typo in share worker 2023-01-02 09:46:55 +01:00
Karina Kwiatek 7766c9bd5e Add tests for services settings page 2023-01-02 09:34:08 +01:00
Karina Kwiatek f80d4ce935 Move create test into a describe block 2023-01-02 09:34:08 +01:00
Karina Kwiatek 0f01177c67 Reformat services controller spec 2023-01-02 09:34:08 +01:00
Georg Gadinger 9d38292d4a question/create_followers: fix incrementing asked_count 2023-01-02 09:20:59 +01:00
Karina Kwiatek 9d1e77aeba Revoke Twitter connection when the token is revoked 2023-01-01 23:46:10 +01:00
Andreas Nedbal 9b5470cfd3 Appease the dog overlords 2023-01-01 22:43:24 +01:00
Andreas Nedbal a74f40ecfc Add test for answer uniqueness 2023-01-01 22:43:24 +01:00
Andreas Nedbal 00959a8645 add exporting of mute relationships 2023-01-01 22:42:50 +01:00
Andreas Nedbal 6a03d3587a Appease the dog overlords 2023-01-01 22:42:50 +01:00
Andreas Nedbal 7afff7884e Add tests for mute relationship and notification behaviour 2023-01-01 22:42:50 +01:00
Georg Gadinger 2a9111de61 add spec that eager loads the application 2022-12-29 20:57:28 +01:00
Georg Gadinger 55f60bc5a7 remove requires for exporter
handled by Zeitwerk now
2022-12-29 20:57:28 +01:00
Georg Gadinger fb07eda972 remove errors 2022-12-29 20:57:28 +01:00
Georg Gadinger 9413d23a02 let Zeitwerk autoload the `lib/` directory
this also allows the UseCase classes to be hot reloaded in dev 🎉

- remove use_case requires (except for the exporter as Zeitwerk
  doesn't know about the subclasses)
- move version.rb to lib/retrospring so that Zeitwerk knows where
  to find Retrospring::Version
2022-12-29 20:57:28 +01:00
Georg Gadinger 447d1f7e6d
Merge pull request #886 from Retrospring/bugfix/questionable-user-questions
fix display conditions of profile questions
2022-12-27 23:15:58 +00:00
Andreas Nedbal 8c73636311 Appease the dog overlords 2022-12-28 00:10:59 +01:00
Andreas Nedbal 6df07bb377 Add tests for user-tracked anonymous blocks 2022-12-28 00:10:59 +01:00
Andreas Nedbal 37f4b78f66 Silently fail in share worker if user account is suspended 2022-12-27 23:51:41 +01:00
Georg Gadinger 3524809e21 fix display conditions of profile questions 2022-12-27 22:07:21 +00:00
Georg Gadinger d52529c840 mark dataexported notifications as read when visiting export page 2022-12-10 15:56:07 +01:00
Georg Gadinger 3e143954e3 data_export: yeet inbox_entries 2022-12-10 15:47:54 +01:00
Georg Gadinger e1bdb1324f make the export worker create a *real* notification and add specs for it 2022-12-10 04:25:08 +01:00
Georg Gadinger 2b3e7ab609 add specs for new exporters 2022-12-10 03:28:17 +01:00
Karina Kwiatek 854b2fd5c6 Use `Rails.public_path.join` 2022-12-04 23:48:21 +01:00
Karina Kwiatek cb61db02eb
Merge pull request #824 from Retrospring/feature/anonymous-block-tuuuuuuurbo
Migrate anonymous blocks to Turbo Streams
2022-12-04 23:23:19 +01:00
Karina Kwiatek 63436d3464 Remove `ios_web_app?` helper 2022-12-04 23:11:59 +01:00
Andreas Nedbal 1c4993df3f Fix lints 2022-11-21 23:07:18 +01:00
Andreas Nedbal d9991f5fa7 Add tests 2022-11-21 23:05:04 +01:00
Andreas Nedbal 5f2b044d80 Add tests for mute rules 2022-11-21 20:26:19 +01:00
Andreas Nedbal 9048a3e7d8 Remove AJAX Mute Rules code 2022-11-21 20:26:19 +01:00
Andreas Nedbal 930e16bbda Add tests for `Admin::DashboardController` 2022-11-21 20:26:01 +01:00
Andreas Nedbal 54e157ec76 `AnnouncementController` -> `Admin::AnnouncementController` 2022-11-21 20:26:01 +01:00
Andreas Nedbal 78df5af040 Add tests for InboxController 2022-11-18 23:35:38 +01:00
Andreas Nedbal 44c0136c9e Remove AJAX question generation code 2022-11-18 23:35:38 +01:00
Andreas Nedbal 23dafb5bcb
Merge branch 'main' into feature/privacy-noindex 2022-11-18 23:23:01 +01:00
Andreas Nedbal 92d5918b91 Add tests for social graph hiding setting 2022-11-18 23:19:24 +01:00
Andreas Nedbal 3ddba9ae8a Fix lints 2022-11-16 22:34:57 +01:00
Andreas Nedbal 23fe0a2c6e Add tests for noindex setting 2022-11-16 22:33:30 +01:00
Andreas Nedbal 3cefc829f8
Merge branch 'main' into feature/privacy-require-user 2022-11-13 17:27:53 +01:00
Andreas Nedbal b1c0ba470c
Merge pull request #780 from Retrospring/feature/inbox-locking 2022-11-13 15:01:08 +01:00
Andreas Nedbal 9393374eab `LoginRequired` -> `NotAuthorized` 2022-11-13 14:38:11 +01:00
Andreas Nedbal 93fcebe6c0 Add tests for user requirement in questions 2022-11-13 14:28:24 +01:00
Georg Gadinger 0add320c7b remove capybara
obsoletes #784
2022-11-13 14:09:26 +01:00
Andreas Nedbal 024a37bdd6
Merge branch 'main' into feature/inbox-locking 2022-11-12 13:39:35 +01:00
Karina Kwiatek a8360dcad0 Appease the robot dog 2022-11-12 12:39:41 +01:00
Karina Kwiatek 0b67baa3c4 Add test for sending questions to banned users 2022-11-12 12:13:51 +01:00
Andreas Nedbal 5f97b87f3c Fix rubocop offenses 2022-11-06 15:23:05 +01:00
Andreas Nedbal fdf42d4169 Add tests for inbox locking 2022-11-06 15:02:12 +01:00
Andreas Nedbal 86869dc993 Add tests for new instance variables in TimelineController 2022-10-24 23:19:39 +02:00
Georg Gadinger 0f9c6f1e07 typoed_email_validator: check for valid TLDs
i'm sure there are many more typos waiting to happen.  one thing we
can already catch though is the usage of invalid TLDs.

this makes use of my new TLDv gem -- the data it uses can be updated
independently from the main gem.
2022-10-13 21:38:54 +02:00
Georg Gadinger ea4a661368 typoed_email_validator: add new endings to the typo list 2022-10-13 07:59:54 +02:00
Georg Gadinger 0294225269 typoed_email_validator: add new endings to the typo list
gmail.co.uk is registered by the big ad company with the 5000 chat apps,
but it doesn't have a NX record
2022-10-11 20:43:29 +02:00
Georg Gadinger 2dfbc1dd3c typoed_email_validator: add new endings to the typo list 2022-10-02 22:13:34 +02:00
Andreas Nedbal c979a7211d Appease the robot dog 2022-09-02 20:08:11 +02:00
Andreas Nedbal 13c275b189 Adjust tests to match controller adjustment 2022-09-02 20:02:03 +02:00
Georg Gadinger 37b770ddef typoed_email_validator: add new endings to the typo list 2022-08-25 20:28:29 +02:00
Andreas Nedbal b46fae5ebd Rename index action to show action 2022-08-21 13:17:45 +02:00
Andreas Nedbal 9c159bd5cc Appease the robot dog 2022-08-21 13:17:45 +02:00
Andreas Nedbal 6e80598b35 Add test param to spec 2022-08-21 13:17:45 +02:00
Andreas Nedbal 9874ffac19 Add base spec for `Moderation::QuestionsController` 2022-08-21 13:17:45 +02:00
Andreas Nedbal 8a69d7c583 Adjust `fails to access route` spec for role-constrained routes 2022-08-21 01:13:10 +02:00
Andreas Nedbal d75bff937e Adjust role-constrained routes spec 2022-08-21 01:13:10 +02:00
Andreas Nedbal 45f288ef4f Apply review suggestions from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-08-21 01:13:10 +02:00
Andreas Nedbal bedd29f7e8 Add base spec for `Moderation::ReportsController` 2022-08-21 01:13:10 +02:00
Karina Kwiatek b59c9b3af2 Add tests for management endpoint for site-wide muting 2022-08-20 19:05:55 +02:00
Karina Kwiatek 92a5095c00 Appease the robot canine 2022-08-20 19:05:55 +02:00
Karina Kwiatek 136eac8bdd Add page for managing site-wide anonymous-blocks 2022-08-20 19:05:55 +02:00
Karina Kwiatek 74e309e9fc Apply anonymous blocks without an owner as global 2022-08-20 19:02:37 +02:00
Andreas Nedbal 866894563e Apply review suggestions from @nilsding
Co-authored-by: Georg Gadinger <nilsding@nilsding.org>
2022-08-20 17:21:47 +02:00
Andreas Nedbal c4d01a4f74 Appease the robot dog 2022-08-20 17:21:47 +02:00
Andreas Nedbal f5f7b0d22b Add tests for `User#questions` action and cases 2022-08-20 17:21:47 +02:00
Andreas Nedbal 6693864fbc Move `belongs_to_current_user?` to UserController 2022-08-20 17:21:47 +02:00
Andreas Nedbal 87c2ed3ab7 List direct questions for current users or mods 2022-08-20 17:21:47 +02:00
Georg Gadinger cb158c1fac typoed_email_validator: add new endings to the typo list 2022-08-14 20:49:51 +02:00
Karina Kwiatek d9a2e7dde8
Merge pull request #559 from Retrospring/return-hashes-from-use-cases 2022-07-31 10:30:14 +02:00
Karina Kwiatek afa1a102d6 Prevent Twitter markdown from stripping `<///3` 2022-07-30 19:41:47 +02:00
Andreas Nedbal 27eaef45ef Appease the reviewdog overlords 2022-07-30 16:51:07 +02:00
Andreas Nedbal c131d3e024 Fix user session specs 2022-07-30 16:51:07 +02:00
Karina Kwiatek 7f6f852841 Fix tests for `UseCase::Question::CreateFollowers` 2022-07-30 15:51:28 +02:00
Andreas Nedbal 65b69b86e4 Fix test for asked count in UseCase::Question::Create 2022-07-25 13:24:14 +02:00
Karina Kwiatek a39a6e2826
Merge pull request #567 from Retrospring/feature/improving-asks 2022-07-25 07:16:20 +02:00
Andreas Nedbal 777b25f967 Add test for question create UseCase checking if direct is set 2022-07-24 21:59:55 +02:00
Georg Gadinger 5b70be74c2 typoed_email_validator: add new endings to the typo list 2022-07-24 21:44:27 +02:00
Georg Gadinger 58a3b89d67 add very important spec 2022-07-23 12:29:17 +02:00
Georg Gadinger 66efa5d4f4 clean up routes
- replace `match` with `get`/`post`/`patch`/`delete`
- format routes.rb
- rename the `show_user_{profile,question,answer}` routes to
  `profile`, `question`, `answer` so `url_for` (used by Rails Admin)
  works fine for these things
- also add `to_param` to the `User` model so that `url_for(some_user)`
  uses the user name
2022-07-23 12:14:06 +02:00
Karina Kwiatek 62b29b3bd1 Upgrade to Ruby 3.0.4 2022-07-23 12:06:24 +02:00
Karina Kwiatek 0789ed773e Update registration tests to use a fixed forbidden screen name list 2022-07-23 09:11:32 +02:00