[LocalUser::class, 'setId', ['password' => LocalUser::hashPassword('foobar'), 'outgoing_email' => 'email@provider'], []], 'some_user' => [LocalUser::class, 'setId', [], []], 'admin' => [LocalUser::class, 'setId', [], ['roles' => ActorLocalRoles::OPERATOR | ActorLocalRoles::MODERATOR | ActorLocalRoles::PARTICIPANT | ActorLocalRoles::VISITOR]], 'local_user_test_user' => [LocalUser::class, 'setId', ['password' => LocalUser::hashPassword('foobar')], []], 'form_personal_info_test_user' => [LocalUser::class, 'setId', [], []], 'form_account_test_user' => [LocalUser::class, 'setId', ['password' => LocalUser::hashPassword('some password')], []], 'taken_group' => [LocalGroup::class, 'setGroupId', [], []], ] as $nick => [$entity, $method, $extra_create, $extra_create_actor]) { $actor = Actor::create(array_merge(['nickname' => $nick, 'is_local' => true], $extra_create_actor)); $manager->persist($actor); $ent = $entity::create(array_merge(['nickname' => $nick], $extra_create)); // cannot use array spread for arrays with string keys $ent->{$method}($actor->getId()); $local_entities[$nick] = $ent; $manager->persist($ent); // Add self subscriptions $manager->persist(ActorSubscription::create(['subscriber' => $actor->getId(), 'subscribed' => $actor->getId()])); $actors[$nick] = $actor; } $n = Note::create(['actor_id' => $actors['taken_user']->getId(), 'content' => 'some content', 'content_type' => 'text/plain', 'is_local' => true]); $manager->persist($n); $notes = []; $notes[] = Note::create(['actor_id' => $actors['taken_user']->getId(), 'content' => 'some other content', 'content_type' => 'text/plain', 'is_local' => true]); $notes[] = Note::create(['actor_id' => $actors['taken_user']->getId(), 'content' => 'private note', 'scope' => VisibilityScope::COLLECTION, 'content_type' => 'text/plain', 'is_local' => false]); $notes[] = $group_note = Note::create(['actor_id' => $actors['taken_user']->getId(), 'content' => 'group note', 'scope' => VisibilityScope::GROUP, 'content_type' => 'text/plain', 'is_local' => true]); foreach ($notes as $note) { $manager->persist($note); } $manager->persist(GroupMember::create(['group_id' => $local_entities['taken_group']->getGroupId(), 'actor_id' => $actors['some_user']->getId()])); $manager->persist(GroupInbox::create(['group_id' => $local_entities['taken_group']->getGroupId(), 'activity_id' => $group_note->getId()])); $manager->flush(); } }