You are here

public function DBTNGExampleUnitTestCase::testUI in Examples for Developers 7

Test the UI.

File

dbtng_example/dbtng_example.test, line 48
SimpleTests for dbtng_example module.

Class

DBTNGExampleUnitTestCase
Default test case for the dbtng_example module.

Code

public function testUI() {

  // Test the basic list.
  $this
    ->drupalGet('examples/dbtng');
  $this
    ->assertPattern("/John[td\\/<>\\w]+Doe/", "Text 'John Doe' found in table");

  // Test the add tab.
  // Add the new entry.
  $this
    ->drupalPost('examples/dbtng/add', array(
    'name' => 'Some',
    'surname' => 'Anonymous',
    'age' => 33,
  ), t('Add'));

  // Now find the new entry.
  $this
    ->drupalGet('examples/dbtng');
  $this
    ->assertPattern("/Some[td\\/<>\\w]+Anonymous/", "Text 'Some Anonymous' found in table");

  // Try the update tab.
  // Find out the pid of our "anonymous" guy.
  $result = dbtng_example_entry_load(array(
    'surname' => 'Anonymous',
  ));
  $this
    ->drupalGet("examples/dbtng");
  $this
    ->assertEqual(count($result), 1, 'Found one entry in the table with surname = "Anonymous".');
  $entry = $result[0];
  unset($entry->uid);
  $entry->name = 'NewFirstName';
  $this
    ->drupalPost('examples/dbtng/update', (array) $entry, t('Update'));

  // Now find the new entry.
  $this
    ->drupalGet('examples/dbtng');
  $this
    ->assertPattern("/NewFirstName[td\\/<>\\w]+Anonymous/", "Text 'NewFirstName Anonymous' found in table");

  // Try the advanced tab.
  $this
    ->drupalGet('examples/dbtng/advanced');
  $rows = $this
    ->xpath("//*[@id='block-system-main']/div/table[1]/tbody/tr");
  $this
    ->assertEqual(count($rows), 1, "One row found in advanced view");
  $this
    ->assertFieldByXPath("//*[@id='block-system-main']/div/table[1]/tbody/tr/td[4]", "Roe", "Name 'Roe' Exists in advanced list");

  //Test the grouping tab
  $this
    ->drupalGet('examples/dbtng/grouping_list');
  $this
    ->assertPattern("/John[td\\/<>\\w]+2/", "Text 'John' found in table with 2 count");

  //Now add new entry
  $this
    ->drupalPost('examples/dbtng/add', array(
    'name' => 'Some',
    'surname' => 'Anonymous',
    'age' => 31,
  ), t('Add'));
  $this
    ->drupalGet('examples/dbtng/grouping_list');
  $this
    ->assertPattern("/Some[td\\/<>\\w]+1/", "Text 'Some' found in table with 1 count");
}