From d19f8132e023a169fa9f6a4a54a2190ea75d38f0 Mon Sep 17 00:00:00 2001 From: Ivan Diaz Date: Fri, 17 Jun 2016 18:43:10 -0300 Subject: [PATCH] [Guillermo Giu] - Add tests for 'ticket/create' controller --- server/controllers/ticket/create.php | 6 ++-- tests/clean_db.sh | 2 +- tests/init.rb | 1 + tests/ticket/create.rb | 51 ++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 tests/ticket/create.rb diff --git a/server/controllers/ticket/create.php b/server/controllers/ticket/create.php index 9c709968..b6fae956 100644 --- a/server/controllers/ticket/create.php +++ b/server/controllers/ticket/create.php @@ -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'; } diff --git a/tests/clean_db.sh b/tests/clean_db.sh index e0b432ae..d99eb4c2 100755 --- a/tests/clean_db.sh +++ b/tests/clean_db.sh @@ -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 diff --git a/tests/init.rb b/tests/init.rb index f09d7691..86e90a75 100644 --- a/tests/init.rb +++ b/tests/init.rb @@ -9,3 +9,4 @@ require './scripts.rb' # TESTS require './user/signup.rb' +require './ticket/create.rb' diff --git a/tests/ticket/create.rb b/tests/ticket/create.rb new file mode 100644 index 00000000..4e82416a --- /dev/null +++ b/tests/ticket/create.rb @@ -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 \ No newline at end of file