Commit fa8ec52a authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'rs-remove-describe-symbol-docs' into 'master'

Remove developer documentation about not describing symbols

See merge request !12953
parents 6c8ea9fb b92709ea
...@@ -3,35 +3,6 @@ ...@@ -3,35 +3,6 @@
The purpose of this guide is to document potential "gotchas" that contributors The purpose of this guide is to document potential "gotchas" that contributors
might encounter or should avoid during development of GitLab CE and EE. might encounter or should avoid during development of GitLab CE and EE.
## Do not `describe` symbols
Consider the following model spec:
```ruby
require 'rails_helper'
describe User do
describe :to_param do
it 'converts the username to a param' do
user = described_class.new(username: 'John Smith')
expect(user.to_param).to eq 'john-smith'
end
end
end
```
When run, this spec doesn't do what we might expect:
```sh
spec/models/user_spec.rb|6 error| Failure/Error: u = described_class.new NoMethodError: undefined method `new' for :to_param:Symbol
```
### Solution
Except for the top-level `describe` block, always provide a String argument to
`describe`.
## Do not assert against the absolute value of a sequence-generated attribute ## Do not assert against the absolute value of a sequence-generated attribute
Consider the following factory: Consider the following factory:
......
...@@ -195,7 +195,6 @@ Please consult the [dedicated "Frontend testing" guide](./fe_guide/testing.md). ...@@ -195,7 +195,6 @@ Please consult the [dedicated "Frontend testing" guide](./fe_guide/testing.md).
- Use `context` to test branching logic. - Use `context` to test branching logic.
- Use multi-line `do...end` blocks for `before` and `after`, even when it would - Use multi-line `do...end` blocks for `before` and `after`, even when it would
fit on a single line. fit on a single line.
- Don't `describe` symbols (see [Gotchas](gotchas.md#dont-describe-symbols)).
- Don't assert against the absolute value of a sequence-generated attribute (see [Gotchas](gotchas.md#dont-assert-against-the-absolute-value-of-a-sequence-generated-attribute)). - Don't assert against the absolute value of a sequence-generated attribute (see [Gotchas](gotchas.md#dont-assert-against-the-absolute-value-of-a-sequence-generated-attribute)).
- Don't supply the `:each` argument to hooks since it's the default. - Don't supply the `:each` argument to hooks since it's the default.
- Prefer `not_to` to `to_not` (_this is enforced by RuboCop_). - Prefer `not_to` to `to_not` (_this is enforced by RuboCop_).
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment