Commit Graph

2930 Commits

Author SHA1 Message Date
Juan Salvador Pérez García
8bb3d5b3ab frozen_string_literal removed
frozen_string_literal magic comment has been removed until a decission
is taken regarding to its convenience.
2018-07-17 17:53:18 +02:00
Juan Salvador Pérez García
f9a085a400 Implements graph for dashboard
Implements graph secion for dashboard.

Dashboard related actions have been agrupated inside a menu in the admin
section.

Minor bugfixes.
2018-07-17 17:53:18 +02:00
Juan Salvador Pérez García
c1a9f1d138 Addressed comments from sprint meeting 22/06/2018
New group created in administration menu including dashboard resources/
proposed tasks and pending tasks for the administrator.

Some unused files have been removed.
2018-07-17 17:52:48 +02:00
Juan Salvador Pérez García
e1ac6bfa01 Fixed issue shown resources in the dashboard 2018-07-17 17:52:48 +02:00
Juan Salvador Pérez García
03e8d36fd1 Chaned max wait time for capybara 2018-07-17 17:52:47 +02:00
Juan Salvador Pérez García
633cf688b2 Increased wait time for capybara 2018-07-17 17:52:47 +02:00
Juan Salvador Pérez García
53ce073b11 Changes in specs
Increased the default_max_wait_time parameter trying to get rid of a
weird issue
2018-07-17 17:52:47 +02:00
Juan Salvador Pérez García
33b3431c70 Implements #150
Adds an entry inside moderation section that allows moderators to check
pending tasks and mark them as solved.
2018-07-17 17:52:47 +02:00
Juan Salvador Pérez García
83f78b1940 Fixes #135
Adds a table with proposed actions in the dashboard. The user can mark
an action as executed.
2018-07-17 17:51:13 +02:00
Juan Salvador Pérez García
9f27d73240 Fixed failing specs
Fixed failing specs due to turbolinks not being able to load the page
befor Capybara.default_max_wait_time seconds.

Added gem that creates screenshots of failing specs.
2018-07-17 17:50:47 +02:00
Juan Salvador Pérez García
358aa14ed3 Fixed failing specs 2018-07-17 17:50:47 +02:00
Juan Salvador Pérez García
96d5a9b5ff Fixed failing spec 2018-07-17 17:50:47 +02:00
Juan Salvador Pérez García
426e244727 Fixed failing test 2018-07-17 17:50:47 +02:00
Juan Salvador Pérez García
a05e5c003f Fixed failing tests 2018-07-17 17:50:46 +02:00
Juan Salvador Pérez García
d8d458f1db Fixed test environment inside docker 2018-07-17 17:50:05 +02:00
Juan Salvador Pérez García
e4e0cb65de Implements #142
Dashboard actions can be proposed actions or resources
2018-07-17 17:50:05 +02:00
Juan Salvador Pérez García
1464bddfa8 Fixes #134
Adds an administration interface for the proposal dashboard actions.
2018-07-17 17:48:46 +02:00
Juan Salvador Pérez García
77dd60427d Implements story #136
Adds draft state for proposals
2018-07-17 17:46:54 +02:00
Angel Perez
31c16406c0 Move disable recommendations permissions to Abilities::Common model 2018-07-15 21:28:58 -04:00
Angel Perez
463c753880 Recommendations are automatically disabled if dismissed by user 2018-07-15 21:28:58 -04:00
Angel Perez
0b7967440f Recommendations for users are enabled by default 2018-07-15 21:28:58 -04:00
Angel Perez
0ac6033ff6 Refactor recommendations specs to improve DRYness 2018-07-15 21:28:57 -04:00
Angel Perez
251441e109 Users can now hide recommendations 2018-07-15 21:28:57 -04:00
Angel Perez
4275069a1e Include tests for recommendations feature 2018-07-15 21:28:57 -04:00
decabeza
bdb3f30e40 Adds recommendations on proposals index 2018-07-15 21:28:57 -04:00
decabeza
36a5ff39b8 Adds recommendations on debates index 2018-07-15 21:28:57 -04:00
Raimond Garcia
0695c2038c Merge pull request #2734 from javierv/2713-fix_flaky_update_votes_spec
Fix flaky specs: Votes Debates and Voting comments Update
2018-07-15 14:35:18 +02:00
rgarcia
225166a5eb Remove focus from specs 2018-07-15 13:58:32 +02:00
Javier Martín
32504b8840 Make Capybara check the page between votes.
As pointed out in PR #2734:

"After clicking the first link, there's an AJAX request which replaces
the existing `.in-favor a` and `.against a` links with new elements. So
if Capybara tries to click the existing `.against a` link at the same
moment it's being replaced, clicking the link won't generate a new
request".

Making Capybara check the page for new content before clicking the
second link solves the problem, in the same way 4ddc869 solved the same
problem in the comments section.
2018-07-13 22:58:12 +02:00
Angel Perez
4ddc869441 Mitigate recurrent flaky specs for voting comments 2018-07-13 22:42:41 +02:00
decabeza
bbaec57c8a Adds message in budget investment show if project is winner 2018-07-13 18:37:16 +02:00
Angel Perez
306b6d8967 Fix failing admin/banners scenario 2018-07-12 10:17:25 -04:00
iagirre
0d9da5398b Fix banners in user pages
Banners were not been shown in certain pages; now
they are.

Spec to check if the banner is been shown correctly
added. Before it was in admins specs, now it has it's
own spec out of admins folder.
2018-07-12 10:17:25 -04:00
iagirre
5ce08532cb Update PR with master
Rebase master branch so that this PR can
be updated with the latest changes.
Conflicts has been solved. dev_seeds
has been also adapted to the new format
(it all separated to be easier to manage).
Some specs has been updated to work with
selenium-webkit.
2018-07-12 10:17:25 -04:00
iagirre
82cb8d4c52 Changes suggested in PR:
* Delete all things related to banner images and styles (in code)
* Add a new test to check that the banner is showing correctly
* Update the specs accordingly to match the changes

Update dev_seed to set a random background_color and a font_color for banners (and remove everything about image and style)
Add a rake task to migrate the banner style to backgroun_color and font_color (so that the banners have the same colors than before)
2018-07-12 10:17:24 -04:00
iagirre
bf69a7bba7 Specs added to test the change of background and font color with color-picker and text-field 2018-07-12 10:16:47 -04:00
Raimond Garcia
3e4d095e6f Merge pull request #2719 from javierv/2718-fix_flaky_milestone_spec
Fix flaky spec: Budget Investments Show milestones
2018-07-12 16:07:48 +02:00
Raimond Garcia
046b620848 Merge pull request #2712 from javierv/2520_and_2521-fix_flaky_results_specs
Fix flaky specs: Officing Results Add/Edit results
2018-07-12 16:06:30 +02:00
Raimond Garcia
06689d9cc6 Merge pull request #2697 from javierv/2558-fix_flay_spec_supporting_proposals
Fix flaky spec: Proposals Voting Voting proposals on behalf of someone in show view
2018-07-12 16:04:41 +02:00
Alberto
b8396135e9 Merge pull request #2752 from consul/following-hidden-proposals
Deal gracefully with hidden followable in my activity
2018-07-10 18:44:34 +02:00
rgarcia
88cde6d018 Deal gracefully with hidden followable in my activity
We were seeing an exception when a user was following a proposal and
that proposal becomes hidden

With this commit we are skipping this proposals and hopefully fixing
this exception

We are also adjusting the count of followed proposals, without
including hidden proposals. It might be cleaner, to remove a `Follow`
when its `Followable` becomes hidden. But then we should probably
activate the `Follow` again if the `Followable` becomes non-hidden…

For now this commit should suffice 😌
2018-07-10 17:50:51 +02:00
rgarcia
f670019325 Deal gracefully with recommendations of hidden proposals
We were seeing an exceptions in the home page when displaying
recommendations. This was due to trying to load tags of hidden proposals

With this commit we are skipping proposals that that have been hidden,
which will hopefully solve this exception
2018-07-10 17:47:28 +02:00
Javier Martín
735eab8e71 Avoid date changes during residence tests.
As it happened with results (commit 4a559ed), these tests failed if
`Date.current` changes between the moment records are created and the
moment the rest of the test is executed.
2018-07-09 00:17:15 +02:00
Javier Martín
0cf799add6 Use dynamic times and dates in factories.
The tests depending on the date changing were still failing because
Date.current was being stubbed after loading the factories. The
following lines affected these specific tests:

factory :poll_officer_assignment, class: 'Poll::OfficerAssignment' do
(...)
  date Date.current
end

So if the tests were executed right before midnight, the sequence was:

1. The factories file was loaded, assigning Date.current to the date of
every Poll::OfficerAssignment to be created.
2. Time passed, so now it was after midnight.
3. The `travel_to` method freezed time, after midnight.
4. A Poll::OfficerAssignment factory was created, using the date it was
before midnight.

Using dynamic fixtures solves the problem:

factory :poll_officer_assignment, class: 'Poll::OfficerAssignment' do
(...)
  date { Date.current }
end

Now the sequence is:

1. The factories file is loaded, and since it finds a block, doesn't
assign a static value to every Poll::OfficerAssignment to be created.
2. Time passes, so now it's after midnight.
3. The `travel_to` method freezes time, after midnight.
4. A Poll::OfficerAssignment factory was created, and in executes the
block, using the current date, that is, after midnight.
2018-07-09 00:06:55 +02:00
Javier Martín
de0afe1621 Don't monkey patch ActiveSupport.
It could have side effects (for example, a conflict after upgrading to
Rails 5).

Thanks @aitbw for the suggestion!
2018-07-09 00:06:55 +02:00
Javier Martín
4a559ed3cd Avoid date changes during results tests.
As explained by @iagirre with pinpoint accuracy [1]:

"If the officer_assignments are created at 23:59:59 and the rest of the
test is executed after 00:00:00, the dates for the objects and the
`Date.current` (used to check if there are any shifts today) won't be
the same, because the shift will be for, lets say, 07/03/2018 and
`Date.current` will be 08/03/2018, so, there are no shifts."

Freezing time avoids this issue.

Related to issues #2520 and #2521.

[1] https://github.com/AyuntamientoMadrid/consul/pull/1342
2018-07-09 00:06:55 +02:00
decabeza
f213768035 Removes duplicated spec 2018-07-05 18:14:22 +02:00
decabeza
21f3d39c6a Removes poll budget creation on specs 2018-07-04 18:12:43 +02:00
decabeza
16ff5c4400 Hides sidebar menus if officer has no shifts assigned 2018-07-04 17:22:03 +02:00
Javier Martín
b1996e5694 Check page between AJAX requests in proposals spec.
There was a flaky spec supporting proposals. It's hard to reproduce and
be sure about what was going on, so here is my best guess. Given the
code:

```
within(".proposals-list") { click_link proposal.title }
within("#proposal_#{proposal.id}_votes") { click_link('Support') }
```

The first clicked link generates an AJAX request. Usually, Capybara
would wait for the AJAX request to generate a "Support" link in the
element `#proposal_XX_votes`. However, there's already a
`#proposal_XX_votes` element with a "Support" link on the proposals
index page!

So Capybara doesn't have to wait for the AJAX request to finish before
clicking the "Support" link. From then on, anything can happen.

Another option that works:

```
within(".proposals-list") { click_link proposal.title }
within(".proposal-show #proposal_#{proposal.id}_votes") { click_link('Support') }
```

With this code, the link selector fails on the proposals index page, and
Capybara waits for the AJAX request to finish.

Related to issue #2558.
2018-07-04 00:00:51 +02:00