You are here

class ImageGalleryTest in Image 7

Same name and namespace in other branches
  1. 6 contrib/image_gallery/tests/image_gallery.test \ImageGalleryTest

Hierarchy

Expanded class hierarchy of ImageGalleryTest

File

contrib/image_gallery/tests/image_gallery.test, line 3

View source
class ImageGalleryTest extends DrupalTestCase {
  protected $web_user;
  function get_info() {
    return array(
      'name' => t('Image Gallery tests'),
      'desc' => t('Test Image Gallery module functionality.'),
      'group' => 'Image',
    );
  }
  function setUp() {
    parent::setUp();

    // User to create image galleries.
    $this->web_user = $this
      ->drupalCreateUserRolePerm(array(
      'create images',
      'view original images',
      'edit own images',
      'edit any images',
      'administer image galleries',
    ));
    $this
      ->drupalGet('logout');
    $this
      ->drupalLoginUser($this->web_user);
  }
  function testBasic() {
    $galleries_count = 2;
    $images_count = 5;
    $galleries = array();
    $images = array();
    $this
      ->drupalVariableSet('image_images_per_page', $images_count);
    $vid = _image_gallery_get_vid();

    // Create several galleries.
    for ($i = 0; $i < $galleries_count; $i++) {
      $galleries[] = $this
        ->createGallery();
    }

    // Create images for galleries.
    $images_misc = file_scan_directory('misc', '.png');
    shuffle($images_misc);
    $images_files = array_slice($images_misc, 0, $images_count);
    for ($i = 0; $i < $images_count; $i++) {
      $tid = $galleries[array_rand($galleries)];
      $edit = array(
        'taxonomy[' . $vid . ']' => $tid,
        'files[image]' => realpath($images_files[$i]->filename),
      );
      $images[] = array(
        'tid' => $tid,
        'node' => $this
          ->createImage($edit),
      );
    }

    // Test view the gallery.
    foreach ($galleries as $tid) {
      $this
        ->drupalGet('image/tid/' . $tid);
      foreach ($images as $image) {
        if ($image['tid'] == $tid) {
          $this
            ->assertWantedRaw($image['node']->title, 'Gallery ' . $tid . ': image ' . $image['node']->title . ' displayed. %s');
        }
        else {
          $this
            ->assertNoUnwantedRaw($image['node']->title, 'Gallery ' . $tid . ': image ' . $images['node']->title . ' not displayed. %s');
        }
      }
    }

    // Delete the gallery.
    // This don't work, so use general taxonomy function:
    // $this->drupalPost('admin/content/image/edit/' . $terms[0]->tid, array(), 'Delete');
    foreach ($galleries as $tid) {
      taxonomy_del_term($tid);
    }
  }
  function createGallery($edit = array()) {
    $defaults = array(
      'name' => $this
        ->randomName(),
      'parent[0]' => 0,
    );
    $edit = $edit + $defaults;
    $this
      ->drupalPost('admin/content/image/add', $edit, 'Submit');
    $this
      ->assertWantedRaw(t('Created new gallery %term.', array(
      '%term' => $edit['name'],
    )), 'Image gallery created. %s');
    $terms = taxonomy_get_term_by_name($edit['name']);
    return $terms[0]->tid;
  }
  function createImage($edit = array()) {
    $defaults = array(
      'title' => $this
        ->randomName(),
      'body' => $this
        ->randomName(),
      'files[image]' => realpath('misc' . DIRECTORY_SEPARATOR . 'druplicon.png'),
    );
    $edit = $edit + $defaults;
    $this
      ->drupalPost('node/add/image', $edit, 'Save');
    $this
      ->assertWantedRaw(t('@type %title has been created.', array(
      '@type' => 'Image',
      '%title' => $edit['title'],
    )), 'Image created. %s');
    if ($node = node_load(array(
      'title' => $edit['title'],
    ))) {
      $this
        ->assertNotNull($node, 'Image found in database. %s');
      return $node;
    }
    return FALSE;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DrupalTestCase::$assertions protected property Assertions thrown in that test case.
DrupalTestCase::$databasePrefix protected property The database prefix of this test run.
DrupalTestCase::$originalFileDirectory protected property The original file directory, before it was changed for testing purposes.
DrupalTestCase::$results public property Current results of this test case.
DrupalTestCase::$setup protected property Flag to indicate whether the test has been set up.
DrupalTestCase::$setupDatabasePrefix protected property
DrupalTestCase::$setupEnvironment protected property
DrupalTestCase::$skipClasses protected property This class is skipped when looking for the source of an assertion.
DrupalTestCase::$testId protected property The test run ID.
DrupalTestCase::$timeLimit protected property Time limit for the test.
DrupalTestCase::$useSetupInstallationCache public property Whether to cache the installation part of the setUp() method.
DrupalTestCase::$useSetupModulesCache public property Whether to cache the modules installation part of the setUp() method.
DrupalTestCase::$verboseDirectoryUrl protected property URL to the verbose output file directory.
DrupalTestCase::assert protected function Internal helper: stores the assert.
DrupalTestCase::assertEqual protected function Check to see if two values are equal.
DrupalTestCase::assertFalse protected function Check to see if a value is false (an empty string, 0, NULL, or FALSE).
DrupalTestCase::assertIdentical protected function Check to see if two values are identical.
DrupalTestCase::assertNotEqual protected function Check to see if two values are not equal.
DrupalTestCase::assertNotIdentical protected function Check to see if two values are not identical.
DrupalTestCase::assertNotNull protected function Check to see if a value is not NULL.
DrupalTestCase::assertNull protected function Check to see if a value is NULL.
DrupalTestCase::assertTrue protected function Check to see if a value is not false (not an empty string, 0, NULL, or FALSE).
DrupalTestCase::deleteAssert public static function Delete an assertion record by message ID.
DrupalTestCase::error protected function Fire an error assertion. 1
DrupalTestCase::errorHandler public function Handle errors during test runs. 1
DrupalTestCase::exceptionHandler protected function Handle exceptions.
DrupalTestCase::fail protected function Fire an assertion that is always negative.
DrupalTestCase::generatePermutations public static function Converts a list of possible parameters into a stack of permutations.
DrupalTestCase::getAssertionCall protected function Cycles through backtrace until the first non-assertion method is found.
DrupalTestCase::getDatabaseConnection public static function Returns the database connection to the site running Simpletest.
DrupalTestCase::insertAssert public static function Store an assertion from outside the testing context.
DrupalTestCase::pass protected function Fire an assertion that is always positive.
DrupalTestCase::randomName public static function Generates a random string containing letters and numbers.
DrupalTestCase::randomString public static function Generates a random string of ASCII characters of codes 32 to 126.
DrupalTestCase::run public function Run all tests in this class.
DrupalTestCase::verbose protected function Logs a verbose message in a text file.
DrupalTestCase::__construct public function Constructor for DrupalTestCase. 2
ImageGalleryTest::$web_user protected property
ImageGalleryTest::createGallery function
ImageGalleryTest::createImage function
ImageGalleryTest::get_info function
ImageGalleryTest::setUp function
ImageGalleryTest::testBasic function