/**
  * Returns an array of transition permissions.
  *
  * @return array
  *   The transition permissions.
  */
 public function transitionPermissions()
 {
     // @todo write a test for this.
     $perms = [];
     /* @var \Drupal\workbench_moderation\ModerationStateInterface[] $states */
     $states = ModerationState::loadMultiple();
     /* @var \Drupal\workbench_moderation\ModerationStateTransitionInterface $transition */
     foreach (ModerationStateTransition::loadMultiple() as $id => $transition) {
         $perms['use ' . $id . ' transition'] = ['title' => $this->t('Use the %transition_name transition', ['%transition_name' => $transition->label()]), 'description' => $this->t('Move content from %from state to %to state.', ['%from' => $states[$transition->getFromState()]->label(), '%to' => $states[$transition->getToState()]->label()])];
     }
     return $perms;
 }
 /**
  * Tests workbench moderation default schema.
  */
 public function testWorkbenchModerationDefaultConfig()
 {
     $this->installConfig(['workbench_moderation']);
     $typed_config = \Drupal::service('config.typed');
     $moderation_states = ModerationState::loadMultiple();
     foreach ($moderation_states as $moderation_state) {
         $this->assertConfigSchema($typed_config, $moderation_state->getEntityType()->getConfigPrefix() . '.' . $moderation_state->id(), $moderation_state->toArray());
     }
     $moderation_state_transitions = ModerationStateTransition::loadMultiple();
     foreach ($moderation_state_transitions as $moderation_state_transition) {
         $this->assertConfigSchema($typed_config, $moderation_state_transition->getEntityType()->getConfigPrefix() . '.' . $moderation_state_transition->id(), $moderation_state_transition->toArray());
     }
 }