0ff7fdf78a
#317 #317 #317 #317 #317 #317 Co-authored-by: miteruzo <miteruzo@naver.com> Reviewed-on: #333
43 lines
1.1 KiB
Ruby
43 lines
1.1 KiB
Ruby
require 'rails_helper'
|
|
|
|
RSpec.describe 'Wiki conflict handling', type: :request do
|
|
let!(:user) { create_member_user! }
|
|
|
|
def auth_headers user
|
|
{ 'X-Transfer-Code' => user.inheritance_code }
|
|
end
|
|
|
|
it 'returns 409 when base_revision_id is stale' do
|
|
page =
|
|
Wiki::Commit.create_content!(
|
|
tag_name: TagName.create!(name: 'wiki_conflict_request'),
|
|
body: 'first',
|
|
created_by_user: user,
|
|
message: 'init')
|
|
|
|
stale_id = page.current_revision.id
|
|
|
|
Wiki::Commit.content!(
|
|
page:,
|
|
body: 'second',
|
|
created_user: user,
|
|
message: 'other edit',
|
|
base_revision_id: stale_id)
|
|
|
|
put "/wiki/#{ page.id }",
|
|
params: {
|
|
title: 'wiki_conflict_request',
|
|
body: 'third',
|
|
message: 'stale',
|
|
base_revision_id: stale_id,
|
|
},
|
|
headers: auth_headers(user)
|
|
|
|
expect(response).to have_http_status(:conflict)
|
|
|
|
page.reload
|
|
expect(page.body).to eq('second')
|
|
expect(page.current_revision.message).to eq('other edit')
|
|
end
|
|
end
|