Commit Graph

5781 Commits

Author SHA1 Message Date
Javi Martín
c29ad265c6 Add missing alt attribute to special avatars
The `alt` attribute is mandatory in image tags. In this case, we're
leaving it empty because we also display text showing whether comments
are made by administrators, moderators or organizations.
2024-04-11 18:48:33 +02:00
Javi Martín
2c9c5d9cd4 Extract component to render avatars in comments
This way it'll be easier to add tests for it and refactor it.
2024-04-11 18:48:33 +02:00
Javi Martín
35659d4419 Replace initialjs-rails with custom avatar code
The initialjs-rails gem hasn't been maintained for years, and it
currently requires `railties < 7.0`, meaning we can't upgrade to Rails 7
while we depend on it.

Since the code in the gem is simple, and we were already rewriting its
most complex part (generating a background color), we can implement the
same code, only we're using Ruby instead of JavaScript. This way, the
avatars will be shown on browsers without JavaScript as well. Since
we're adding a component test that checks SVG images are displayed even
without JavaScript, we no longer need the test that checked images were
displayed after AJAX requests.

Now the tests show the user experience better; people don't care about
the internal name used to select the initial (which is what we were
checking); they care about the initial actually displayed.

Note initialjs generated an <img> tag using a `src="data:image/svg+xml;`
attribute. We're generating an <svg> tag instead, because it's easier.
For this reason, we need to change the code slightly, giving the <svg>
tag the `img` role and using `aria-label` so its contents won't be read
aloud by screen readers. We could give it a `presentation` role instead
and forget about `aria-label`, but then screen readers would read the
text anyway (or, at least, some of them would).
2024-04-11 18:48:33 +02:00
Javi Martín
d3b1b21d3d Extract matcher to check for avatars
We're going to change the code to render avatars, and having a matcher
will make it easier.
2024-04-11 18:48:33 +02:00
Javi Martín
9beb1608c4 Remove alt attribute in avatar images
These images are always displayed next to a username, meaning people
using screen readers were hearing the same username twice in a row.

Even though we're about to replace the initialjs gem, we're making this
change in case so we've got one more test and we can check everything
keeps working after replacing the gem.
2024-04-11 18:48:33 +02:00
CoslaJohn
c4d8c92ae2 Change the order in which votes are displayed to be in the order they were selected by the voter
Note that the `budget` parameter was added to the `delete_path` method
so it works in the tests; on production, it worked because this
component is only rendered on pages which already have the `budget`
parameter.

Co-authored-by: Javi Martín <javim@elretirao.net>
2024-04-04 18:47:03 +02:00
dependabot[bot]
f4203909db Bump rubocop from 1.56.4 to 1.61.0
This version fixes false negatives for Lint/SymbolConversion when using
string interpolation, for Style/RedundantArgument when using the safe
navigation operator, for Style/RedundantParentheses when logical
operators are involved and for Style/RedundantReturn with lambda ending
with return. We're applying the new rules.

Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.56.4 to 1.61.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.56.4...v1.61.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-02 16:31:10 +02:00
Javi Martín
c8c1b18bc1 Fix RSpec/LetBeforeExamples rubocop offense
This was accidentally introduced in commit 64aa1ffe0. Pronto didn't
detect it because the line itself was fine; the problem lied in its
place within the file.
2024-03-30 02:08:49 +01:00
CoslaJohn
237bfb4fad Change the english translation of check ballot to avoid confusion 2024-03-29 23:41:05 +01:00
Sebastia
d76f95459e Merge pull request #5369 from consuldemocracy/refactor_comments_specs
Make comments specs faster
2024-03-25 15:04:04 +01:00
taitus
6987c2e7df Remove unnecessary specs
All these types of tests have already been grouped together in the
comments_specs file which contains different factories including
budget_investments.

I don't think it is necessary to maintain these tests.
2024-03-25 07:59:42 +01:00
taitus
64aa1ffe06 Move notifiable in app shared example to questions specs 2024-03-25 07:59:42 +01:00
taitus
ad04ea76f5 Remove unused spec file 2024-03-25 07:59:42 +01:00
taitus
64de5eb81c Improve describe text 2024-03-25 07:59:42 +01:00
taitus
793eaf4429 Remove unnecessary specs
The test "display administrator id on public views" is not correct. The valuation comments
are not display never on public views. If we reload this admin page we can see that the
description is render instead of administrator_id as we can see at the upper test:

```
scenario "display administrator description on admin views"
```

The deleted test was passed because there is an error at the moment to render the comments.
As we can see in the file ´app/views/comments/create.js.erb:10´ we try render comment
without valuation value:

```
App.Comments.add_comment(parent_id, "<li><%= j(render @comment) %></li>");
```
That it is necessary to render correctly the description or the id.

By other hand the test "public users not see admin description"  is already being checked
 in the 'system/comments_specs'. However, we are going to add a new expectation to
make sure that the admin description does not appear on the public pages.
2024-03-25 07:59:42 +01:00
taitus
3f1561e408 Unify flaggable specs 2024-03-25 07:59:42 +01:00
taitus
f328d53f41 Unify submit button comments specs 2024-03-25 07:59:42 +01:00
taitus
e3ce8a85fa Unify show comments specs 2024-03-25 07:59:42 +01:00
taitus
886aee72fc Unify reply to reply comments specs 2024-03-25 07:59:42 +01:00
taitus
8da4c60c2a Unify hide comments specs 2024-03-25 07:59:42 +01:00
taitus
8ba16c2330 Unify collapse comments specs 2024-03-25 07:59:42 +01:00
taitus
093ad07a14 Unify voting comments allow undoing votes specs 2024-03-25 07:59:42 +01:00
taitus
992a8182ff Unify voting comments update specs 2024-03-25 07:59:42 +01:00
taitus
35bc03f640 Unify voting comments create specs 2024-03-25 07:59:42 +01:00
taitus
dbd419e75d Unify voting comments show specs 2024-03-25 07:59:42 +01:00
taitus
57805747a2 Simplify administrators comments tests 2024-03-25 07:59:42 +01:00
taitus
79d00e7b92 Unify can not comment as a moderator specs 2024-03-25 07:59:42 +01:00
taitus
ac740f3657 Unify reply as an administrator
Note that the click_link "Reply" is now inside a "within".

This is due to the case of "legislation_annotation" before in the original test
no comment was created as it simply took the one created by default when creating
a "legislation_annotation".

```
  annotation = create(:legislation_annotation, author: citizen)
  comment = annotation.comments.first
```

Now to try to unify this test, we always create a comment, and in this case as we
also created the "legislation_annotation" we have 2 comments, so it is necessary
to add the "click_link" inside the "within".
2024-03-25 07:59:42 +01:00
taitus
f9349a4b0d Unify comment as administrator specs 2024-03-25 07:59:42 +01:00
taitus
8a2e0c8e1f Simplify moderator comments tests 2024-03-25 07:59:42 +01:00
taitus
adae022f77 Unify can not comment as an administrator specs 2024-03-25 07:59:42 +01:00
taitus
a949a046ab Unify reply as a moderator specs
Note that the click_link "Reply" is now inside a "within".

This is due to the case of "legislation_annotation" before in the original test
no comment was created as it simply took the one created by default when creating
a "legislation_annotation".

```
  annotation = create(:legislation_annotation, author: citizen)
  comment = annotation.comments.first
```

Now to try to unify this test, we always create a comment, and in this case as we
also created the "legislation_annotation" we have 2 comments, so it is necessary
to add the "click_link" inside the "within".
2024-03-25 07:59:42 +01:00
taitus
1a17ab4ac1 Unify comment as a moderator specs 2024-03-25 07:59:42 +01:00
taitus
154fb19b87 Unify erasing a comment's author comments specs 2024-03-25 07:59:42 +01:00
taitus
df4668004c Unify N replies comments specs 2024-03-25 07:59:42 +01:00
taitus
f0fa004f85 Unify errors on reply comments specs
Note that the click_link "Reply" is now inside a "within".

This is due to the case of "legislation_annotation" before in the original test
no comment was created as it simply took the one created by default when creating
a "legislation_annotation".

```
comment = annotation.comments.first
```

Now to try to unify this test, we always create a comment, and in this case as we
also created the "legislation_annotation" we have 2 comments, so it is necessary
to add the "click_link" inside the "within".
2024-03-25 07:59:42 +01:00
taitus
f4c3e740e6 Unify reply show parent comments specs 2024-03-25 07:59:42 +01:00
taitus
d4f3680dcc Unify reply update parent comments specs 2024-03-25 07:59:42 +01:00
taitus
d3f4c7f99e Unify reply comments specs
Note that the click_link "Reply" is now inside a "within".

This is due to the case of "legislation_annotation" before in the original test
no comment was created as it simply took the one created by default when creating
a "legislation_annotation".

```
  annotation = create(:legislation_annotation, author: citizen)
  comment = annotation.comments.first
```

Now to try to unify this test, we always create a comment, and in this case as we
also created the "legislation_annotation" we have 2 comments, so it is necessary
to add the "click_link" inside the "within".
2024-03-25 07:59:42 +01:00
taitus
ed5ba0592c Unify create comments specs 2024-03-25 07:59:42 +01:00
taitus
d24c2859c4 Unify paginated comments specs 2024-03-25 07:59:42 +01:00
taitus
7006564c31 Unify sanitizes comment spec 2024-03-25 07:59:42 +01:00
taitus
2f01d66557 Unify turns links specs 2024-03-25 07:59:42 +01:00
taitus
b979c17a4b Unify Creation date specs 2024-03-25 07:59:42 +01:00
taitus
98aea85eaa Unify comment order specs 2024-03-25 07:59:42 +01:00
taitus
daab57a21e Unify collapsable comments specs 2024-03-25 07:59:42 +01:00
taitus
0c58e7e3b4 Unify link to comment show specs
Note that, in all cases except in :legislation_annotation, the behavior for
click_link is now slightly different.

Previously, the click_link outsite of within block meant that we made sure there
was only one link with that text in the whole page. Now, in order to unify this
spec we change the behaviour.
2024-03-25 07:59:42 +01:00
taitus
f2e4eec748 Unify show comments specs 2024-03-25 07:59:42 +01:00
taitus
ab79d1e30e Unify index comments specs 2024-03-25 07:59:42 +01:00
taitus
a5e4fb13b4 Unify errors on create comments 2024-03-25 07:59:42 +01:00