X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdevel%2Fdevel_generate%2Fsrc%2FTests%2FDevelGenerateTest.php;fp=web%2Fmodules%2Fcontrib%2Fdevel%2Fdevel_generate%2Fsrc%2FTests%2FDevelGenerateTest.php;h=4782d6fbb54c22291d6500d738ee370d4e9b68dc;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/modules/contrib/devel/devel_generate/src/Tests/DevelGenerateTest.php b/web/modules/contrib/devel/devel_generate/src/Tests/DevelGenerateTest.php new file mode 100644 index 000000000..4782d6fbb --- /dev/null +++ b/web/modules/contrib/devel/devel_generate/src/Tests/DevelGenerateTest.php @@ -0,0 +1,175 @@ +profile != 'standard') { + $this->drupalCreateContentType(array('type' => 'page', 'name' => 'Basic Page')); + $this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article')); + $this->addDefaultCommentField('node', 'article'); + } + + // Creating a vocabulary to associate taxonomy terms generated. + $this->vocabulary = entity_create('taxonomy_vocabulary', array( + 'name' => $this->randomMachineName(), + 'description' => $this->randomMachineName(), + 'vid' => Unicode::strtolower($this->randomMachineName()), + 'langcode' => Language::LANGCODE_NOT_SPECIFIED, + 'weight' => mt_rand(0, 10), + )); + $this->vocabulary->save(); + + // Creates a field of an entity reference field storage on article. + $field_name = 'taxonomy_' . $this->vocabulary->id(); + + $handler_settings = array( + 'target_bundles' => array( + $this->vocabulary->id() => $this->vocabulary->id(), + ), + 'auto_create' => TRUE, + ); + $this->createEntityReferenceField('node', 'article', $field_name, NULL, 'taxonomy_term', 'default', $handler_settings, FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED); + + entity_get_form_display('node', 'article', 'default') + ->setComponent($field_name, array( + 'type' => 'options_select', + )) + ->save(); + + entity_get_display('node', 'article', 'default') + ->setComponent($field_name, array( + 'type' => 'entity_reference_label', + )) + ->save(); + + $admin_user = $this->drupalCreateUser(array('administer devel_generate')); + $this->drupalLogin($admin_user); + } + + /** + * Tests generate commands + */ + public function testDevelGenerate() { + // Creating users. + $edit = array( + 'num' => 4, + ); + $this->drupalPostForm('admin/config/development/generate/user', $edit, t('Generate')); + $this->assertText(t('4 users created.')); + $this->assertText(t('Generate process complete.')); + + // Tests that if no content types are selected an error message is shown. + $edit = array( + 'num' => 4, + 'title_length' => 4, + ); + $this->drupalPostForm('admin/config/development/generate/content', $edit, t('Generate')); + $this->assertText(t('Please select at least one content type')); + + // Creating content. + // First we create a node in order to test the Delete content checkbox. + $this->drupalCreateNode(array('type' => 'article')); + + $edit = array( + 'num' => 4, + 'kill' => TRUE, + 'node_types[article]' => TRUE, + 'time_range' => 604800, + 'max_comments' => 3, + 'title_length' => 4, + 'add_alias' => 1, + ); + $this->drupalPostForm('admin/config/development/generate/content', $edit, t('Generate')); + $this->assertText(t('Deleted 1 nodes.')); + $this->assertText(t('Finished creating 4 nodes')); + $this->assertText(t('Generate process complete.')); + + // Tests that nodes have been created in the generation process. + $nodes = Node::loadMultiple(); + $this->assert(count($nodes) == 4, 'Nodes generated successfully.'); + + // Tests url alias for the generated nodes. + foreach ($nodes as $node) { + $alias = 'node-' . $node->id() . '-' . $node->bundle(); + $this->drupalGet($alias); + $this->assertResponse('200'); + $this->assertText($node->getTitle(), 'Generated url alias for the node works.'); + } + + // Creating terms. + $edit = array( + 'vids[]' => $this->vocabulary->id(), + 'num' => 5, + 'title_length' => 12, + ); + $this->drupalPostForm('admin/config/development/generate/term', $edit, t('Generate')); + $this->assertText(t('Created the following new terms: ')); + $this->assertText(t('Generate process complete.')); + + // Creating vocabularies. + $edit = array( + 'num' => 5, + 'title_length' => 12, + 'kill' => TRUE, + ); + $this->drupalPostForm('admin/config/development/generate/vocabs', $edit, t('Generate')); + $this->assertText(t('Created the following new vocabularies: ')); + $this->assertText(t('Generate process complete.')); + + // Creating menus. + $edit = array( + 'num_menus' => 5, + 'num_links' => 7, + 'title_length' => 12, + 'link_types[node]' => 1, + 'link_types[front]' => 1, + 'link_types[external]' => 1, + 'max_depth' => 4, + 'max_width' => 6, + 'kill' => 1, + ); + $this->drupalPostForm('admin/config/development/generate/menu', $edit, t('Generate')); + $this->assertText(t('Created the following new menus: ')); + $this->assertText(t('Created 7 new menu links')); + $this->assertText(t('Generate process complete.')); + } + +}