Files
growstuff/spec/views/comments/new.html.haml_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

38 lines
953 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
describe "comments/new" do
before do
controller.stub(:current_user) { nil }
@post = FactoryBot.create(:post, body: 'tena koutou ki te ao')
@comment = FactoryBot.create(:comment, commentable: @post)
assign(:comment, @comment)
assign(:comments, [@comment])
assign(:commentable, @post)
render
end
it "shows the text of the post under discussion" do
expect(rendered).to have_content @post.body
end
it "shows previous comments" do
expect(rendered).to have_content @comment.body
end
it "shows the correct comment count" do
expect(rendered).to have_content "1 comment"
end
it "renders new comment form" do
assert_select "form", action: comments_path, method: "post" do
assert_select "textarea#comment_body", name: "comment[body]"
end
end
it 'shows markdown help' do
expect(rendered).to have_content 'Markdown'
end
end