このコミットが含まれているのは:
@@ -14,7 +14,6 @@ RSpec.describe 'Locale propagation on write paths', type: :request do
|
||||
expect(tag_name).to have_attributes(
|
||||
script_code: expected_locale.script_code, primary_flg: true)
|
||||
expect(tag_name.tag_id).to be_present
|
||||
expect(tag_name.tag.tag_name_id).to eq(tag_name.id)
|
||||
tag_name.tag
|
||||
end
|
||||
|
||||
@@ -206,7 +205,6 @@ RSpec.describe 'Locale propagation on write paths', type: :request do
|
||||
.to have_attributes(
|
||||
script_code: 'Latn',
|
||||
tag_id: tag.id, primary_flg: false, language_code: 'en')
|
||||
expect(tag.reload.tag_name_id).to eq(english_name.id)
|
||||
primary = TagName.find_by!(tag_id: tag.id, language_code: 'en', primary_flg: true)
|
||||
expect(primary).to have_attributes(name: 'english_original', script_code: 'Latn')
|
||||
end
|
||||
|
||||
@@ -36,10 +36,11 @@ RSpec.describe 'TagVersions API', type: :request do
|
||||
category: category,
|
||||
deprecated_at: deprecated_at,
|
||||
aliases: Array(aliases).join(' '),
|
||||
names: [{ language_code: 'ja', name: name, script_code: 'Jpan',
|
||||
primary_flg: true }] + Array(aliases).map { |alias_name|
|
||||
names: [{ language_code: 'ja', name:, script_code: 'Jpan',
|
||||
primary_flg: true,
|
||||
auto_generated: false }] + Array(aliases).map { |alias_name|
|
||||
{ language_code: 'ja', name: alias_name, script_code: 'Jpan',
|
||||
primary_flg: false }
|
||||
primary_flg: false, auto_generated: false }
|
||||
},
|
||||
parent_tag_ids: Array(parent_tags).map(&:id).join(' '),
|
||||
created_by_user: created_by_user,
|
||||
|
||||
@@ -18,6 +18,18 @@ RSpec.describe 'Tags API', type: :request do
|
||||
response_tags.map { |t| t.fetch('name') }
|
||||
end
|
||||
|
||||
def version_primary_name(version, language_code)
|
||||
version.names.find { |name|
|
||||
name['language_code'] == language_code && name['primary_flg']
|
||||
}.fetch('name')
|
||||
end
|
||||
|
||||
def version_alias_names(version, language_code)
|
||||
version.names.filter_map { |name|
|
||||
name['name'] if name['language_code'] == language_code && !name['primary_flg']
|
||||
}
|
||||
end
|
||||
|
||||
def dummy_material_upload(filename: 'dummy.png', type: 'image/png', body: 'dummy')
|
||||
Rack::Test::UploadedFile.new(StringIO.new(body), type, original_filename: filename)
|
||||
end
|
||||
@@ -687,11 +699,11 @@ RSpec.describe 'Tags API', type: :request do
|
||||
|
||||
expect(versions.map(&:event_type)).to eq(['create', 'update'])
|
||||
|
||||
expect(versions.first.name).to eq('spec_tag')
|
||||
expect(version_primary_name(versions.first, 'ja')).to eq('spec_tag')
|
||||
expect(versions.first.category).to eq('general')
|
||||
expect(versions.first.aliases.split).to include('unko')
|
||||
expect(version_alias_names(versions.first, 'ja')).to include('unko')
|
||||
|
||||
expect(versions.second.name).to eq('new_tag_name')
|
||||
expect(version_primary_name(versions.second, 'ja')).to eq('new_tag_name')
|
||||
expect(versions.second.category).to eq('meme')
|
||||
expect(versions.second.created_by_user_id).to eq(member_user.id)
|
||||
end
|
||||
@@ -1261,13 +1273,13 @@ RSpec.describe 'Tags API', type: :request do
|
||||
|
||||
expect(versions.map(&:event_type)).to eq(['create', 'update'])
|
||||
|
||||
expect(versions.first.name).to eq('spec_tag')
|
||||
expect(version_primary_name(versions.first, 'ja')).to eq('spec_tag')
|
||||
expect(versions.first.category).to eq('general')
|
||||
expect(versions.first.aliases.split).to include('unko')
|
||||
expect(version_alias_names(versions.first, 'ja')).to include('unko')
|
||||
|
||||
expect(versions.second.name).to eq('put_versioned_tag')
|
||||
expect(version_primary_name(versions.second, 'ja')).to eq('put_versioned_tag')
|
||||
expect(versions.second.category).to eq('meta')
|
||||
expect(versions.second.aliases.split).to include('spec_tag')
|
||||
expect(version_alias_names(versions.second, 'ja')).to include('spec_tag')
|
||||
expect(versions.second.created_by_user_id).to eq(member_user.id)
|
||||
end
|
||||
|
||||
@@ -1307,8 +1319,8 @@ RSpec.describe 'Tags API', type: :request do
|
||||
version = tag.tag_versions.order(:version_no).last
|
||||
|
||||
expect(version.event_type).to eq('update')
|
||||
expect(version.name).to eq('spec_tag')
|
||||
expect(version.aliases.split).to contain_exactly('put_roundtrip_b', 'unko')
|
||||
expect(version_primary_name(version, 'ja')).to eq('spec_tag')
|
||||
expect(version_alias_names(version, 'ja')).to contain_exactly('put_roundtrip_b', 'unko')
|
||||
end
|
||||
|
||||
it 'parent tag の snapshot も作成する' do
|
||||
@@ -1490,10 +1502,11 @@ RSpec.describe 'Tags API', type: :request do
|
||||
old_owner_versions = old_owner.tag_versions.order(:version_no)
|
||||
|
||||
expect(old_owner_versions.first.event_type).to eq('create')
|
||||
expect(old_owner_versions.first.aliases.split).to include('put_stolen_alias')
|
||||
expect(version_alias_names(old_owner_versions.first, 'ja')).to include('put_stolen_alias')
|
||||
|
||||
expect(old_owner_versions.second.event_type).to eq('update')
|
||||
expect(old_owner_versions.second.aliases.split).not_to include('put_stolen_alias')
|
||||
expect(version_alias_names(old_owner_versions.second, 'ja'))
|
||||
.not_to include('put_stolen_alias')
|
||||
end
|
||||
|
||||
it '別 tag の alias 名を rename で奪へる' do
|
||||
@@ -1536,7 +1549,8 @@ RSpec.describe 'Tags API', type: :request do
|
||||
old_owner_versions = old_owner.tag_versions.order(:version_no)
|
||||
|
||||
expect(old_owner_versions.last.event_type).to eq('update')
|
||||
expect(old_owner_versions.last.aliases.split).not_to include('put_alias_collision_name')
|
||||
expect(version_alias_names(old_owner_versions.last, 'ja'))
|
||||
.not_to include('put_alias_collision_name')
|
||||
expect(wiki_page.reload.tag_name).to eq(primary_tag_name_for(tag, 'ja'))
|
||||
end
|
||||
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする