$this->assertTrue($base_fields['moderation_state']->isTranslatable());
}
+ /**
+ * Test the correct entity types have moderation added.
+ *
+ * @covers ::entityTypeAlter
+ *
+ * @dataProvider providerTestEntityTypeAlter
+ */
+ public function testEntityTypeAlter($entity_type_id, $moderatable) {
+ $entity_types = $this->entityTypeManager->getDefinitions();
+ $this->assertSame($moderatable, $entity_types[$entity_type_id]->hasHandlerClass('moderation'));
+ }
+
+ /**
+ * Provides test data for testEntityTypeAlter().
+ *
+ * @return array
+ * An array of test cases, where each test case is an array with the
+ * following values:
+ * - An entity type ID.
+ * - Whether the entity type is moderatable or not.
+ */
+ public function providerTestEntityTypeAlter() {
+ $tests = [];
+ $tests['non_internal_non_revisionable'] = ['entity_test', FALSE];
+ $tests['non_internal_revisionable'] = ['entity_test_rev', TRUE];
+ $tests['internal_non_revisionable'] = ['entity_test_no_label', FALSE];
+ $tests['internal_revisionable'] = ['content_moderation_state', FALSE];
+ return $tests;
+ }
+
}