Specs for caching and issue controller changes

This commit is contained in:
Brett Walker 2019-01-23 15:58:46 -06:00 committed by Fatih Acet
parent 1fabeecf85
commit 968e35a692
No known key found for this signature in database
GPG Key ID: E994FE39E29B7E11
3 changed files with 27 additions and 3 deletions

View File

@ -162,12 +162,10 @@ module IssuableActions
end
format.json do
# We want to pass back the latest valid data, so reload the model
render json: {
errors: [
"Someone edited this #{issuable.human_class_name} at the same time you did. Please refresh your browser and make sure your changes will not unintentionally remove theirs."
],
data: serializer.represent(@issuable.reload) # rubocop:disable Gitlab/ModuleWithInstanceVariables
]
}, status: :conflict
end
end

View File

@ -379,6 +379,23 @@ describe Projects::IssuesController do
expect(response).to have_gitlab_http_status(200)
end
end
context 'when getting the changes' do
before do
project.add_developer(user)
sign_in(user)
end
it 'returns the necessary data' do
go(id: issue.iid)
data = JSON.parse(response.body)
expect(data).to include('title_text', 'description', 'description_text')
expect(data).to include('task_status', 'lock_version')
end
end
end
describe 'Confidential Issues' do

View File

@ -133,6 +133,15 @@ describe CacheMarkdownField do
end
end
context 'when a markdown field and html field are both set' do
it do
expect(thing).not_to receive(:refresh_markdown_cache)
thing.foo = '_look over there!_'
thing.foo_html = '<em>look over there!</em>'
thing.save
end
end
context 'a non-markdown field changed' do
shared_examples 'with cache version' do |cache_version|
let(:thing) { ThingWithMarkdownFields.new(foo: markdown, foo_html: html, cached_markdown_version: cache_version) }