Compare commits

...

8 Commits

Author SHA1 Message Date
Matt Jankowski
aaf3ea52b9
Merge 61e09f25e3 into 624c024766 2025-09-03 10:05:12 +00:00
Matt Jankowski
61e09f25e3 Reduce factory in admin helper 2025-09-02 10:59:56 -04:00
Matt Jankowski
d5ed6f5383 Reduce factory in admin helper 2025-09-02 10:59:56 -04:00
Matt Jankowski
e7396df54c Reduce factory in admin helper 2025-09-02 10:59:56 -04:00
Matt Jankowski
506c05852c Reduce factory in admin helper 2025-09-02 10:59:56 -04:00
Matt Jankowski
07c645c86c Reduce factory in admin helper 2025-09-02 10:59:56 -04:00
Matt Jankowski
e2d114f00b Share common factory setup 2025-09-02 10:59:56 -04:00
Matt Jankowski
caf29d8ad8 Reduce factory in admin helper 2025-09-02 10:59:56 -04:00
6 changed files with 16 additions and 23 deletions

View File

@ -17,7 +17,7 @@ RSpec.describe Admin::AccountModerationNotesHelper do
end end
context 'with account' do context 'with account' do
let(:account) { Fabricate(:account) } let(:account) { Fabricate.build(:account, id: 123) }
it 'returns a labeled avatar link to the account' do it 'returns a labeled avatar link to the account' do
expect(parsed_html.a[:href]).to eq admin_account_path(account.id) expect(parsed_html.a[:href]).to eq admin_account_path(account.id)
@ -39,7 +39,7 @@ RSpec.describe Admin::AccountModerationNotesHelper do
end end
context 'with account' do context 'with account' do
let(:account) { Fabricate(:account) } let(:account) { Fabricate.build(:account, id: 123) }
it 'returns an inline link to the account' do it 'returns an inline link to the account' do
expect(parsed_html.a[:href]).to eq admin_account_path(account.id) expect(parsed_html.a[:href]).to eq admin_account_path(account.id)

View File

@ -4,8 +4,9 @@ require 'rails_helper'
RSpec.describe Admin::DashboardHelper do RSpec.describe Admin::DashboardHelper do
describe 'relevant_account_timestamp' do describe 'relevant_account_timestamp' do
context 'with an account with older sign in' do
let(:account) { Fabricate(:account) } let(:account) { Fabricate(:account) }
context 'with an account with older sign in' do
let(:stamp) { 10.days.ago } let(:stamp) { 10.days.ago }
it 'returns a time element' do it 'returns a time element' do
@ -18,8 +19,6 @@ RSpec.describe Admin::DashboardHelper do
end end
context 'with an account with newer sign in' do context 'with an account with newer sign in' do
let(:account) { Fabricate(:account) }
it 'returns a time element' do it 'returns a time element' do
account.user.update(current_sign_in_at: 10.hours.ago) account.user.update(current_sign_in_at: 10.hours.ago)
result = helper.relevant_account_timestamp(account) result = helper.relevant_account_timestamp(account)
@ -29,8 +28,6 @@ RSpec.describe Admin::DashboardHelper do
end end
context 'with an account where the user is pending' do context 'with an account where the user is pending' do
let(:account) { Fabricate(:account) }
it 'returns a time element' do it 'returns a time element' do
account.user.update(current_sign_in_at: nil) account.user.update(current_sign_in_at: nil)
account.user.update(approved: false) account.user.update(approved: false)
@ -42,7 +39,6 @@ RSpec.describe Admin::DashboardHelper do
end end
context 'with an account with a last status value' do context 'with an account with a last status value' do
let(:account) { Fabricate(:account) }
let(:stamp) { 5.minutes.ago } let(:stamp) { 5.minutes.ago }
it 'returns a time element' do it 'returns a time element' do
@ -56,8 +52,6 @@ RSpec.describe Admin::DashboardHelper do
end end
context 'with an account without sign in or last status or pending' do context 'with an account without sign in or last status or pending' do
let(:account) { Fabricate(:account) }
it 'returns a time element' do it 'returns a time element' do
account.user.update(current_sign_in_at: nil) account.user.update(current_sign_in_at: nil)
result = helper.relevant_account_timestamp(account) result = helper.relevant_account_timestamp(account)

View File

@ -54,7 +54,7 @@ RSpec.describe Admin::Trends::StatusesHelper do
context 'with a status that has emoji' do context 'with a status that has emoji' do
before { Fabricate(:custom_emoji, shortcode: 'florpy') } before { Fabricate(:custom_emoji, shortcode: 'florpy') }
let(:status) { Fabricate(:status, text: 'hello there :florpy:') } let(:status) { Fabricate.build(:status, text: 'hello there :florpy:') }
it 'renders a correct preview text' do it 'renders a correct preview text' do
result = helper.one_line_preview(status) result = helper.one_line_preview(status)

View File

@ -18,7 +18,7 @@ RSpec.describe FormattingHelper do
end end
context 'with a spoiler and an emoji and a poll' do context 'with a spoiler and an emoji and a poll' do
let(:status) { Fabricate(:status, text: 'Hello :world: <>', spoiler_text: 'This is a spoiler<>', poll: Fabricate(:poll, options: %w(Yes<> No))) } let(:status) { Fabricate(:status, text: 'Hello :world: <>', spoiler_text: 'This is a spoiler<>', poll: Fabricate.build(:poll, options: %w(Yes<> No))) }
before { Fabricate :custom_emoji, shortcode: 'world' } before { Fabricate :custom_emoji, shortcode: 'world' }

View File

@ -5,8 +5,10 @@ require 'rails_helper'
RSpec.describe MediaComponentHelper do RSpec.describe MediaComponentHelper do
before { helper.extend controller_helpers } before { helper.extend controller_helpers }
let(:media) { Fabricate.build(:media_attachment, type:, status: Fabricate.build(:status)) }
describe 'render_video_component' do describe 'render_video_component' do
let(:media) { Fabricate(:media_attachment, type: :video, status: Fabricate(:status)) } let(:type) { :video }
let(:result) { helper.render_video_component(media.status) } let(:result) { helper.render_video_component(media.status) }
it 'renders a react component for the video' do it 'renders a react component for the video' do
@ -15,7 +17,7 @@ RSpec.describe MediaComponentHelper do
end end
describe 'render_audio_component' do describe 'render_audio_component' do
let(:media) { Fabricate(:media_attachment, type: :audio, status: Fabricate(:status)) } let(:type) { :audio }
let(:result) { helper.render_audio_component(media.status) } let(:result) { helper.render_audio_component(media.status) }
it 'renders a react component for the audio' do it 'renders a react component for the audio' do
@ -24,7 +26,7 @@ RSpec.describe MediaComponentHelper do
end end
describe 'render_media_gallery_component' do describe 'render_media_gallery_component' do
let(:media) { Fabricate(:media_attachment, type: :audio, status: Fabricate(:status)) } let(:type) { :audio }
let(:result) { helper.render_media_gallery_component(media.status) } let(:result) { helper.render_media_gallery_component(media.status) }
it 'renders a react component for the media gallery' do it 'renders a react component for the media gallery' do

View File

@ -24,16 +24,13 @@ RSpec.describe StatusesHelper do
end end
describe '#media_summary' do describe '#media_summary' do
it 'describes the media on a status' do subject { helper.media_summary(status) }
status = Fabricate :status
Fabricate :media_attachment, status: status, type: :video
Fabricate :media_attachment, status: status, type: :audio
Fabricate :media_attachment, status: status, type: :image
result = helper.media_summary(status) let(:status) { Fabricate.build :status }
expect(result).to eq('Attached: 1 image · 1 video · 1 audio') before { %i(video audio image).each { |type| Fabricate.build :media_attachment, status:, type: } }
end
it { is_expected.to eq('Attached: 1 image · 1 video · 1 audio') }
end end
describe 'visibility_icon' do describe 'visibility_icon' do