This commit is contained in:
2026-04-26 20:17:05 +09:00
parent 6ac044278f
commit 5f0c1953ce
6 changed files with 319 additions and 99 deletions
+46 -16
View File
@@ -79,26 +79,56 @@ RSpec.describe Wiki::Commit do
}.to raise_error(Wiki::Commit::Conflict)
end
it 'records tag version when page has corresponding tag' do
tag_name = TagName.create!(name: 'commit_linked_tag')
it 'does not record tag version when corresponding tag has no versions' do
tag_name = TagName.create!(name: 'commit_linked_tag_without_versions')
tag = Tag.create!(tag_name:, category: :general)
page = WikiPage.create!(
tag_name:,
body: '',
created_user: user,
updated_user: user
)
page =
described_class.create_content!(
tag_name:,
body: 'before',
created_by_user: user,
message: 'init')
expect(tag.reload.tag_versions.count).to eq(0)
current_revision_id = page.current_revision.id
expect {
described_class.content!(
page:,
body: 'body',
created_user: user,
message: 'init'
)
}
.to change(WikiVersion, :count).by(1)
.and change { tag.reload.tag_versions.count }.by(1)
page:,
body: 'after',
created_user: user,
message: 'edit',
base_revision_id: current_revision_id)
}.to change(WikiVersion, :count).by(1)
expect(tag.reload.tag_versions.count).to eq(0)
end
it 'does not record tag version when corresponding tag has no versions' do
tag_name = TagName.create!(name: 'commit_linked_tag_without_versions')
tag = Tag.create!(tag_name:, category: :general)
page =
described_class.create_content!(
tag_name:,
body: 'before',
created_by_user: user,
message: 'init')
current_revision_id = page.current_revision.id
expect {
described_class.content!(
page:,
body: 'after',
created_user: user,
message: 'edit',
base_revision_id: current_revision_id)
}.to change(WikiVersion, :count).by(1)
expect(tag.reload.tag_versions.count).to eq(0)
end
end