Commit Graph

12 Commits

Author SHA1 Message Date
Javi Martín
db97f9d08c Add and apply rubocop rules for empty lines
We were very inconsistent regarding these rules.

Personally I prefer no empty lines around blocks, clases, etc... as
recommended by the Ruby style guide [1], and they're the default values
in rubocop, so those are the settings I'm applying.

The exception is the `private` access modifier, since we were leaving
empty lines around it most of the time. That's the default rubocop rule
as well. Personally I don't have a strong preference about this one.


[1] https://rubystyle.guide/#empty-lines-around-bodies
2019-10-24 17:11:47 +02:00
Javi Martín
7ca55c44e0 Apply Rails/SaveBang rubocop rule
Having exceptions is better than having silent bugs.

There are a few methods I've kept the same way they were.

The `RelatedContentScore#score_with_opposite` method is a bit peculiar:
it creates scores for both itself and the opposite related content,
which means the opposite related content will try to create the same
scores as well.

We've already got a test to check `Budget::Ballot#add_investment` when
creating a line fails ("Edge case voting a non-elegible investment").

Finally, the method `User#send_oauth_confirmation_instructions` doesn't
update the record when the email address isn't already present, leading
to the test "Try to register with the email of an already existing user,
when an unconfirmed email was provided by oauth" fo fail if we raise an
exception for an invalid user. That's because updating a user's email
doesn't update the database automatically, but instead a confirmation
email is sent.

There are also a few false positives for classes which don't have bang
methods (like the GraphQL classes) or destroying attachments.

For these reasons, I'm adding the rule with a "Refactor" severity,
meaning it's a rule we can break if necessary.
2019-10-23 14:39:31 +02:00
Julian Herrero
31ac8b7f55 Change single quotes to double quotes 2019-02-15 11:40:39 +01:00
Bertocq
ed16a78f42 Enables RSpec/ExampleWording and fixes all issues
Both avoiding 'should' and repiting 'it' on the tests description
improves reading them and also makes all descriptions consistent.

Read about cop at http://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/ExampleWording
2018-01-07 01:03:45 +01:00
Bertocq
ccb80ce967 Fix recount spec to take into account already existing values and mandatory officer_assigment 2017-10-03 11:40:36 +02:00
Bertocq
6c998768e8 Fix Poll Recount model spec after default amount value added 2017-10-03 00:19:12 +02:00
Bertocq
6c297ae789 Add Poll Recount model, factory and spec 2017-10-02 14:57:40 +02:00
Bertocq
361e0efe00 Remove Poll Recount model and all usages 2017-07-23 23:29:24 +02:00
Bertocq
3dde935051 Avoid creating objects, on poll recount spec, with fixed id numbers
This was generating a flaky test that sometimes generated a unique key value constraint violation
2017-05-25 11:58:18 +02:00
Juanjo Bazán
c1997ffca4 changes poll recounts/results specs to respect foreign keys 2017-02-12 15:57:20 +01:00
Juanjo Bazán
8b56403bb1 adds validations and info logging to Recount 2017-01-03 21:35:04 +01:00
Juanjo Bazán
fe1c12c661 updates count_log if recount count value changes 2017-01-02 13:36:30 +01:00