Code Duplication    Length = 33-36 lines in 2 locations

tests/ElasticSearchPageControllerTest.php 2 locations

@@ 445-480 (lines=36) @@
442
 */
443
444
445
	public function testSearchOnePageNoAggregation() {
446
		$this->enableHighlights();
447
		$this->autoFollowRedirection = false;
448
		$searchTerm = 'mineralogy';
449
450
		//Note pages need to be published, by default fixtures only reside in Stage
451
		$searchPageObj = $this->ElasticSearchPage2;
452
		$url = rtrim($searchPageObj->Link(), '/');
453
		$url = $url.'?q='.$searchTerm;
454
		$response = $this->get($url);
455
		$this->assertEquals(200, $response->getStatusCode());
456
457
		//There are 3 results for mineralogy
458
		$this->assertSelectorStartsWithOrEquals('div.resultsFound', 0,
459
			"Page 1 of 1  (3 results found");
460
461
462
		//Check all the result highlights for mineralogy matches
463
		$this->assertSelectorStartsWithOrEquals('strong.hl', 1, 'mineralogy');
464
		$this->assertSelectorStartsWithOrEquals('strong.hl', 2, 'Mineralogy');
465
		$this->assertSelectorStartsWithOrEquals('strong.hl', 3, 'mineralogy');
466
		$this->assertSelectorStartsWithOrEquals('strong.hl', 4, 'Mineralogy');
467
		$this->assertSelectorStartsWithOrEquals('strong.hl', 5, 'mineralogy');
468
469
470
		// Check the start text of the 3 results
471
		$this->assertSelectorStartsWithOrEquals('div.searchResult h4 a', 0,
472
			"Image taken from page 273 of");
473
		$this->assertSelectorStartsWithOrEquals('div.searchResult h4 a', 1,
474
			'Image taken from page 69 of');
475
		$this->assertSelectorStartsWithOrEquals('div.searchResult h4 a', 2,
476
			'Image taken from page 142 of');
477
478
		// No span.count means no aggregations
479
		$this->assertExactHTMLMatchBySelector('span.count', array());
480
	}
481
482
483
	/* When a search is posted, should redirect to the same URL with the search term attached.  This
@@ 512-544 (lines=33) @@
509
	/*
510
	Test a search for an uncommon term, no pagination here
511
	 */
512
	public function testSearchOnePage() {
513
		$this->enableHighlights();
514
		$this->autoFollowRedirection = false;
515
		$searchTerm = 'mineralogy';
516
517
		//Note pages need to be published, by default fixtures only reside in Stage
518
		$searchPageObj = $this->ElasticSearchPage;
519
		$url = rtrim($searchPageObj->Link(), '/');
520
		$url = $url.'?q='.$searchTerm;
521
		$response = $this->get($url);
522
		$this->assertEquals(200, $response->getStatusCode());
523
524
		//There are 3 results for mineralogy
525
		$this->assertSelectorStartsWithOrEquals('div.resultsFound', 0,
526
			"Page 1 of 1  (3 results found");
527
528
529
		//Check all the result highlights for mineralogy matches
530
		$this->assertSelectorStartsWithOrEquals('strong.hl', 1, 'mineralogy');
531
		$this->assertSelectorStartsWithOrEquals('strong.hl', 2, 'Mineralogy');
532
		$this->assertSelectorStartsWithOrEquals('strong.hl', 3, 'mineralogy');
533
		$this->assertSelectorStartsWithOrEquals('strong.hl', 4, 'Mineralogy');
534
		$this->assertSelectorStartsWithOrEquals('strong.hl', 5, 'mineralogy');
535
536
537
		// Check the start text of the 3 results
538
		$this->assertSelectorStartsWithOrEquals('div.searchResult h4 a', 0,
539
			"Image taken from page 273 of");
540
		$this->assertSelectorStartsWithOrEquals('div.searchResult h4 a', 1,
541
			'Image taken from page 69 of');
542
		$this->assertSelectorStartsWithOrEquals('div.searchResult h4 a', 2,
543
			'Image taken from page 142 of');
544
	}
545
546
547