このコミットが含まれているのは:
@@ -96,7 +96,7 @@ RSpec.describe 'Locale propagation on write paths', type: :request do
|
||||
tag = create(:tag)
|
||||
|
||||
put "/tags/#{ tag.id }", params: locale_params.merge(
|
||||
name: tag.name, category: tag.category, deprecated: false,
|
||||
name: primary_tag_name_for(tag, 'ja').name, category: tag.category, deprecated: false,
|
||||
aliases: '', parent_tags: 'locale_parent')
|
||||
|
||||
expect(response).to have_http_status(:ok), response.body
|
||||
@@ -110,11 +110,11 @@ RSpec.describe 'Locale propagation on write paths', type: :request do
|
||||
let!(:english_name) do
|
||||
create(:tag_name, name: 'shared_name', language_code: 'en', script_code: 'Latn')
|
||||
end
|
||||
let!(:english_tag) { create(:tag, tag_name: english_name, category: :material) }
|
||||
let!(:english_tag) { create(:tag, primary_tag_name: english_name, category: :material) }
|
||||
let!(:japanese_tag) do
|
||||
create(:tag, name: 'temporary_japanese', category: :general).tap do |tag|
|
||||
create(:tag, primary_name: 'temporary_japanese', category: :general).tap do |tag|
|
||||
# Isolate lookup from the separately tested uniqueness validation.
|
||||
tag.tag_name.update_columns(name: 'shared_name')
|
||||
primary_tag_name_for(tag, 'ja').update_columns(name: 'shared_name')
|
||||
end
|
||||
end
|
||||
|
||||
@@ -157,7 +157,8 @@ RSpec.describe 'Locale propagation on write paths', type: :request do
|
||||
child = create(:tag)
|
||||
|
||||
put "/tags/#{ child.id }", params: {
|
||||
locale: 'en', name: child.name, category: child.category, deprecated: false,
|
||||
locale: 'en', name: primary_tag_name_for(child, 'ja').name,
|
||||
category: child.category, deprecated: false,
|
||||
aliases: '', parent_tags: 'shared_name' }
|
||||
|
||||
expect(response).to have_http_status(:ok), response.body
|
||||
@@ -180,23 +181,24 @@ RSpec.describe 'Locale propagation on write paths', type: :request do
|
||||
let!(:english_name) do
|
||||
create(:tag_name, name: 'english_original', language_code: 'en', script_code: 'Latn')
|
||||
end
|
||||
let!(:tag) { create(:tag, tag_name: english_name) }
|
||||
let!(:tag) { create(:tag, primary_tag_name: english_name) }
|
||||
|
||||
it 'allows a rename to a name already used in Japanese' do
|
||||
japanese = create(:tag, name: 'rename_target')
|
||||
japanese = create(:tag, primary_name: 'rename_target')
|
||||
|
||||
patch "/tags/#{ tag.id }", params: { locale: 'en', name: 'rename_target' }
|
||||
|
||||
expect(response).to have_http_status(:ok), response.body
|
||||
expect(tag.reload.tag_name).to have_attributes(
|
||||
expect(primary_tag_name_for(tag.reload, 'en')).to have_attributes(
|
||||
name: 'rename_target', language_code: 'en', tag_id: tag.id)
|
||||
expect(japanese.reload.tag_name).to have_attributes(
|
||||
expect(primary_tag_name_for(japanese.reload, 'ja')).to have_attributes(
|
||||
name: 'rename_target', language_code: 'ja', tag_id: japanese.id)
|
||||
end
|
||||
|
||||
it 'creates aliases in the requested language' do
|
||||
put "/tags/#{ tag.id }", params: {
|
||||
locale: 'en', name: tag.name, category: tag.category, deprecated: false,
|
||||
locale: 'en', name: english_name.name,
|
||||
category: tag.category, deprecated: false,
|
||||
aliases: 'english_alias', parent_tags: '' }
|
||||
|
||||
expect(response).to have_http_status(:ok), response.body
|
||||
@@ -210,7 +212,7 @@ RSpec.describe 'Locale propagation on write paths', type: :request do
|
||||
end
|
||||
|
||||
it 'does not take an alias from another language' do
|
||||
japanese = create(:tag, name: 'japanese_owner')
|
||||
japanese = create(:tag, primary_name: 'japanese_owner')
|
||||
japanese_alias = create(:tag_name, :alias, name: 'shared_alias',
|
||||
tag: japanese)
|
||||
expect(japanese_alias.reload).to have_attributes(
|
||||
@@ -218,7 +220,8 @@ RSpec.describe 'Locale propagation on write paths', type: :request do
|
||||
primary_flg: false, language_code: 'ja')
|
||||
|
||||
put "/tags/#{ tag.id }", params: {
|
||||
locale: 'en', name: tag.name, category: tag.category, deprecated: false,
|
||||
locale: 'en', name: english_name.name,
|
||||
category: tag.category, deprecated: false,
|
||||
aliases: 'shared_alias', parent_tags: '' }
|
||||
|
||||
expect(response).to have_http_status(:ok), response.body
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする