Chris@17: drupalCreateUser([ Chris@17: 'access administration pages', Chris@17: 'view test entity', Chris@17: 'administer entity_test content', Chris@17: 'administer entity_test fields', Chris@17: 'administer entity_test display', Chris@17: 'administer entity_test form display', Chris@17: 'view the administration theme', Chris@17: ]); Chris@17: $this->drupalLogin($web_user); Chris@17: Chris@17: $field_name = 'field_timestamp'; Chris@17: $type = 'timestamp'; Chris@17: $widget_type = 'datetime_timestamp'; Chris@17: $formatter_type = 'timestamp_ago'; Chris@17: Chris@17: $this->fieldStorage = FieldStorageConfig::create([ Chris@17: 'field_name' => $field_name, Chris@17: 'entity_type' => 'entity_test', Chris@17: 'type' => $type, Chris@17: ]); Chris@17: $this->fieldStorage->save(); Chris@17: $this->field = FieldConfig::create([ Chris@17: 'field_storage' => $this->fieldStorage, Chris@17: 'bundle' => 'entity_test', Chris@17: 'required' => TRUE, Chris@17: ]); Chris@17: $this->field->save(); Chris@17: Chris@17: EntityFormDisplay::load('entity_test.entity_test.default') Chris@17: ->setComponent($field_name, ['type' => $widget_type]) Chris@17: ->save(); Chris@17: Chris@17: $this->displayOptions = [ Chris@17: 'type' => $formatter_type, Chris@17: 'label' => 'hidden', Chris@17: ]; Chris@17: Chris@17: EntityViewDisplay::create([ Chris@17: 'targetEntityType' => $this->field->getTargetEntityTypeId(), Chris@17: 'bundle' => $this->field->getTargetBundle(), Chris@17: 'mode' => 'full', Chris@17: 'status' => TRUE, Chris@17: ])->setComponent($field_name, $this->displayOptions) Chris@17: ->save(); Chris@17: } Chris@17: Chris@17: /** Chris@17: * Tests the formatter settings. Chris@17: */ Chris@17: public function testSettings() { Chris@17: $this->drupalGet('entity_test/structure/entity_test/display'); Chris@17: Chris@17: $edit = [ Chris@17: 'fields[field_timestamp][region]' => 'content', Chris@17: 'fields[field_timestamp][type]' => 'timestamp_ago', Chris@17: ]; Chris@17: $this->drupalPostForm(NULL, $edit, t('Save')); Chris@17: Chris@17: $this->drupalPostForm(NULL, [], 'field_timestamp_settings_edit'); Chris@17: $edit = [ Chris@17: 'fields[field_timestamp][settings_edit_form][settings][future_format]' => 'ends in @interval', Chris@17: 'fields[field_timestamp][settings_edit_form][settings][past_format]' => 'started @interval ago', Chris@18: 'fields[field_timestamp][settings_edit_form][settings][granularity]' => 1, Chris@17: ]; Chris@17: $this->drupalPostForm(NULL, $edit, 'Update'); Chris@17: $this->drupalPostForm(NULL, [], 'Save'); Chris@17: Chris@18: $this->assertSession()->pageTextContains('ends in 1 year'); Chris@18: $this->assertSession()->pageTextContains('started 1 year ago'); Chris@17: } Chris@17: Chris@17: }