Age | Commit message (Collapse) | Author |
|
This commit introduces Capybara and the first feature spec.
I focused on coverage for log in for the first feature spec because that would
have prevented 624a9a7136159d460228a0c2f5df18a9ead3b7f2 causing #1236.
|
|
* Add locale spec with failing locale plus region check
* Use a more accurate locale when supplied by browser headers
Previously we were using a matching option which would use the first locale
available which matched the locale portion, even if a region was specified.
This changes to first try to find an exact match, and then fall back to the
region, and then fall back to the default.
* Clean up default_locale method
|
|
* Simplify admin/reports controller filtering for index
* Rename parameter to resolved
* Fix issue where reports view could not access filter_link_to
* Add coverage for admin/reports controller
* DRY up resolution of related reports for target account
* Clean up admin/reports routes
* Add Report#statuses method
* DRY up current account action taken params
* Rubocop styles
|
|
* Add `Presenters` group to SimpleCov configuration
* Move validators to app/validators, add to simplecov config
|
|
|
|
* Add request spec for host meta route returning xml
* Add routing spec for xrd routes
* Update well-known routes
* Move webfinger and host-meta actions to their own controllers
|
|
* Remove unused account_params method in admin/accounts controller
* Introduce AccountFilter to find accounts
* Use AccountFilter in admin/accounts controller
* Use more restful routes admin silence and suspension area
* Add admin/silences and admin/suspensions controllers
|
|
* Refactor Export to take an account and know about the export types
* Use Export instance in settings/exports#show
|
|
* Remote spec for non-existent entry_classes helper method
This method no longer exists, and is handled by a local variable in a partial
instead.
* Remove spec for non-existent Account#ping! method
|
|
|
|
* Add WebfingerResource class to extract usernames
* Use WebfingerResource in xrd#webfinger
|
|
* Allow export of mutes list
* Allow importing of mutes list
* Refactor to use Settings::Exports::BaseController and DRY up exports code
|
|
|
|
* Add coverage for embedded status view
* Refactor embed view to eliminate @external_links variable
|
|
|
|
The spec was checking the activity_id of the activities held in notifications
within the controller.
Because the activities are different models, it is possible that they are
created with the same database IDs, and when they are this spec fails because an
activity which should not count as a match is counted as one.
|
|
* Add basic coverage for settings/exports controller
* Remove unused @account variable from settings/exports controller
* Add coverage for download export actions
* Remove deprecated `render :text` in favor of `send_data` for csv downloads
* Add model to handle exports
* Use Export class in settings/exports controller
* Simplify settings/exports controller methods
* Move settings/export to more restful routes
|
|
* Add spec for settings/imports controller
* Add failing spec for settings/imports#create
* Fix broken imports
* Refactor ImportWorker
|
|
Removes:
- avatar_for_status_url
- relative_time
- reblogged_by_me_class
- favourited_by_me_class
|
|
This was used in the views/atom/user_stream.xml.ruby file, which no longer is
used.
|
|
* Replace will_paginate with kaminari
* Use #page instead of #paginate in controllers
* Replace will_paginate.page_gap with pagination.truncate in i18n
* Customize kaminari views to match prior styles
* Set kaminari options to match prior behavior
* Replace will_paginate with paginate in views
|
|
* When avatar/header are GIF, generate static versions.
Account API returns "avatar"/"avatar_static", "header"/"header_static"
Static version is the same as original for other cases
Web UI de-animates avatars in toots, lists of users
Fix #441, fix #596, prerequisite for #1064
* Fix JS test
* Add rake task to generate static avatars/headers from GIF ones, add test
|
|
* Add exclude_types param to /api/v1/notifications
* Exclude notification types in web UI through exclude_types in the API
|
|
* Consolidate webfinger string creation under Account#to_webfinger_s
* Introduce Account#local_username_and_domain for consolidation
|
|
* Add Admin::BaseController to wrap admin area
Extracts the setting of the `admin` layout and verifying that users are admins
to a common base class for the admin/ controllers.
* Add basic coverage for admin/reports and admin/settings controllers
|
|
|
|
* Allow users to update their Account in the API
It would be nice for API clients to be able to allow users to update
their accounts without having to wrap Mastodon in a web view. This patch
adds an API endpoint to let users submit a PATCH for their account.
Signed-off-by: David Celis <me@davidcel.is>
* Add /api/v1/accounts/update_credentials to the API docs
Signed-off-by: David Celis <me@davidcel.is>
|
|
* Remove unused helper files
* Add coverage for application helper
* Add coverage for StreamEntriesHelper #display_name
|
|
* Add InstancePresenter to expose site details
* Clean up about controller, use instance presenter
|
|
* Clean up SQL output in Tag and Account search methods
* Add basic coverage for Tag.search_for
* Add coverage for Account.search_for
* Add coverage for Account.advanced_search_for
|
|
A request to `/test` would show the custom 404 page, but a request to
`/test.test` would return a 404 with an empty body.
This change ignores the format on incoming catch all route requests, so that the
html 404 page is returned on these requests.
|
|
* Fix #1141, fix #1126 - Work through UpdateRemoteProfileService for both <feed> and <entry> top-level tags
* Improve code quality, remove line unrelated to fix
|
|
* Add helper method to return Setting.site_title
* Use site_title helper in application layout
* Use site_title value for og:site_name
|
|
Add specs for PostStatusService
|
|
DRY up reblog vs original status check
|
|
Implement the two pending specs on `Status`: `reblogs_count` and
`favourites_count`.
|
|
These are currently user facing errors, but are not localized. This adds the
ability for these messages to be localized.
|
|
This implements all pending specs, and adds additional coverage for the
following functionality:
* Normal status creation
* Creating a reply status
* Creating a sensitive status
* Creating a status with spoiler text
* A status with no spoiler text gets an empty string for spoiler text
* Creating a status with custom visibility
* Creating a status for an application
* Processing mentions
* Processing Hashtags
* Pinging PuSH hubs
* Crawling links
* Attaching media
|
|
Checking reblog vs original status was happening in multiple places
across the app. For views, this logic was encapsulated in a helper
method named `proper_status` but in the other layers of the app, the
logic was duplicated.
Because the logic is used at all layers of the app, we extracted it into
a `Status#proper` method on the model and changed all uses of the logic
to use this method. There is now a single source of truth for this
condition.
We added test coverage to untested methods that got refactored.
|
|
There are currently not specs for the two media validations that are performed
by `PostStatusService`. This adds specs for the validations that ensure that you
cannot attach more than four files, and that a status cannot have both image and
video attachments.
|
|
|
|
|
|
|
|
[#817] Add email whitelist
|
|
|
|
|
|
|
|
|
|
This adds the ability to filter user signup with a whitelist
instead of or in addition to a blacklist.
Fixes #817
|
|
|