Files
growstuff/spec/features/comments/commenting_a_comment_spec.rb
google-labs-jules[bot] 8564ec7a7c Add comments to photos (#4130)
* Add comments to photos

Extend the photo show page to support comments by logged in users.

- Make the Comment model polymorphic.
- Update the Photo and Post models to have comments.
- Update the comments controller to handle the polymorphic association.
- Update the photo show page to display comments and a comment form.
- Create a reusable comments partial.

* Add migration

* Fix tests

* Fix tests

* Slightly fix tests

* Fix variables

* Add field

* Refactor slightly

* Refactor slightly

* Refactor slightly

* Refactor

* Photos respond to this as well

* Refactor to polymorphic_url

* Rename

* Wrong relationship

* Refactor and fix tests

* Fix relationships

* Fix rendering

* Fix tests

* Fix model tests

* Fix test

* Fix test

* Fix test

* Fix test

* Fix controller spec

* Fix view tests

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2025-08-24 21:10:16 +09:30

39 lines
1.1 KiB
Ruby

# frozen_string_literal: true
require 'rails_helper'
describe 'Commenting on a post' do
include_context 'signed in member'
let(:member) { create(:member) }
let(:post) { create(:post, author: member) }
before { visit new_comment_path(comment: { commentable_type: "Post", commentable_id: post.id }) }
it_behaves_like 'is accessible'
it "creating a comment" do
fill_in "comment_body", with: "This is a sample test for comment"
click_button "Post comment"
expect(page).to have_content "comment was successfully created."
expect(page).to have_content "Posted by"
page.percy_snapshot(page, name: 'Posting a comment')
end
context "editing a comment" do
let(:existing_comment) { create(:comment, commentable: post, author: member) }
before do
visit edit_comment_path existing_comment
end
it_behaves_like 'is accessible'
it "saving edit" do
fill_in "comment_body", with: "Testing edit for comment"
click_button "Post comment"
expect(page).to have_content "comment was successfully updated."
expect(page).to have_content "edited at"
end
end
end