Code Duplication    Length = 11-17 lines in 5 locations

tests/ElasticSearchPageTest.php 5 locations

@@ 198-209 (lines=12) @@
195
196
197
198
	public function testCannotWriteInvalidClassname() {
199
		$searchPage = $this->objFromFixture('ElasticSearchPage', 'search');
200
		$searchPage->ClassesToSearch = 'ThisClassDoesNotExist';
201
		$searchPage->SiteTreeOnly = false;
202
203
		try {
204
			$searchPage->write();
205
			$this->fail('Page should not be writeable');
206
		} catch (ValidationException $e) {
207
			$this->assertEquals('The class ThisClassDoesNotExist does not exist', $e->getMessage());
208
		}
209
	}
210
211
	public function testCannotWriteNoSiteTreeOnlyNoClassNames() {
212
		$searchPage = $this->objFromFixture('ElasticSearchPage', 'search');
@@ 211-222 (lines=12) @@
208
		}
209
	}
210
211
	public function testCannotWriteNoSiteTreeOnlyNoClassNames() {
212
		$searchPage = $this->objFromFixture('ElasticSearchPage', 'search');
213
		$searchPage->ClassesToSearch = '';
214
		$searchPage->SiteTreeOnly = false;
215
216
		try {
217
			$searchPage->write();
218
			$this->fail('Page should not be writeable');
219
		} catch (ValidationException $e) {
220
			$this->assertEquals('At least one searchable class must be available, or SiteTreeOnly flag set', $e->getMessage());
221
		}
222
	}
223
224
225
	public function testEmptySearchableClass() {
@@ 225-241 (lines=17) @@
222
	}
223
224
225
	public function testEmptySearchableClass() {
226
		$searchPage = $this->objFromFixture('ElasticSearchPage', 'search');
227
228
		// This does not implement searchable
229
		$searchPage->ClassesToSearch = '';
230
		$searchPage->SiteTreeOnly = false;
231
232
		try {
233
			$searchPage->write();
234
			$this->fail('Page should not be writeable');
235
		} catch (ValidationException $e) {
236
			$this->assertEquals(
237
				'At least one searchable class must be available, or SiteTreeOnly flag set',
238
				$e->getMessage()
239
			);
240
		}
241
	}
242
243
244
	public function testNonSearchableClass() {
@@ 374-384 (lines=11) @@
371
	}
372
373
374
	public function testValidateClassesToSearchNonExistent() {
375
		$searchPage = $this->objFromFixture('ElasticSearchPage', 'search');
376
		$searchPage->ClassesToSearch = 'WibbleWobble'; // does not exist
377
		$searchPage->SiteTreeOnly = false;
378
		try {
379
			$searchPage->write();
380
			$this->fail('Test should have failed as WibbleWobble is not a valid class');
381
		} catch (ValidationException $e) {
382
			$this->assertEquals('The class WibbleWobble does not exist', $e->getMessage());
383
		}
384
	}
385
386
387
	public function testValidateClassesToSearchNotSearchable() {
@@ 387-397 (lines=11) @@
384
	}
385
386
387
	public function testValidateClassesToSearchNotSearchable() {
388
		$searchPage = $this->objFromFixture('ElasticSearchPage', 'search');
389
		$searchPage->ClassesToSearch = 'member'; // does not implement Searchable
390
		$searchPage->SiteTreeOnly = false;
391
		try {
392
			$searchPage->write();
393
			$this->fail('Test should have failed as WibbleWobble is not a valid class');
394
		} catch (ValidationException $e) {
395
			$this->assertEquals('The class member must have the Searchable extension', $e->getMessage());
396
		}
397
	}
398
}
399