add article ruby tests

This commit is contained in:
Guillermo Giuliana 2021-12-13 18:09:28 -03:00
parent eea8855d07
commit df73697534

View File

@ -48,6 +48,32 @@ describe 'Article path' do
(lastLog['type']).should.equal('ADD_ARTICLE')
end
it 'should fail if articles data already exists' do
result = request('/article/add', {
title: 'Some article',
content: 'this content is unique',
topicId: @topic_id,
position: 1,
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('fail')
(result['message']).should.equal('TITLE_ALREADY_USED')
result = request('/article/add', {
title: 'unique title',
content: 'This is an article about server management.',
topicId: @topic_id,
position: 1,
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('fail')
(result['message']).should.equal('CONTENT_ALREADY_USED')
end
it 'should edit article' do
result = request('/article/edit', {
articleId: @article_id,
@ -67,6 +93,77 @@ describe 'Article path' do
(lastLog['type']).should.equal('EDIT_ARTICLE')
end
it 'should fail if edit article has already used data' do
result = request('/article/add', {
title: 'unique title1.5',
content: 'This is an article about server management1.5.',
topicId: @topic_id,
position: 1,
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('success')
result = request('/article/add', {
title: 'unique title2',
content: 'This is an article about server management22.',
topicId: @topic_id,
position: 1,
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('success')
lastArticle = $database.getLastRow('article')
result = request('/article/edit', {
articleId: lastArticle['id'],
content: 'This is an article about server management1.5.',
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('fail')
(result['message']).should.equal('CONTENT_ALREADY_USED')
result = request('/article/edit', {
articleId: lastArticle['id'],
title: 'unique title1.5',
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('fail')
(result['message']).should.equal('TITLE_ALREADY_USED')
end
it 'should success if change for the same date' do
result = request('/article/add', {
title: 'unique article',
content: 'this content is unique pt2',
topicId: @topic_id,
position: 1,
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('success')
lastArticle = $database.getLastRow('article')
result = request('/article/edit', {
articleId: lastArticle['id'],
title: 'unique article',
content: 'this content is unique pt2',
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('success')
end
it 'should edit article topic' do
request('/article/add-topic', {
name: 'Software installation',
@ -107,38 +204,44 @@ describe 'Article path' do
end
it 'should retrieve all articles' do
request('/article/add', {
title: 'Some article',
content: 'This is an article about server management.',
topicId: @topic_id,
position: 1,
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
result = request('/article/get-all', {
csrf_userid: $csrf_userid,
csrf_token: $csrf_token
})
(result['status']).should.equal('success')
(result['data'][0]['name']).should.equal('Server management')
(result['data'][0]['icon']).should.equal('cogs')
(result['data'][0]['iconColor']).should.equal('red')
(result['data'][0]['private']).should.equal('0')
(result['data'][1]['name']).should.equal('Private Topic')
(result['data'][0]['name']).should.equal('Valid name')
(result['data'][0]['icon']).should.equal('flag')
(result['data'][0]['iconColor']).should.equal('pink')
(result['data'][0]['private']).should.equal('1')
(result['data'][1]['name']).should.equal('Server management')
(result['data'][1]['icon']).should.equal('cogs')
(result['data'][1]['iconColor']).should.equal('green')
(result['data'][1]['private']).should.equal('1')
(result['data'][2]['name']).should.equal('Software installation')
(result['data'][2]['icon']).should.equal('photo')
(result['data'][2]['iconColor']).should.equal('blue')
(result['data'][2]['private']).should.equal('0')
(result['data'][1]['iconColor']).should.equal('red')
(result['data'][1]['private']).should.equal('0')
(result['data'][0]['articles'][0]['title']).should.equal('Some article')
(result['data'][0]['articles'][0]['content']).should.equal('This is an article about server management.')
(result['data'][0]['articles'][0]['position']).should.equal('1')
(result['data'][2]['name']).should.equal('Private Topic')
(result['data'][2]['icon']).should.equal('cogs')
(result['data'][2]['iconColor']).should.equal('green')
(result['data'][2]['private']).should.equal('1')
(result['data'][3]['name']).should.equal('Software installation')
(result['data'][3]['icon']).should.equal('photo')
(result['data'][3]['iconColor']).should.equal('blue')
(result['data'][3]['private']).should.equal('0')
(result['data'][1]['articles'][0]['title']).should.equal('unique title1.5')
(result['data'][1]['articles'][0]['content']).should.equal('This is an article about server management1.5.')
(result['data'][1]['articles'][0]['position']).should.equal('1')
(result['data'][1]['articles'][1]['title']).should.equal('unique title2')
(result['data'][1]['articles'][1]['content']).should.equal('This is an article about server management22.')
(result['data'][1]['articles'][1]['position']).should.equal('1')
(result['data'][1]['articles'][2]['title']).should.equal('unique article')
(result['data'][1]['articles'][2]['content']).should.equal('this content is unique pt2')
(result['data'][1]['articles'][2]['position']).should.equal('1')
end
it 'should retrieve public departments' do
Scripts.logout()
Scripts.login('tyrion@opensupports.com', 'tyrionl')