このコミットが含まれているのは:
@@ -113,8 +113,8 @@ RSpec.describe 'Posts API', type: :request do
|
||||
'sections' => [])
|
||||
end
|
||||
|
||||
let!(:tag_name) { TagName.create!(name: 'spec_tag') }
|
||||
let!(:tag) { Tag.create!(tag_name: tag_name, category: :general) }
|
||||
let!(:tag_name) { create(:tag_name, name: 'spec_tag') }
|
||||
let!(:tag) { create(:tag, tag_name: tag_name, category: :general) }
|
||||
|
||||
let!(:post_record) do
|
||||
Post.create!(title: 'spec post', url: 'https://example.com/spec').tap do |p|
|
||||
@@ -125,11 +125,11 @@ RSpec.describe 'Posts API', type: :request do
|
||||
describe 'GET /posts' do
|
||||
let!(:user) { create_member_user! }
|
||||
|
||||
let!(:tag_name) { TagName.create!(name: 'spec_tag') }
|
||||
let!(:tag) { Tag.create!(tag_name:, category: :general) }
|
||||
let!(:tag_name2) { TagName.create!(name: 'unko') }
|
||||
let!(:tag2) { Tag.create!(tag_name: tag_name2, category: :deerjikist) }
|
||||
let!(:alias_tag_name) { TagName.create!(name: 'manko', canonical: tag_name) }
|
||||
let!(:tag_name) { create(:tag_name, name: 'spec_tag') }
|
||||
let!(:tag) { create(:tag, tag_name:, category: :general) }
|
||||
let!(:tag_name2) { create(:tag_name, name: 'unko') }
|
||||
let!(:tag2) { create(:tag, tag_name: tag_name2, category: :deerjikist) }
|
||||
let!(:alias_tag_name) { create(:tag_name, :alias, name: 'manko', canonical: tag_name) }
|
||||
|
||||
let!(:hit_post) do
|
||||
Post.create!(uploaded_user: user, title: 'hello spec world',
|
||||
@@ -341,17 +341,17 @@ RSpec.describe 'Posts API', type: :request do
|
||||
end
|
||||
|
||||
context 'when tags contain not:' do
|
||||
let!(:foo_tag_name) { TagName.create!(name: 'not_spec_foo') }
|
||||
let!(:foo_tag) { Tag.create!(tag_name: foo_tag_name, category: :general) }
|
||||
let!(:foo_tag_name) { create(:tag_name, name: 'not_spec_foo') }
|
||||
let!(:foo_tag) { create(:tag, tag_name: foo_tag_name, category: :general) }
|
||||
|
||||
let!(:bar_tag_name) { TagName.create!(name: 'not_spec_bar') }
|
||||
let!(:bar_tag) { Tag.create!(tag_name: bar_tag_name, category: :general) }
|
||||
let!(:bar_tag_name) { create(:tag_name, name: 'not_spec_bar') }
|
||||
let!(:bar_tag) { create(:tag, tag_name: bar_tag_name, category: :general) }
|
||||
|
||||
let!(:baz_tag_name) { TagName.create!(name: 'not_spec_baz') }
|
||||
let!(:baz_tag) { Tag.create!(tag_name: baz_tag_name, category: :general) }
|
||||
let!(:baz_tag_name) { create(:tag_name, name: 'not_spec_baz') }
|
||||
let!(:baz_tag) { create(:tag, tag_name: baz_tag_name, category: :general) }
|
||||
|
||||
let!(:foo_alias_tag_name) do
|
||||
TagName.create!(name: 'not_spec_foo_alias', canonical: foo_tag_name)
|
||||
create(:tag_name, :alias, name: 'not_spec_foo_alias', canonical: foo_tag_name)
|
||||
end
|
||||
|
||||
let!(:foo_only_post) do
|
||||
@@ -772,11 +772,10 @@ RSpec.describe 'Posts API', type: :request do
|
||||
end
|
||||
|
||||
it 'omits deprecated tags' do
|
||||
deprecated_tag = Tag.create!(
|
||||
name: 'deprecated_post_tag',
|
||||
category: :general,
|
||||
deprecated_at: Time.current
|
||||
)
|
||||
deprecated_tag = create(:tag,
|
||||
name: 'deprecated_post_tag',
|
||||
category: :general,
|
||||
deprecated_at: Time.current)
|
||||
PostTag.create!(post: post_record, tag: deprecated_tag)
|
||||
|
||||
request
|
||||
@@ -853,9 +852,9 @@ RSpec.describe 'Posts API', type: :request do
|
||||
|
||||
tags =
|
||||
15.times.map do |i|
|
||||
tag_name = TagName.create!(name: "show_query_tag_#{ i }")
|
||||
tag = Tag.create!(tag_name:, category: :general)
|
||||
TagName.create!(name: "show_query_alias_#{ i }", canonical: tag_name)
|
||||
tag_name = create(:tag_name, name: "show_query_tag_#{ i }")
|
||||
tag = create(:tag, tag_name:, category: :general)
|
||||
create(:tag_name, :alias, name: "show_query_alias_#{ i }", canonical: tag_name)
|
||||
PostTag.create!(post: post_record, tag:)
|
||||
tag
|
||||
end
|
||||
@@ -1000,7 +999,7 @@ RSpec.describe 'Posts API', type: :request do
|
||||
|
||||
describe 'POST /posts' do
|
||||
let(:member) { create(:user, :member) }
|
||||
let!(:alias_tag_name) { TagName.create!(name: 'manko', canonical: tag_name) }
|
||||
let!(:alias_tag_name) { create(:tag_name, :alias, name: 'manko', canonical: tag_name) }
|
||||
|
||||
it '401 when not logged in' do
|
||||
sign_out
|
||||
@@ -1157,11 +1156,10 @@ RSpec.describe 'Posts API', type: :request do
|
||||
end
|
||||
|
||||
it 'rejects a deprecated tag specified directly' do
|
||||
Tag.create!(
|
||||
name: 'deprecated_direct_tag',
|
||||
category: :general,
|
||||
deprecated_at: Time.current
|
||||
)
|
||||
create(:tag,
|
||||
name: 'deprecated_direct_tag',
|
||||
category: :general,
|
||||
deprecated_at: Time.current)
|
||||
sign_in_as(member)
|
||||
|
||||
post '/posts', params: post_write_params(
|
||||
@@ -1178,18 +1176,16 @@ RSpec.describe 'Posts API', type: :request do
|
||||
end
|
||||
|
||||
it 'expands through multiple deprecated parent tags and saves active ancestors' do
|
||||
child = Tag.create!(name: 'active_child', category: :general)
|
||||
deprecated_parent = Tag.create!(
|
||||
name: 'deprecated_parent',
|
||||
category: :general,
|
||||
deprecated_at: Time.current
|
||||
)
|
||||
deprecated_grandparent = Tag.create!(
|
||||
name: 'deprecated_grandparent',
|
||||
category: :general,
|
||||
deprecated_at: Time.current
|
||||
)
|
||||
active_grandparent = Tag.create!(name: 'active_grandparent', category: :general)
|
||||
child = create(:tag, name: 'active_child', category: :general)
|
||||
deprecated_parent = create(:tag,
|
||||
name: 'deprecated_parent',
|
||||
category: :general,
|
||||
deprecated_at: Time.current)
|
||||
deprecated_grandparent = create(:tag,
|
||||
name: 'deprecated_grandparent',
|
||||
category: :general,
|
||||
deprecated_at: Time.current)
|
||||
active_grandparent = create(:tag, name: 'active_grandparent', category: :general)
|
||||
TagImplication.create!(tag: child, parent_tag: deprecated_parent)
|
||||
TagImplication.create!(tag: deprecated_parent, parent_tag: deprecated_grandparent)
|
||||
TagImplication.create!(tag: deprecated_grandparent, parent_tag: active_grandparent)
|
||||
@@ -1622,6 +1618,7 @@ RSpec.describe 'Posts API', type: :request do
|
||||
expect(arguments[:thumbnails].keys).to eq([0])
|
||||
expect(arguments[:host]).to eq('http://www.example.com')
|
||||
end
|
||||
expect(creator).to have_received(:run).with(Locale.nipponese)
|
||||
end
|
||||
|
||||
it 'rejects malformed manifests as a request-level error' do
|
||||
@@ -1658,8 +1655,8 @@ RSpec.describe 'Posts API', type: :request do
|
||||
create(:post_tag_section, post: post_record, tag:,
|
||||
begin_ms: 1000, end_ms: 2000)
|
||||
|
||||
tn2 = TagName.create!(name: 'spec_tag_2')
|
||||
replacement_tag = Tag.create!(tag_name: tn2, category: :general)
|
||||
tn2 = create(:tag_name, name: 'spec_tag_2')
|
||||
replacement_tag = create(:tag, tag_name: tn2, category: :general)
|
||||
|
||||
put "/posts/#{post_record.id}", params: post_update_params(
|
||||
post_record,
|
||||
@@ -1707,11 +1704,10 @@ RSpec.describe 'Posts API', type: :request do
|
||||
end
|
||||
|
||||
it 'rejects a deprecated tag specified directly' do
|
||||
Tag.create!(
|
||||
name: 'deprecated_update_tag',
|
||||
category: :general,
|
||||
deprecated_at: Time.current
|
||||
)
|
||||
create(:tag,
|
||||
name: 'deprecated_update_tag',
|
||||
category: :general,
|
||||
deprecated_at: Time.current)
|
||||
sign_in_as(member)
|
||||
|
||||
put "/posts/#{ post_record.id }", params: post_update_params(
|
||||
@@ -1986,7 +1982,8 @@ RSpec.describe 'Posts API', type: :request do
|
||||
|
||||
base_version = create_post_version_for!(post_record.reload)
|
||||
|
||||
current_tag = Tag.find_or_create_by_tag_name!('current_added_tag', category: :general)
|
||||
current_tag = Tag.find_or_create_by_tag_name!(
|
||||
Locale.nipponese, 'current_added_tag', category: :general)
|
||||
PostTag.create!(post: post_record, tag: current_tag, created_user: member)
|
||||
|
||||
PostVersionRecorder.record!(
|
||||
@@ -2015,7 +2012,8 @@ RSpec.describe 'Posts API', type: :request do
|
||||
|
||||
base_version = create_post_version_for!(post_record.reload)
|
||||
|
||||
current_tag = Tag.find_or_create_by_tag_name!('current_merge_tag', category: :general)
|
||||
current_tag = Tag.find_or_create_by_tag_name!(
|
||||
Locale.nipponese, 'current_merge_tag', category: :general)
|
||||
PostTag.create!(post: post_record, tag: current_tag, created_user: member)
|
||||
|
||||
PostVersionRecorder.record!(
|
||||
@@ -2102,7 +2100,8 @@ RSpec.describe 'Posts API', type: :request do
|
||||
sign_in_as(member)
|
||||
|
||||
nico_tag = create_nico_tag!('nico:relation_source')
|
||||
linked_tag = Tag.find_or_create_by_tag_name!('relation_linked_tag', category: :general)
|
||||
linked_tag = Tag.find_or_create_by_tag_name!(
|
||||
Locale.nipponese, 'relation_linked_tag', category: :general)
|
||||
|
||||
NicoTagRelation.create!(nico_tag:, tag: linked_tag)
|
||||
PostExternalTag.create!(post: post_record, external_tag: nico_tag)
|
||||
@@ -2191,8 +2190,8 @@ RSpec.describe 'Posts API', type: :request do
|
||||
let(:oc_from) { Time.zone.local(2019, 12, 31, 0, 0, 0) }
|
||||
let(:oc_before) { Time.zone.local(2020, 1, 1, 0, 0, 0) }
|
||||
|
||||
let!(:tag_name2) { TagName.create!(name: 'spec_tag_2') }
|
||||
let!(:tag2) { Tag.create!(tag_name: tag_name2, category: :general) }
|
||||
let!(:tag_name2) { create(:tag_name, name: 'spec_tag_2') }
|
||||
let!(:tag2) { create(:tag, tag_name: tag_name2, category: :general) }
|
||||
|
||||
def snapshot_tags(post)
|
||||
post.snapshot_tag_names.join(' ')
|
||||
@@ -2550,8 +2549,8 @@ RSpec.describe 'Posts API', type: :request do
|
||||
sign_in_as(member)
|
||||
base_version = create_post_version_for!(post_record)
|
||||
|
||||
tag_name2 = TagName.create!(name: 'spec_tag_2')
|
||||
Tag.create!(tag_name: tag_name2, category: :general)
|
||||
tag_name2 = create(:tag_name, name: 'spec_tag_2')
|
||||
create(:tag, tag_name: tag_name2, category: :general)
|
||||
|
||||
expect do
|
||||
put "/posts/#{post_record.id}", params: post_write_params(
|
||||
@@ -2715,8 +2714,8 @@ RSpec.describe 'Posts API', type: :request do
|
||||
|
||||
base_version = create_post_version_for!(post_record.reload)
|
||||
|
||||
tag_name2 = TagName.create!(name: 'spec_tag_2')
|
||||
tag2 = Tag.create!(tag_name: tag_name2, category: :general)
|
||||
tag_name2 = create(:tag_name, name: 'spec_tag_2')
|
||||
tag2 = create(:tag, tag_name: tag_name2, category: :general)
|
||||
|
||||
expect {
|
||||
put "/posts/#{post_record.id}", params: post_write_params(
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする