Skip to content

Commit

Permalink
Unify reply comments specs
Browse files Browse the repository at this point in the history
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".
  • Loading branch information
taitus committed Mar 25, 2024
1 parent ed5ba05 commit d3f4c7f
Show file tree
Hide file tree
Showing 8 changed files with 22 additions and 181 deletions.
22 changes: 0 additions & 22 deletions spec/system/comments/budget_investments_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,6 @@

it_behaves_like "flaggable", :budget_investment_comment

scenario "Reply" do
citizen = create(:user, username: "Ana")
manuela = create(:user, username: "Manuela")
comment = create(:comment, commentable: investment, user: citizen)

login_as(manuela)
visit budget_investment_path(investment.budget, investment)

click_link "Reply"

within "#js-comment-form-comment_#{comment.id}" do
fill_in "Leave your comment", with: "It will be done next week."
click_button "Publish reply"
end

within "#comment_#{comment.id}" do
expect(page).to have_content "It will be done next week."
end

expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}"
end

scenario "Reply update parent comment responses count" do
comment = create(:comment, commentable: investment)

Expand Down
22 changes: 0 additions & 22 deletions spec/system/comments/debates_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -77,28 +77,6 @@
end
end

scenario "Reply" do
citizen = create(:user, username: "Ana")
manuela = create(:user, username: "Manuela")
comment = create(:comment, commentable: debate, user: citizen)

login_as(manuela)
visit debate_path(debate)

click_link "Reply"

within "#js-comment-form-comment_#{comment.id}" do
fill_in "Leave your comment", with: "It will be done next week."
click_button "Publish reply"
end

within "#comment_#{comment.id}" do
expect(page).to have_content "It will be done next week."
end

expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}"
end

scenario "Reply to reply" do
create(:comment, commentable: debate, body: "Any estimates?")

Expand Down
23 changes: 0 additions & 23 deletions spec/system/comments/legislation_annotations_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,6 @@

it_behaves_like "flaggable", :legislation_annotation_comment

scenario "Reply" do
citizen = create(:user, username: "Ana")
manuela = create(:user, username: "Manuela")
annotation = create(:legislation_annotation, author: citizen)
comment = annotation.comments.first

login_as(manuela)
visit polymorphic_path(annotation)

click_link "Reply"

within "#js-comment-form-comment_#{comment.id}" do
fill_in "Leave your comment", with: "It will be done next week."
click_button "Publish reply"
end

within "#comment_#{comment.id}" do
expect(page).to have_content "It will be done next week."
end

expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}"
end

scenario "Reply update parent comment responses count" do
manuela = create(:user, :level_two, username: "Manuela")
annotation = create(:legislation_annotation)
Expand Down
22 changes: 0 additions & 22 deletions spec/system/comments/legislation_questions_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,28 +10,6 @@
it_behaves_like "flaggable", :legislation_question_comment
end

scenario "Reply" do
citizen = create(:user, username: "Ana")
manuela = create(:user, :level_two, username: "Manuela")
comment = create(:comment, commentable: question, user: citizen)

login_as(manuela)
visit legislation_process_question_path(question.process, question)

click_link "Reply"

within "#js-comment-form-comment_#{comment.id}" do
fill_in "Leave your answer", with: "It will be done next week."
click_button "Publish reply"
end

within "#comment_#{comment.id}" do
expect(page).to have_content "It will be done next week."
end

expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}"
end

scenario "Reply update parent comment responses count" do
manuela = create(:user, :level_two, username: "Manuela")
comment = create(:comment, commentable: question)
Expand Down
22 changes: 0 additions & 22 deletions spec/system/comments/polls_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,6 @@
let(:user) { create(:user) }
let(:poll) { create(:poll, author: create(:user)) }

scenario "Reply" do
citizen = create(:user, username: "Ana")
manuela = create(:user, username: "Manuela")
comment = create(:comment, commentable: poll, user: citizen)

login_as(manuela)
visit poll_path(poll)

click_link "Reply"

within "#js-comment-form-comment_#{comment.id}" do
fill_in "Leave your comment", with: "It will be done next week."
click_button "Publish reply"
end

within "#comment_#{comment.id}" do
expect(page).to have_content "It will be done next week."
end

expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}"
end

scenario "Reply update parent comment responses count" do
comment = create(:comment, commentable: poll)

Expand Down
22 changes: 0 additions & 22 deletions spec/system/comments/proposals_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,6 @@

it_behaves_like "flaggable", :proposal_comment

scenario "Reply" do
citizen = create(:user, username: "Ana")
manuela = create(:user, username: "Manuela")
comment = create(:comment, commentable: proposal, user: citizen)

login_as(manuela)
visit proposal_path(proposal)

click_link "Reply"

within "#js-comment-form-comment_#{comment.id}" do
fill_in "Leave your comment", with: "It will be done next week."
click_button "Publish reply"
end

within "#comment_#{comment.id}" do
expect(page).to have_content "It will be done next week."
end

expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}"
end

scenario "Reply update parent comment responses count" do
comment = create(:comment, commentable: proposal)

Expand Down
48 changes: 0 additions & 48 deletions spec/system/comments/topics_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,6 @@

it_behaves_like "flaggable", :topic_with_community_comment

scenario "Reply" do
community = proposal.community
topic = create(:topic, community: community)
citizen = create(:user, username: "Ana")
manuela = create(:user, username: "Manuela")
comment = create(:comment, commentable: topic, user: citizen)

login_as(manuela)
visit community_topic_path(community, topic)

click_link "Reply"

within "#js-comment-form-comment_#{comment.id}" do
fill_in "Leave your comment", with: "It will be done next week."
click_button "Publish reply"
end

within "#comment_#{comment.id}" do
expect(page).to have_content "It will be done next week."
end

expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}"
end

scenario "Reply update parent comment responses count" do
community = proposal.community
topic = create(:topic, community: community)
Expand Down Expand Up @@ -334,30 +310,6 @@
let(:user) { create(:user) }
let(:investment) { create(:budget_investment) }

scenario "Reply" do
community = investment.community
topic = create(:topic, community: community)
citizen = create(:user, username: "Ana")
manuela = create(:user, username: "Manuela")
comment = create(:comment, commentable: topic, user: citizen)

login_as(manuela)
visit community_topic_path(community, topic)

click_link "Reply"

within "#js-comment-form-comment_#{comment.id}" do
fill_in "Leave your comment", with: "It will be done next week."
click_button "Publish reply"
end

within "#comment_#{comment.id}" do
expect(page).to have_content "It will be done next week."
end

expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}"
end

scenario "Errors on reply" do
community = investment.community
topic = create(:topic, community: community)
Expand Down
22 changes: 22 additions & 0 deletions spec/system/comments_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,28 @@
end
end

scenario "Reply" do
comment = create(:comment, commentable: resource)

login_as(user)
visit polymorphic_path(resource)

within "#comment_#{comment.id}" do
click_link "Reply"
end

within "#js-comment-form-comment_#{comment.id}" do
fill_in fill_text, with: "It will be done next week."
click_button "Publish reply"
end

within "#comment_#{comment.id}" do
expect(page).to have_content "It will be done next week."
end

expect(page).not_to have_css "#js-comment-form-comment_#{comment.id}"
end

scenario "Errors on create" do
login_as(user)
visit polymorphic_path(resource)
Expand Down

0 comments on commit d3f4c7f

Please sign in to comment.