Commit Graph

2715 Commits

Author SHA1 Message Date
Bertocq
a92ef57bf8 Make valuator spec 100 LineLength compliant
Readability of the code is important
2018-03-06 20:17:40 +01:00
Bertocq
7145ce5e5a Refactor Valuator spec Show context with lets
Extract duplicated code used to set the scenario conditions to simple
lets (admin, second valuator and investment)
2018-03-06 20:17:39 +01:00
Bertocq
400b3b1201 Swap @investment instance variable for a let
Why:

Avoid instance variables as we agreed upon with RSpec/InstanceVariable

How:

Using a let(:invsetment) and replacing all `@investment` with
`investment`, as well as adding a let(:admin) for the administrator.
2018-03-06 20:17:39 +01:00
Bertocq
9abf9bd87d Swap @budget instance variable for a let
Why:

Avoid instance variables as we agreed upon with RSpec/InstanceVariable

How:

Using a let(:budget) and replacing all `@budget` with `budget`
2018-03-06 20:17:38 +01:00
Bertocq
0a066f6bb6 Swap @valuator instance variable for a let
Why:

Avoid instance variables as we agreed upon with RSpec/InstanceVariable

How:

Using a let(:valuator) and replacing all `@valuator` with `valuator`
2018-03-06 20:17:37 +01:00
Alberto Calderón Queimadelos
28eab38ea0 Merge pull request #2516 from consul/fix_user_segment_emails
Remove empty emails from user segment usages
2018-03-05 14:08:03 +01:00
iagirre
ffd6bdb3d7 first changed for click_link so that the test can wait the capybara default time. 2018-03-04 22:58:35 +01:00
iagirre
e21588ec16 The function comment_on has been modified to change the functionality. Now, a comment is generated and a email notification send manually, so that JS has been avoided, that was the original problem. 2018-03-02 13:35:50 +01:00
Bertocq
6b41b6487b Add UserSegments#user_segment_emails helper method
Why:

Both Newsletters and Email Downloads need the same logic: To extract the
emails from all the users in the segment that have newsletter flag
active, removing all empty email values.

How:

1- UserSegments#user_segment_emails holds that repeated logic and is used
on both Newsletter & EmailDownload.

2- Rename Newsletter#list_of_recipients to list_of_recipient_emails as
it is more descriptive. There is no need to pass entire Users around,
only the emails are needed at Mailer#newsletter method.

3- Cleanup Newsletter#list_of_recipient_emails model spec scenario
2018-03-01 20:59:20 +01:00
Bertocq
99851e9588 Remove empty emails from users segments recipients
Why:

User with an empty email value (nil) should not appear in the recipient
list for a given UserSegment at Newsletters or Email Downloads.

How:

Using Enumerable#compact and Enumerable#select to filter out empty emails

Increasing Email Download feature spec and Newsletter model spec to cover
all possible scenarios including the nil email one.
2018-03-01 20:09:32 +01:00
Alberto Calderón Queimadelos
0decaf43a3 Merge pull request #2492 from consul/fix_newsletter_send_performance
Fixed how newsletters controller and mailer handle recipients
2018-02-28 19:03:58 +01:00
Alberto Calderón Queimadelos
4af603edc6 Merge pull request #2491 from consul/2487-feasible_undecided_investment_authors_segment
Fix UserSegment feasible and undecided investment authors
2018-02-28 18:01:54 +01:00
María Checa
3867c6b716 Fixed newsletter tests 2018-02-28 17:02:39 +01:00
María Checa
7913128520 Changed tests for UserSegments#feasible_and_undecided_investment_authors 2018-02-28 16:54:28 +01:00
decabeza
53e36850a4 Fixes documentable rubocop offences 2018-02-28 16:21:22 +01:00
decabeza
e79f64c009 Updates specs 2018-02-28 16:21:18 +01:00
Bertocq
dbe723079e Disable guide page when Budget is not accepting
Why:

When there is not Budget accepting (Investment creation) the guide page
doesn't have much sense as it will give the user an option that can't be
used (creating an Investment).

How:

Using `Budget.current&.accepting?` conditional at GuidesHelper to link
to new proposal link instead of guide page, and adding an scenario to
guides feature spec for it.
2018-02-26 10:01:30 +01:00
Bertocq
c3a3e76304 Improve newsletter model spec list_of_recipients 2018-02-22 18:24:36 +01:00
Bertocq
e3eeca4f06 Improve newsletter model spec with valid_segment_recipient? 2018-02-22 18:24:18 +01:00
Bertocq
61f015e2c2 Add administrators UserSegment
We need a user segment to have only administrators as recipients of both
newsletters and notifications
2018-02-21 23:34:20 +01:00
Bertocq
7dfa056fe0 Add invalid newsletter scenarios to feature spec
Newsletters with an invalid user segment should display a warning on
show and index. Also those newsletters should not be sent.
2018-02-21 11:46:23 +01:00
Bertocq
4becd0eb35 Change Newsletter's segment_recipient to string
Why:

Newsletter attribute `segment_recipient` is an integer to be used as
enum. There's no advantage to store a number instead of an string if the
ammount of elements in the table is not going to be huge, or we can take
advantage of using an enum.

Also maintaining both Newsletters enum paired with UserSegments::SEGMENTS
would be a maintenance burden.

How:

* Migration to change segment_recipient column from integer to string
* Removing enumeration from Newsletter model class
* Using UserSegments::SEGMENTS instead of Newsletter.segment_recipients
or integer values
2018-02-21 11:46:11 +01:00
Bertocq
bdbb32e824 Move newsletter User scope outside UserSegments
Why:

UserSegments are not only used for Newsletters or Email downloads, but
also for internal Global Notifications. We don't want to have that scope
hardcoded inside UserSegments as users that have opted-out from the
newsletter should still be recipients of global notifications.

How:

Removing the scope from the UserSegments `all_users` method that acts as
base for all the other segments. Including that `newsletter` scope only
on the places that is relevant:
* When listing recipients for a newsletter
* When downloading a listing emails that can be newsletter recipients

Also updated relevant tests
2018-02-21 11:45:38 +01:00
María Checa
752ffd678f Added download emails spec and renamed newsletters spec 2018-02-20 22:33:01 +01:00
María Checa
017c242085 Merge pull request #2462 from consul/admin-newsletter-emails
Admin newsletter emails
2018-02-20 16:17:37 +01:00
Bertocq
fbfabaeda4 Fix typo at followable shared spec 2018-02-19 11:07:59 +01:00
Bertocq
44aeb7528d Fix line lenght issues on spec files 2018-02-15 23:21:03 +01:00
Bertocq
4e34a1cf41 Fix common actions file rubocop issues 2018-02-15 23:17:10 +01:00
Bertocq
2aca87b3ae Fix verifiable support spec line lenght issues 2018-02-15 23:05:47 +01:00
decabeza
1cc799ef11 Adds links to milestone description 2018-02-14 18:13:46 +01:00
decabeza
990dc072be Refactors custom page view and include specs 2018-02-14 17:52:10 +01:00
María Checa
24bca36639 Merge branch 'master' into admin-newsletter-emails 2018-02-14 16:07:13 +01:00
María Checa
e8c797766a Added newsletter specs 2018-02-14 16:06:33 +01:00
Raimond Garcia
8bec36500a Merge pull request #2385 from wairbut-m2c/2363-alert-delete-investment-project
Add alert message when a user deletes an investment project from "My activity"
2018-02-13 14:06:08 +01:00
Bertocq
9aa6d646d4 Remove usage of instance variables at specs 2018-02-10 19:34:54 +01:00
Raúl Fuentes
ecdbc4a3f7 added balloting to the list of phases allowed to see all the links 2018-02-10 15:27:40 +01:00
Raúl Fuentes
6871193cbc Added test to bugets/index to ensure the correcto showing of the investment links over ths changes of the buget's phase 2018-02-10 15:27:40 +01:00
BertoCQ
6ba8b68fe8 Merge pull request #2458 from wairbut-m2c/BP_flaky_residence_assigned_officers_error
Fix flaky spec: Residence Assigned officers Error
2018-02-09 13:52:39 +01:00
BertoCQ
8ca61e4e3e Merge pull request #2455 from wairbut-m2c/backport_1180_flaky_commenting_legislation_questions
Fixed flaky spec: missing comment on legislation annotation
2018-02-09 13:44:18 +01:00
Vicente Mendoza
910d49d18c Focus the search of the button 2018-02-09 12:51:15 +01:00
BertoCQ
37f0a412d9 Merge pull request #2454 from wairbut-m2c/backport_1191_flaky_budget_investments_orders_random
Fix flaky spec: random investments order scenario
2018-02-09 12:11:18 +01:00
Raúl Fuentes
dbf4ec9716 changed test, fixed variable instead os us the let option 2018-02-08 16:36:35 +01:00
Raúl Fuentes
ebebbdf078 Added bigger pool for random seeds, now with a 9 * 10e-07 % of chance of appearing, also added test to cover edge cases (case in fact, the coincidence of the seeds it's correct)
Conflicts:
	app/controllers/budgets/investments_controller.rb
2018-02-08 16:33:15 +01:00
Raúl Fuentes
ae25fdfc15 fix for the flaky 2018-02-08 16:29:21 +01:00
iagirre
80f97b3ca6 The flaky test has been modified completely to test the functionality described. JS has been avoided because it was one of the problems involved and it wasn't completely necessary. 2018-02-08 14:47:10 +01:00
Raimond Garcia
f5c5293321 Merge pull request #2444 from consul/specs
Improve spec boot time and clean up logs
2018-02-06 17:15:03 +01:00
rgarcia
3a182629ca Remove default profiling
This makes tests run a tiny bit faster and cleans up the logs when
running specs locally

We can still configure rspec to run the profiler when we go into improving spec performance
2018-02-06 12:22:34 +01:00
rgarcia
7b7a426f6a Run Coveralls only in Travis CI
We were seeing a log message when running specs locally

```
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's 'rails' settings.
```

As Coveralls is mainly used in Travis CI, we do not need to load it in
every spec run
2018-02-06 12:22:34 +01:00
rgarcia
6f4d23fdef Remove circular argument reference warning
We were seeing this warning when running specs
`spec/features/admin/budgets_spec.rb:322: warning: circular argument
reference - phase_kind`

This commit should fix the warning
2018-02-06 12:22:34 +01:00
BertoCQ
087c8b0a99 Merge pull request #2395 from consul/hidden-comments
Hidden comments
2018-02-05 20:27:05 +01:00