remove(self::$group); self::$group = new Group(); self::$group->setCode($current_group_slug); self::$group->setTitle($current_group_slug); self::$em->persist(self::$group); self::$member->add2Group(self::$group); self::$em->persist(self::$member); self::$em->flush(); } /** * InsertMemberTestData constructor. * @param string $current_group_slug */ protected static function insertMemberTestData(string $current_group_slug){ // DB::setDefaultConnection("model"); //DB::table("Group_Members")->delete(); //DB::table("Group")->delete(); //DB::table("Member")->delete(); //DB::table("PresentationSpeaker")->delete(); self::$em = Registry::getManager(SilverstripeBaseModel::EntityManager); if (!self::$em ->isOpen()) { self::$em = Registry::resetManager(SilverstripeBaseModel::EntityManager); } self::$group_repository = EntityManager::getRepository(Group::class); self::$member_repository = EntityManager::getRepository(Member::class); self::$group = new Group(); self::$group->setCode($current_group_slug); self::$group->setTitle($current_group_slug); self::$em->persist(self::$group); self::$group2 = new Group(); self::$group2->setCode(IGroup::SummitAdministrators); self::$group2->setTitle(IGroup::SummitAdministrators); self::$em->persist(self::$group2); self::$member = new Member(); $prefix = str_random(10); self::$member->setEmail("smarcet+{$prefix}@gmail.com"); self::$member->setActive(true); self::$member->setFirstName("Sebastian"); self::$member->setLastName("Marcet"); self::$member->setEmailVerified(true); self::$member->setUserExternalId(mt_rand()); self::$member->add2Group(self::$group); self::$member2 = new Member(); self::$member2->setEmail("smarcet+{$prefix}_admin@gmail.com"); self::$member2->setActive(true); self::$member2->setFirstName("Sebastian"); self::$member2->setLastName("Marcet Summit Admin"); self::$member2->setEmailVerified(true); self::$member2->setUserExternalId(mt_rand()); self::$member2->add2Group(self::$group2); PresentationSpeaker::$bypass_events = true; self::$speaker = new PresentationSpeaker(); self::$speaker->setFirstName("Sebastian"); self::$speaker->setLastName("Marcet"); self::$speaker->setBio("Lorep Ip Sum"); self::$speaker->setMember(self::$member); self::$em->persist(self::$member); self::$em->persist(self::$member2); self::$em->flush(); self::$member2->belongsToGroup(IGroup::BadgePrinters); PresentationSpeaker::$bypass_events = false; } protected static function clearMemberTestData(){ self::$em = Registry::resetManager(SilverstripeBaseModel::EntityManager); self::$member = self::$member_repository->find(self::$member->getId()); self::$group = self::$group_repository->find(self::$group->getId()); self::$member2 = self::$member_repository->find(self::$member2->getId()); self::$group2 = self::$group_repository->find(self::$group2->getId()); self::$em->remove(self::$member); self::$em->remove(self::$group); self::$em->remove(self::$member2); self::$em->remove(self::$group2); self::$em->flush(); } }