[Guillermo Giu] - Add tests for 'ticket/create' controller

This commit is contained in:
Ivan Diaz 2016-06-17 18:43:10 -03:00
parent ba15c81178
commit d19f8132e0
4 changed files with 56 additions and 4 deletions

View File

@ -31,15 +31,15 @@ class CreateController extends Controller {
private function validateData() {
if (strlen($this->title)<3 ){
return 'title is so short';
return 'title is too short';
}
if (strlen($this->title)>30){
return 'title is very long';
}
if (strlen($this->content)<5){
return 'content is so short';
return 'content is too short';
}
if (strlen($this->content)>100){
if (strlen($this->content)>500){
return 'content is very long';
}

View File

@ -1,7 +1,7 @@
#!/bin/bash
# DELETE ALL TABLES
TABLES=$(mysql -u root development -e "SHOW TABLES IN os_dev;" | awk '{ print $1}' | grep -v '^Tables')
TABLES=$(mysql -u root development -e "SHOW TABLES IN development;" | awk '{ print $1}' | grep -v '^Tables')
for t in $TABLES
do

View File

@ -9,3 +9,4 @@ require './scripts.rb'
# TESTS
require './user/signup.rb'
require './ticket/create.rb'

51
tests/ticket/create.rb Normal file
View File

@ -0,0 +1,51 @@
describe '/user/login' do
it 'should fail if title is too short' do
result = request('/ticket/create',{
title: 'GG'
})
(result['status']).should.equal('fail')
(result['message']).should.equal('title is too short')
end
it 'should fail if title is very long' do
result = request('/ticket/create',{
title: 'I WISH I WAS THE MONSTER YOU THINK I AM. -Tyrion'
})
(result['status']).should.equal('fail')
(result['message']).should.equal('title is very long')
end
it 'should fail if content is too short' do
result = request('/ticket/create',{
title: 'Winter is coming',
content: 'Test'
})
(result['status']).should.equal('fail')
(result['message']).should.equal('content is too short')
end
it 'should fail if content is very long' do
long_text = ''
600.times {long_text << 'a'}
result = request('/ticket/create',{
title: 'Winter is coming',
content: long_text
})
(result['status']).should.equal('fail')
(result['message']).should.equal('content is very long')
end
it 'should create ticket if pass data is valid' do
result = request('/ticket/create',{
title: 'Winter is coming',
content: 'The north remembers'
})
(result['status']).should.equal('success')
ticket = $database.getRow('tickets','Winter is coming','title')
(ticket['content']).should.equal('The north remembers')
end
end