Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
This cop prevents you from using file in API, it points you to the
development documentation about workhorse file acceleration.
|
|
This ensures the InjectEnterpriseEditionModule cop is able to detect the
prepend patterns used in the qa/ directory. Previously it would not
detect them as all EE QA modules reside in QA::EE, and not the top-level
EE namespace.
|
|
|
|
|
|
Use Rubocop's Include
instead of manually checking the matcher in controllers specs.
|
|
BeSuccessMatcher now supports following examples:
```
expect(response).to be_success
expect(response).to_not be_success
expect(response).not_to be_success
is_expected.to be_success
is_expected.to_not be_success
is_expected.not_to be_success
```
|
|
|
|
|
|
|
|
Prevent using `be_success` call in controller specs to avoid
getting following deprecation warning:
```
DEPRECATION WARNING: The success? predicate is deprecated and
will be removed in Rails 6.0.
Please use successful? as provided by Rack::Response::Helpers.
```
|
|
Stop checking the file location programmatically.
|
|
This cop will analyze migrations that add columns with string, and
report an offense if the string has no limit enforced
Related to https://gitlab.com/gitlab-org/gitlab-ce/issues/64505
|
|
The RSpec/FilePath cop checks that a spec file's path is correct, but
only if the file describes a constant. We want to check, for any file
with a top-level `describe`, whether the file path ends in
`_spec.rb`. We don't care what comes before that; just that it will be
executed by RSpec at all.
|
|
This extends the InjectEnterpriseEditionModule RuboCop cop so that it
verifies the following:
1. The line number the injection occurs on (as before).
2. The method used (e.g. prepend instead of prepend_if_ee).
3. The argument type passed when using the new module injection methods.
|
|
Using quotes within string validations can be messy. Let's
use a typical CSS selector for an unquoted attribute
Update the cop spec to validate appropriate new message
|
|
In order to break away from using CSS classes as
our primary method of element identification, we
need to provide the ability to search for data
attributes.
Make Test::Sanity::Selectors now work
Utilize regex to match on literal strings of the element name
Suggest the data-qa-selector pattern vs the qa-
Add data-qa-selector to login page to start
We need a page that is heavily used in order to be
confident that this functionality works. Let's start
with the Login page
Use appropriate HAML data tag practices
|
|
Suggests to use a JSON structured log instead
Related to https://gitlab.com/gitlab-org/gitlab-ce/issues/54102
|
|
|
|
Implement dynamic validation on QA Pages
Closes gitlab-qa#280
See merge request gitlab-org/gitlab-ce!25704
|
|
This provides the user with some context as to why certain ActiveRecord
methods are blacklisted.
|
|
Elements now have the ability to be required on pages or not
Currently using the default wait mechanism
Altered the ElementWithPattern Cop to fit new splat for init
|
|
This adds Ruby 2.6 support.
|
|
|
|
The `#reload` makes to load all objects into memory,
and the main purpose of `#reload` is to drop the association cache.
The `#reset` seems to solve exactly that case.
|
|
|
|
The InjectEnterpriseEditionModule cop would not detect certain nested EE
constants such as `EE::Foo::Bar::Baz`. This could result in it not
enforcing `prepend` being placed on the last line. This commit fixes
this by just performing a string match on the line, instead of relying
on AST matching.
|
|
This Cop enforces the rule that injecting EE modules (using prepend,
include, or extend) is done by placing the injection on the last line of
a file, instead of somewhere in the middle. By placing these lines at
the very end, merge conflicts will not happen.
|
|
It might happen you want to make the reference column have a unique
value, or you want to create partial indexes. So instead of only
accepting a `true` value, also accept a hash of options.
|
|
|
|
|
|
This cop forbids the use of `element :foo, 'pattern'` and
`element :bar, /pattern/` in QA files.
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
|
|
|
|
|
This removes an unused constant from the
`RubyInterpolationInTranslation`. The constant was used in a first
implementation of this class.
|
|
This commit adds the module `FromUnion`, which provides the class method
`from_union`. This simplifies the process of selecting data from the
result of a UNION, and reduces the likelihood of making mistakes. As a
result, instead of this:
union = Gitlab::SQL::Union.new([foo, bar])
Foo.from("(#{union.to_sql}) #{Foo.table_name}")
We can now write this instead:
Foo.from_union([foo, bar])
This commit also includes some changes to make this new setup work
properly. For example, a bug in Rails 4
(https://github.com/rails/rails/issues/24193) would break the use of
`from("sub-query-here").includes(:relation)` in certain cases. There was
also a CI query which appeared to repeat a lot of conditions from an
outer query on an inner query, which isn't necessary.
Finally, we include a RuboCop cop to ensure developers use this new
module, instead of using Gitlab::SQL::Union directly.
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/51307
|
|
These Cops enforces the code reuse rules as defined in merge request
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21254.
|
|
Previously this would violate on the `if`:
def a_method
do_something
rescue
if condition
do_something
end
end
|
|
|
|
|
|
|
|
|
|
|
|
When using ruby interpolation in externalized strings, they can't be
detected. Which means they will never be presented to be translated.
To mix variables into translations we need to use `sprintf`
instead.
Instead of:
_("Hello #{subject}")
Use:
_("Hello %{subject}) % { subject: 'world' }
|
|
This method usually has really bad performance implications, as it loads
rows into memory and deletes them one by one.
|
|
|