public function IndividualUiTest::testIndividualRevisions in CRM Core 8.3
Test individual revisions.
File
- modules/
crm_core_contact/ tests/ src/ Functional/ IndividualUiTest.php, line 339
Class
- IndividualUiTest
- Tests the UI for Individual CRUD operations.
Namespace
Drupal\Tests\crm_core_contact\FunctionalCode
public function testIndividualRevisions() {
$user = $this
->drupalCreateUser([
'create crm_core_individual entities',
'view any crm_core_individual entity',
'edit any crm_core_individual entity',
'view all crm_core_individual revisions',
'revert all crm_core_individual revisions',
]);
$this
->drupalLogin($user);
$this
->drupalPostForm('crm-core/individual/add/customer', [
'name[0][given]' => 'rev',
'name[0][family]' => '1',
], 'Save Customer');
$this
->drupalPostForm('crm-core/individual/1/edit', [
'name[0][family]' => '2',
], 'Save Customer');
$this
->drupalPostForm('crm-core/individual/1/edit', [
'name[0][family]' => '3',
], 'Save Customer');
$this
->clickLink('Revisions');
$this
->assertSession()
->linkByHrefExists('crm-core/individual/1');
$this
->assertSession()
->linkByHrefExists('crm-core/individual/1/revisions/1/view');
$this
->assertSession()
->linkByHrefExists('crm-core/individual/1/revisions/2/view');
$this
->drupalGet('crm-core/individual/1/revisions/1/view');
$this
->assertSession()
->pageTextContains('rev 1');
$this
->drupalGet('crm-core/individual/1/revisions/2/view');
$this
->assertSession()
->pageTextContains('rev 2');
/** @var \Drupal\crm_core_contact\ContactInterface $individual */
$individual = Individual::create([
'type' => 'customer',
'name' => [
[
'given' => 'Second',
'family' => 'Individual',
],
],
]);
$individual
->save();
$individual
->setNewRevision(TRUE);
$individual
->isDefaultRevision(FALSE);
$individual
->save();
$this
->drupalGet($individual
->toUrl('version-history'));
// Assert we have one revision link and current revision.
$this
->assertEqual($individual
->getRevisionId(), 5);
$this
->assertSession()
->linkByHrefExists('crm-core/individual/' . $individual
->id() . '/revisions/5/view');
$this
->assertSession()
->linkByHrefExists('crm-core/individual/' . $individual
->id());
// Assert we have revision revert link.
$this
->assertSession()
->linkByHrefExists('crm-core/individual/' . $individual
->id() . '/revisions/5/revert');
$this
->drupalGet('crm-core/individual/' . $individual
->id() . '/revisions/5/revert');
$this
->assertSession()
->statusCodeEquals(200);
// Check view revision route.
$this
->drupalGet('crm-core/individual/' . $individual
->id() . '/revisions/5/view');
$this
->assertSession()
->pageTextContains('Second Individual');
}