Make tests pass with action text
This commit is contained in:
@@ -27,7 +27,7 @@ gem "rqrcode"
|
||||
gem "redcarpet"
|
||||
gem "rouge"
|
||||
gem "jbuilder"
|
||||
gem "actiontext-lexical", github: "basecamp/actiontext-lexical", branch: "initial"
|
||||
gem "actiontext-lexical", github: "basecamp/actiontext-lexical"
|
||||
gem "image_processing", "~> 1.14"
|
||||
|
||||
# Telemetry and logging
|
||||
|
||||
+1
-2
@@ -1,7 +1,6 @@
|
||||
GIT
|
||||
remote: https://github.com/basecamp/actiontext-lexical.git
|
||||
revision: 8804035239fc0ba320dcb3cce47d56297af37634
|
||||
branch: initial
|
||||
revision: 19038b86b8617062adbb930990edaacc1f643e3d
|
||||
specs:
|
||||
actiontext-lexical (0.1.0)
|
||||
rails (>= 8.0.2)
|
||||
|
||||
@@ -17,11 +17,11 @@ class Cards::CommentsControllerTest < ActionDispatch::IntegrationTest
|
||||
put card_comment_path(cards(:logo), comments(:logo_agreement_kevin)), params: { comment: { body: "I've changed my mind" } }
|
||||
|
||||
assert_response :success
|
||||
assert_equal "I've changed my mind", comments(:logo_agreement_kevin).reload.body.content
|
||||
assert_action_text "I've changed my mind", comments(:logo_agreement_kevin).reload.body
|
||||
end
|
||||
|
||||
test "update another user's comment" do
|
||||
assert_no_changes "comments(:logo_agreement_jz).body.content" do
|
||||
assert_no_changes ->{ comments(:logo_agreement_jz).reload.body.to_s } do
|
||||
put card_comment_path(cards(:logo), comments(:logo_agreement_jz)), params: { comment: { body: "I've changed my mind" } }
|
||||
end
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
require "test_helper"
|
||||
|
||||
class UploadsControllerTest < ActionDispatch::IntegrationTest
|
||||
setup do
|
||||
sign_in_as :kevin
|
||||
end
|
||||
|
||||
test "create" do
|
||||
assert_changes -> { ActiveStorage::Attachment.count }, 1 do
|
||||
post uploads_path(format: "json"), params: { file: fixture_file_upload("moon.jpg", "image/jpeg") }, as: :xhr
|
||||
end
|
||||
|
||||
assert_response :success
|
||||
assert_equal ActiveStorage::Attachment.last.slug_url(host: "#{ApplicationRecord.current_tenant}.example.com", port: nil), response.parsed_body["fileUrl"]
|
||||
assert_equal "image/jpeg", response.parsed_body["mimetype"]
|
||||
assert_equal "moon.jpg", response.parsed_body["fileName"]
|
||||
end
|
||||
|
||||
test "show" do
|
||||
accounts("37s").uploads.attach fixture_file_upload("moon.jpg", "image/jpeg")
|
||||
get upload_path(slug: accounts("37s").uploads.last.slug)
|
||||
assert_response :redirect
|
||||
assert_match /\/rails\/active_storage\/.*\/moon\.jpg/, @response.redirect_url
|
||||
end
|
||||
end
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
logo_agreement_jz:
|
||||
record: logo_agreement_jz (Comment)
|
||||
name: body
|
||||
content: I agree.
|
||||
|
||||
logo_agreement_kevin:
|
||||
record: logo_agreement_kevin (Comment)
|
||||
name: body
|
||||
content: Same, let’s do it.
|
||||
|
||||
layout_overflowing_david:
|
||||
record: layout_overflowing_david (Comment)
|
||||
name: body
|
||||
content: The text is overflowing the container.
|
||||
+16
-4
@@ -1,4 +1,16 @@
|
||||
# one:
|
||||
# record: name_of_fixture (ClassOfFixture)
|
||||
# name: content
|
||||
# body: <p>In a <i>million</i> stars!</p>
|
||||
logo_agreement_jz:
|
||||
record: logo_agreement_jz (Comment)
|
||||
name: body
|
||||
body: I agree.
|
||||
|
||||
logo_agreement_kevin:
|
||||
record: logo_agreement_kevin (Comment)
|
||||
name: body
|
||||
body: Same, let’s do it.
|
||||
|
||||
layout_overflowing_david:
|
||||
record: layout_overflowing_david (Comment)
|
||||
name: body
|
||||
body: The text is overflowing the container.
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ module ActiveSupport
|
||||
fixtures :all
|
||||
|
||||
include ActiveJob::TestHelper
|
||||
include CardTestHelper, ChangeTestHelper, SessionTestHelper
|
||||
include ActionTextTestHelper, CardTestHelper, ChangeTestHelper, SessionTestHelper
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
module ActionTextTestHelper
|
||||
def assert_action_text(expected_html, content)
|
||||
assert_equal_html <<~HTML, content.to_s
|
||||
<div class="action-text-content">#{expected_html}</action-text-content>
|
||||
HTML
|
||||
end
|
||||
|
||||
def assert_equal_html(expected, actual)
|
||||
assert_equal normalize_html(expected), normalize_html(actual)
|
||||
end
|
||||
|
||||
def normalize_html(html)
|
||||
Nokogiri::HTML.fragment(html).tap do |fragment|
|
||||
fragment.traverse do |node|
|
||||
if node.text?
|
||||
node.content = node.text.strip.gsub(/\s+/, ' ')
|
||||
end
|
||||
end
|
||||
end.to_html.strip
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user