Chris@0: drupalCreateUser(['access content', 'search content', 'administer nodes']); Chris@0: $this->drupalLogin($test_user); Chris@0: Chris@0: $this->node = $this->drupalCreateNode(); Chris@0: Chris@0: $this->container->get('plugin.manager.search')->createInstance('node_search')->updateIndex(); Chris@0: search_update_totals(); Chris@0: Chris@0: // Set up a dummy initial count of times the form has been submitted. Chris@0: $this->submitCount = \Drupal::state()->get('search_embedded_form.submit_count'); Chris@0: $this->refreshVariables(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Tests that the embedded form appears and can be submitted. Chris@0: */ Chris@0: public function testEmbeddedForm() { Chris@0: // First verify we can submit the form from the module's page. Chris@0: $this->drupalPostForm('search_embedded_form', Chris@0: ['name' => 'John'], Chris@0: t('Send away')); Chris@0: $this->assertText(t('Test form was submitted'), 'Form message appears'); Chris@0: $count = \Drupal::state()->get('search_embedded_form.submit_count'); Chris@0: $this->assertEqual($this->submitCount + 1, $count, 'Form submission count is correct'); Chris@0: $this->submitCount = $count; Chris@0: Chris@0: // Now verify that we can see and submit the form from the search results. Chris@0: $this->drupalGet('search/node', ['query' => ['keys' => $this->node->label()]]); Chris@0: $this->assertText(t('Your name'), 'Form is visible'); Chris@0: $this->drupalPostForm(NULL, Chris@0: ['name' => 'John'], Chris@0: t('Send away')); Chris@0: $this->assertText(t('Test form was submitted'), 'Form message appears'); Chris@0: $count = \Drupal::state()->get('search_embedded_form.submit_count'); Chris@0: $this->assertEqual($this->submitCount + 1, $count, 'Form submission count is correct'); Chris@0: $this->submitCount = $count; Chris@0: Chris@0: // Now verify that if we submit the search form, it doesn't count as Chris@0: // our form being submitted. Chris@0: $this->drupalPostForm('search', Chris@0: ['keys' => 'foo'], Chris@0: t('Search')); Chris@0: $this->assertNoText(t('Test form was submitted'), 'Form message does not appear'); Chris@0: $count = \Drupal::state()->get('search_embedded_form.submit_count'); Chris@0: $this->assertEqual($this->submitCount, $count, 'Form submission count is correct'); Chris@0: $this->submitCount = $count; Chris@0: } Chris@0: Chris@0: }