Exemplo n.º 1
0
<?php

include dirname(__FILE__) . '/../../bootstrap/functional.php';
$b = new CrmTestFunctional(new sfBrowser());
$b->loadData();
$b->signin();
$b->setTester('doctrine', 'sfTesterDoctrine');
$t = $b->test();
$issue_table = Doctrine::getTable('Issue');
$databaseManager = new sfDatabaseManager($configuration);
$b->get('/issues')->with('request')->begin()->isParameter('module', 'issues')->isParameter('action', 'index')->end()->with('response')->begin()->isStatusCode(200)->checkElement('h1', '/Issues List/', array('position' => 1))->end();
$issue1 = array('title' => 'Test issue 1', 'assigned_to' => '3');
$issue2 = array('title' => 'Test issue 2', 'assigned_to' => '2');
$b->info('create new issue')->click('Create new issue')->click('Save', array('issue' => $issue1))->with('form')->hasErrors(false)->isRedirected()->followRedirect()->with('response')->begin()->checkElement('h1', "/{$issue1['title']}/", array('position' => 1))->checkElement('.issue-activity', "/Opened/")->checkElement('.issue-activity', "/assigned to jack/")->checkElement('.issue-activity', "/by admin/")->end()->with('doctrine')->check('MailQueue', array('subject' => "%{$issue1['title']}%", 'recipients' => '*****@*****.**', 'body' => '%new issue has been assigned%', 'attemps' => '0'))->info('test resolving')->click('Edit')->click('Save', array('issue' => array('status_id' => 2)))->with('form')->hasErrors(false)->isRedirected()->followRedirect()->with('response')->begin()->checkElement('h1', "/{$issue1['title']}/", array('position' => 1))->checkElement('body', "/Resolved/", array('position' => 0))->end()->with('doctrine')->check('MailQueue', array('subject' => "%{$issue1['title']}%", 'recipients' => '*****@*****.**', 'body' => '%has been resolved%', 'attemps' => '0'));
Exemplo n.º 2
0
<?php

include dirname(__FILE__) . '/../../bootstrap/functional.php';
$b = new CrmTestFunctional(new sfBrowser());
$b->loadData();
$databaseManager = new sfDatabaseManager($configuration);
$b->signin();
$b->get('/contacts')->with('request')->begin()->isParameter('module', 'contacts')->isParameter('action', 'index')->end()->with('response')->begin()->isStatusCode(200)->checkElement('body', '!/This is a temporary page/')->end();
// test edit page
$b->info('test edit page')->get('/people/new')->with('response')->isStatusCode()->with('request')->begin()->isParameter('module', 'people')->isParameter('action', 'new')->isParameter('id', false)->end();
// test insert Entities
$test_person = array('person' => array('name' => 'Joaquin Bravo', 'Emails' => array(array('email' => '*****@*****.**', 'type' => 1))));
$b->info('test insert person')->click('Save', $test_person)->with('form')->begin()->hasErrors(false)->end()->isRedirected()->followRedirect()->with('response')->begin()->checkElement('body', '/Joaquin Bravo/')->checkElement('body', '/jackbravo@gmail.com/')->end()->test()->like($b->getRequest()->getParameter('id'), '/\\d+/', 'Id is number');
// TODO: test for number of Phones, Locations and Emails created
$new_person_id = $b->getRequest()->getParameter('id');
// test validation
$test_person['person']['name'] = '';
$test_person['id'] = $new_person_id;
$b->info('test basic validation and form refill')->get('/people/' . $new_person_id . '/edit')->click('Save', $test_person)->with('form')->begin()->hasErrors(1)->isError('name', 1)->end()->with('response')->begin()->checkElement('form input[name="person[name]"][value=""]', true)->checkElement('form #emails input[value="*****@*****.**"]', true)->end();
// test new company creation
$company_name = uniqid('company_');
$company_count_0 = Doctrine::getTable('Company')->createQuery()->count();
$test_person = array('person' => array('name' => 'Freddy Mercury', 'company' => $company_name));
$b->info('test new company creation on create person')->get('/people/new')->click('Save', $test_person)->with('form')->begin()->hasErrors(false)->end()->isRedirected()->followRedirect()->with('response')->begin()->checkElement('body', "/{$company_name}/")->end();
$company_count_1 = Doctrine::getTable('Company')->createQuery()->count();
$b->test()->is($company_count_1, $company_count_0 + 1, 'There is one new company');
// test company search on new person
$test_person = array('person' => array('name' => 'Jim Morrison', 'company' => $company_name));
$b->info('test company search on create person')->get('/people/new')->click('Save', $test_person)->with('form')->begin()->hasErrors(false)->end()->isRedirected()->followRedirect()->with('response')->begin()->checkElement('body', "/{$company_name}/")->end();
$company_count_2 = Doctrine::getTable('Company')->createQuery()->count();
$b->test()->is($company_count_1, $company_count_2, 'There is NO new company');