randomElement example

'Presto Pesto', 'Prettease', 'PrettyPet', 'Pretundra', 'Prevalax', 'Previewshop', 'Prim n’ Print', 'Princess Fresh', 'Princess Jellybean', 'Princess Plex', 'Princess Prawn', 'PrintBUZZ', 'Printo Supremo', 'Printorama', 'PrintPlosion', 'Printspan', 'Prior IT', 'Prismplane', 'Pristea', 'PrivateEye', 'Pro Coke', 'Pro Testors', 'Procrawler', 'Proflex', 'Progenex', 'PromoteIt', 'ProPortal', 'Prospectix', 'Prosperity Cafe', 'Protectaderm', 'ProteX', 'Prothopedic', 'Proton Storm', 'Protoshades', 'Protoshape', 'Psychic Pizza', 'Psychotron', 'Psychotrone', 'Pub Parrot', 'Pubic Coil', 'Pubicoil', 'Pubisphere', 'Pudding Queen', 'Pumpty Dumpty', 'Punacium', 'Punk Blaster', 'Punkies', 'Puns and Needles', 'Puppet Box', 'Puppet Mustard', 'Puppytropic', 'Pure Chipotle Pleasure', 'Pure Penguin', 'PureShare', 'Purpletown', 'Pursy Print', 'Pylon Hose', 'Qaboos', 'Q-lean', 'Qleen', 'Qleen Air', 'Qleen Tooth', 'Qnekt', 'Quadvert', 'Quadzoonple', 'Qualicolor', 'Qualiprint', 'Quality Planet', 'Qualiwide', 'Quantitine', 'Quantoflex', 'Quantum Taco', 'Quarmony', 'Quarx', 'Quatrain Tsunami', 'Quatro 7', 'Que West', 'Queen Beam', 'Quella', 'Quench Drench', 'Quencha', 'Quesylax', 'Quick Licks', 'Quick Milk', 'Quick Tart', 'Quick Turtle', 'QuickFrame', 'QuickGear', 'QuickPort', 'Quicksoil', 'QuickUps', 'Quiet Time', 'Quilch', 'Quill Terminal', 'Quiltreen', 'Quiznost', 'Quoductor', 'Quonata', 'Quotagio', 'Quotebang!', 'QuoteBeat', 'QuoteChorus', 'QuoteConductor', 'Quotephony', 'Quotezart', 'Quothoven', 'Racketier', 'Radiant Butane', 'Radiant Earth', 'Radiant Ease', 'Radiant Fire', 'Radiant Fresh', 'Radiant Penguin', 'Radiantix', 'Radio Free University', 'Radio GPA', 'Radio Underwear', 'Radioblade', 'Radiopaste', 'Radiospigot', 'Radiotronic', 'RADr', 'Raising Music', 'RALLOY', 'Ramsmack', 'RAPID – Radical Accessories for Pet IDentification', 'Rare IT', 'Raspberry Perfect', 'Rasta Pops', 'Re Dye', 'Ready Fortune Teller', 'Real Virtual', 'Rebooth', 'Rebuttal Rocket', 'Reco Lab', 'Record Doctor', 'Record Rehab', 'Record Revitalizer', 'Record Wash', 'Record Wizard', 'Recordclear', 'Recrisys', 'Recritube', 'Red Butter', 'Red eScent', 'Red Hot Chilli Butter', 'Red Nerve', 'Red Thunder', 'Regiment [Incontinence Control]',
            'ReLeash Me', 'Remotion', 'Renalator', 'Repetwire', 'Rescreen', 'Resorcerer', 'Restease', 'Restware', 'Resumé Candy', 'Retrack', 'Retro Cocoa', 'Retro Salts', 'Retrotex', 'ReturnStiles', 'ReturnStyles', 'Reverse Curse', 'Reward Chord', 'Rice-A-Raunchy', 'Ricki Martini', 'Rin Tin Thin', 'Ring Bling', 'Rio Rocinante', 'Riot Grrill', 'Rippers', 'Rithmaticker', 'Ritual Wave', 'Riverman', 'Road Krill', 'Road Quil', 'Road Rabbit', 'Road Rodent', 'Robo Cot', 'Robotox', 'Rock Meet', 'Rock Paper Sisters', 'Rockabye', 'Rocket Gloss', 'Rocket Print', 'Rocket Red', 'Rocket Silence', 'Rocket Wide', 'Rocko Blast', 'Roll Aid', 'Roll Aide', 'Ronelon', 'Roof Rabbits', 'Rooforia', 'Rot Dog', 'Rotation Tanks', 'Row Bust', 'Royal Plush', 'Royal Pudding', 'RSVP', 'Rubadub', 'Rubber Slapjack', 'Ruby Friday', 'Ruby Suite', 'Rug Rockers', 'Running Rocks', 'Sabercloth', 'Sabertooth', 'Sacrificial Ham', 'Safe Yarn', 'SafeChat', 'SafeSurf', 'SafeWeave', 'Saguarro Foam', 'Sales Driver', 'Salon Da Bomb', 'Salsa Man', 'Salton Sea Crisps', 'Salud!', 'Sandman Sleeps', 'Saphire Rose', 'Sara Soda', 'Sarin-Aide', 'Sassessories', 'Sasskatchy!', 'Sassy Boils', 'Sassybox', 'Satiance', 'Save the Date', 'SaveIT', 'Savvy Ass', 'Scalpel Scrupulous', 'Scatterbox', 'Scene Caddy', 'Scentric', 'Scentwicks', 'Schoolio', 'Scienscribe', 'Scissor Fresh', 'Scorched Sunwear', 'Score 4', 'Screen Bubbles', 'Screen Sculptor', 'Screen Seder', 'Screenfree', 'Scriptease', 'Scrub Down', 'Sea Edge', 'Sea Ocean Sky', 'Sea Quinn', 'Sea Script', 'Sea Sleigh', 'Sea Spam', 'Seafood Seranade', 'SeaMountain', 'Secret Soap', 'See-Thru Composites', 'SemiFood', 'Señor Serene', 'Sensor Ship', 'Sensual Pores', 'Sequin', 'Sequitur', 'ServeRate', 'Service Tree', 'Sesproctyl', 'Sexaphone', 'Shadease', 'ShakeHands', 'ShakeOut', 'Shameless Flu Waistcoat', 'Shangrilatte', 'Shark Fin Suit', 'ShelfStore', 'Shhh!', 'Shiny Spinners', 'Shipping Court', 'Shipping Magneto', 'Shoot the Messenger', 'Shopabout', 'Shopping Stones', 'ShopSMART', 'ShowerPower', 'ShowTuner.com', 'Shpritz', 'Sigh Bore', 'Sigh Clone', 'Signity', 'Silent Swift', 'Silkia Sunrise', 'Silly Satan', 'Silly String Serene', 'SillySoap', 'Silodyne', 'Simplex Ports', 'Sin n’ Spin', 'Sin Sin', 'Sinchiladas', 'Sing Bling', 'Single Happiness', 'Sinus Side', 'SipitUp', 'Sizzling Brainpan', 'Sketch-a-Screen', 'Skin Bin', 'Skin Deeper', 'SkinGear', 'Skinny Boboli', 'Skinserve', 'Skintights', 'Skull King', 'Skullite', 'SkyBag', 'SkyMountain', 'Slackex', 'Slang Machine', 'Slashed Chicken', 'Sleeky', 'Sleeper Waves', 'SleepWatch', 'Sleeveport', 'Sleevy Wonder', 'Slim Tricks', 'SlimAll', 'Slo-Cooked Prawns', 'Slofast', 'Sludgehammer', 'SlumberBed', 'Slumberia', 'Smart Ask', 'Smart Board', 'Smart Clone', 'Smart Cream', 'Smart Glue', 'Smash and Grab', 'Smash Pop', 'Smashed Potatoes', 'SmileAwhile', 'Smoking Data Guns', 'Smoochy Goochy Bar', 'Snack Action', 'Snack Patrol', 'Snack-A-Poo', 'Snacktion', 'SnailPost', 'Snake Cakes', 'Snappers', 'Snappy Clips', 'Snappy Trails', 'Snapricot', 'Snatch Shacks', 'SnobDobbler', 'Snolvent', 'Snoozarium Sectionals', 'Snorepads', 'Snowpoke', 'So So Choritzo', 'Soap Capsule', 'Socks Appeal', 'Soda Baking', 'Soda Fonze', 'Soda Jerky', 'Soda Popcorn', 'SodaPoppin', 'Soft and Strong', 'Soft Shark', 'SoftGeek', 'Softmicro', 'SoftSoaks', 'Softstream',
            'Softwar', 'Software', 'Soilarium', 'Solar Bingo', 'Solar Certain', 'Solaren', 'Solarmovie', 'Soldier’s Neckbrace', 'Solgan', 'SoluDye', 'Soma Night', 'Sonata Fast', 'Songbird', 'Songlines', 'SongUP', 'Sonic Boombooms', 'Sonic Faucet', 'SonicQuotes', 'SonicStock', 'SonicStreet', 'Sonique', 'Soniquote', 'Sorb', 'SoreBeGone', 'Sorely Mist', 'Soul Sketch', 'Soundcircus', 'Soundquotes', 'Souperb', 'Sour Crocodile', 'Sour Organic Grapes', 'Source Rack', 'Source Sports', 'South Mouth Southern Mash', 'Sox Box', 'Soy Milk-toast', 'Soylean', 'Space Barge', 'Spacewax', 'Spam and Deliver', 'Spam Sushi', 'Spam Tartare', 'Spamo', 'Spavane', 'Special eLivery', 'Special Sticks', 'SpectraPrint', 'Speed ‘n Spot', 'Speed Street', 'Speedbolt', 'SpeedSpot', 'Spelltech', 'Spinalysis', 'Spin-n-Clean', 'Spire', 'Spiritablets', 'Splash', 'Splinter', 'Spong', 'Sponge Taco', 'Spontaneous Combustion', 'Spoon Bait', 'Spoonbeam', 'Spooncake', 'Sport Chai', 'Sport Foam', 'Sportan', 'SpotOn', 'Spraytection', 'Spring Clips', 'Spring to Life', 'Springbee', 'Springers', 'Spurt', 'Square Root Beer', 'Squeegee Spree', 'Squeeze Play', 'Squid Pops', 'Stallag Dry', 'Stand By Your Manicotti', 'Standalone Uniques', 'Standing Chocolate', 'State Mints', 'Steak Surprise', 'Steering Wheel', 'Stelaecor', 'Stereoscopic Endromes', 'SteriThread', 'Stim Kitty', 'StinkX', 'Stockdagio', 'Stockductor', 'StockMarketBlues', 'StockMusic', 'Stockposer', 'StockSonic', 'Stomp Fish', 'Store Your Oats', 'StoreGear', 'Strain Away', 'Straloy', 'Stralum', 'Strange Tails', 'Strataform', 'Streamantic', 'Strepaway', 'Strepbegone', 'Streptease', 'StressLess', 'Stretch and Go', 'Stretch For Strength', 'Stretch n’ Kvetch', 'Stretchercise', 'Stretchmatic', 'Stretch-n-Shape', 'Stretch-O-Mania', 'Stretch-O-Rama', 'Strideline', 'Structural Glass', 'Structure-AL', 'Strydesdale', 'Stunt Cake', 'Stylennium Mylennium', 'Subtle Stubble', 'Sudden Enemy', 'SuddSurprize', 'Sugar Caulk', 'Sugar Dog', 'Sugar Floss', 'Suicidal Post-Its', 'Suicide Abs', 'Sulpha Flight', 'Sulpha Mate', 'Sulpha Quik', 'Sulpha Sphere', 'Sulpha Spread', 'Sulphafloss', 'Sultracin', 'Sultrax', 'Sum Bum', 'Sumper', 'Sun Bite', 'Sunclipse', 'Sunscreen by Burning Man', 'Sunsight', 'Super Ciao', 'Super Cize', 'Super Nothing', 'Super Scale', 'Super Sonic Market Tonic', 'Super Tin', 'Superglass', 'SuperHelix', 'SuperPrint 1000', 'Supersoap', 'Supersonic Printron', 'Supplex', 'Supportal', 'Sure Paw', 'SurfSafe', 'Sushi Spam', 'SustainFrame', 'Sutra Tonic', 'Svelt Smelt', 'Sweet Dreams', 'Sweet Suds', 'SweetSport', 'Sweetums', 'Swift Shift', 'Swim Beam', 'Swindle Gadget', 'Swing Bling', 'Swing Saw', 'Swing Sing', 'Swingzen', 'SwitchStream', 'Sycofont', 'Sycophant Pants', 'Symbiotica', 'Syncopatch', 'SynCOR', 'Syndrome Dome', 'Syndromo', 'Synonym Toast', 'SystemFire', 'Tabtotaler',
            'Taco Bear', 'Taco Hash', 'Tae-Can-Do', 'TakeCare', 'Talent Shout', 'Tali-Band-Aid', 'Tali-Bon Bons', 'Talkalong.com', 'Talkalot', 'Talking Tuna', 'Talkola', 'Talkomatic', 'Tally Forth', 'Tango Latté', 'Tango Puppy', 'Tango!', 'Tarmodial 14', 'Tart’n Tingly', 'Té Tango', 'Tea Bones', 'Teach Yourself', 'Teaky Freaky', 'Teal Worms', 'Teavine', 'Tech Tap', 'Tech Tech Goose', 'Techade', 'Technoracks', 'Tedrigan', 'Teen Cream', 'Teledrone', 'Telemarket Tear', 'Telemarket Tier', 'Telepark', 'Tele-Taco', 'Telethong', 'Tell-E', 'Tellifly', 'Temporary Bone', 'Tempura Sunrise', 'Ten More Pounds Cake', 'Tender Ties', 'Tender Tough Tushettes', 'Tendon C', 'TentAL', 'TeqRaq', 'Teraprene', 'Terascape', 'Terra Cotta Jones', 'Terra Monk', 'Terrablast', 'Terrago', 'Terrapod', 'TerraSwitch', 'Test Ease', 'Thai Cheetos', 'That’s a Wrap!', 'The Ass-tronaut', 'The Atomizer', 'The Audiomat', 'The Bean Machine', 'The Blinder', 'The Boss-buster', 'The Calling Companion', 'The Carpet Caretakers', 'The Chickery', 'The Chopper’s Block', 'The Cinch', 'The Circus', 'The Cthulhu Interactive Novel', 'The Deal Finder', 'The Dollop', 'The Element', 'The Entity', 'The Eyeful Tour', 'The Face Friend', 'The Interactive Online Cthulhu Game', 'The Lazy Mate', 'The Learning Lab', 'The Lost Lampoon Gold Mine', 'The Mobe', 'The Monte Magum', 'The Mouth Piece', 'The Pavery', 'The Pool of Pep', 'The Print Rocket', 'The Profit Taker', 'The Quiche of Death', 'The Route 66 Guide to Lost Wages', 'The Royal Ensemble', 'The Spigot', 'The Sports Barge', 'The Tao of Fragrance', 'The Toilet Triage', 'The Trouble Shovel', 'The Video Cube', 'The Vinyl Solution', 'theCommingler', 'Third Eye Focus', 'This Damn Planet', 'This Ware', 'Thong Bong', 'Through Port', 'Thumb Butter', 'ThunderBag', 'ThunderSea', 'Thunderwear', 'Tick Talk', 'Tickerband', 'Ticker-me-Alamo', 'Tickernotes', 'Tickerplay', 'Tickersonic', 'Tickertalks', 'Ticket Lift', 'Tickle Tan', 'Tickle Town', 'Tiger Tan', 'Time Released Chill Pill', 'TINCTURE', 'TINGLE', 'Tipper Tape', 'Titonic', 'Toe Food', 'Tofu Magician', 'Toggle Town', 'Toggle Turn', 'Toggletopper', 'Tokyo Yo', 'Tone Bone', 'Toot Boot', 'Tooth and Nail', 'Topicpro', 'Tori Spelling Salts', 'Torpor Snacks', 'Tossed Cookie Salad', 'Toy Botox', 'Toylet', 'Toyletry', 'Toylid', 'Trackers', 'TransApp', 'Transcoder', 'Transluscent', 'TransmitID', 'Transparent Structures', 'Transparent Wood', 'TransPort', 'Transputer',
            'Trasola', 'Treasure Soap', 'Troché', 'Trojan 60 Grit', 'Trollery', 'Tropicava', 'Tropolis', 'Trouser Smarts', 'True By You', 'True Faux', 'Trupro', 'TrustNow', 'TryAL', 'TryMe', 'Tsunami Tsandwich', 'Tub Tea', 'TubAL', 'Tubalum', 'Tubesys', 'Tubinum', 'Tufferwear', 'Tumble Bees', 'Tuna Bar', 'Tuna Milton', 'Tuna Truffle', 'Tungsten Throatswitch', 'Turkey Biscotti', 'Turkey Fins', 'Turnkey Vulture', 'Turnling', 'Turtle Magic', 'Turtle Quick', 'Turtlemania', 'Tushy Tickles', 'Tushy Towels', 'Tutor de Force', 'Tutubang', 'Tweezy', 'Twelve Steps Exercise Program', 'Twiggery', 'Twiist', 'Twinkle Tows', 'Two by Faux', 'Two Faux', 'Two Like You', 'Typhoon Booth', 'Typo Generator', 'Tyrannasaurus Pyrex', 'Tyrannosaurus Rocks!', 'Uber Goober', 'Uberlux', 'UberPrawn', 'Ultra Beef', 'Ultra Mouse', 'UltraAll', 'Ultraboost.com', 'Ultrafloxi', 'Ultramouse', 'UltraPrint', 'Ultrasound of Music', 'Ultrasounder', 'Ultrimax', 'Umbilical Cordials', 'Umbrella Grouper', 'Umbrella Wet', 'Uncle Bulgaria’s Wand of Sand', 'Undertap', 'UniNerve', 'Unique-Band', 'UnSmell', 'Unwine', 'Up Your Sleeve', 'Upperimage', 'UpScaleSoda', 'Urban She', 'Urban Sturgeon', 'Urbanshee', 'Vagilax', 'Vaginex', 'Valreda', 'Van Mango', 'Vaporia', 'VegiGate', 'VegiLax', 'Vegone', 'Veil Crow', 'Velocitizer', 'Velveeta ‘N Grits', 'Velvet Stucco', 'Venetian Sack', 'Vervetine', 'Vettigan', 'VGates', 'Viacrobat', 'Viagrand', 'Viagrandy', 'Viagreat', 'Vibemaker', 'Video Booth', 'VideoBounce', 'Videoputer', 'Videorang!', 'Villagevault', 'Vinch', 'Vineclimber', 'Vinyl Maid', 'Vinyl-E', 'Vinylwash', 'Viogre', 'Vireal', 'Virtual CEO', 'Virtual Horseshoes', 'Virtual Rodeo', 'VirtualGates', 'VirtualGear', 'Vision Air', 'Vision Launch', 'Vision Maximizer', 'Visionary Dairy', 'Visionary Summit', 'Visualix', 'VitaKids', 'Vital Java', 'Vitea', 'Voice Writer', 'Volax', 'Voodles', 'Voodoo Chart', 'Voodoo Vat', 'Voodude', 'Voodulce', 'Vortax', 'Voyeur Information', 'Vulvamatic', 'Vulvax', 'Waab', 'Wade Away', 'Waisting Away', 'Walkers-R-Us', 'Walla Wild', 'Wannabeans', 'Wannabeast', 'War Balm', 'Wardrobe of Mass Destruction', 'Wasabi Fresh', 'Wash and Play', 'Water Lily Scum Snaps', 'Water Rabbit', 'Water Rodeo',
            'Water Whole', 'Waterbaby', 'Watersprout', 'We Monsieur', 'Wear Wolf', 'Weatherwear', 'Webalot', 'Webphonics', 'Website of Mass Deconstruction', 'WebTex', 'Week-A-Drink', 'Weight and Sea', 'WenchSip', 'Wheat Toaist', 'Wheeze Ease', 'Wheeze Whiz', 'Wheezebox', 'Whim-Wham-Wash', 'Whipped Words', 'Whiskey and Bits', 'Whispering Stone', 'White Worm Cigarettes', 'Whole Suite Software', 'Why Fi', 'Wicked Cute', 'Wicker Script', 'WideBody Printer', 'WideColor', 'Widespeed', 'WideVision', 'Wig It!', 'Wildfelt', 'Winky Stick', 'Wire House', 'Wirehopper', 'Wirelass', 'WiseGuide', 'WiseWeave', 'Wish Kiss', 'Withstand and Deliver', 'Wolf Wear', 'Wonderwear', 'Woolicream', 'Word Borg', 'Word Salad', 'Word Village', 'WordBlab', 'WordFrame', 'Wordlab Exclusivo', 'Wordlobster', 'Wordly Wise', 'WordQuizzers', 'Words to the Wise', 'World Processor', 'World Sage', 'Wrapture', 'Write Light', 'WriteOnce', 'WriteTech', 'X Flip', 'Xbones', 'Xedenex', 'Xeno Logics', 'XENO Sphere', 'Xinware', 'Xleen', 'Xoggle', 'XORCat', 'XORCat 5000', 'Xorette', 'XORtrak', 'XORts', 'Xplor', 'Xth', 'Xurban', 'Xymonk', 'Y2Canine', 'Y2Kocktail', 'Y2OK!', 'Yada Yada Prada', 'Yak Candy', 'Yakima Burger', 'Yangtze Doodle', 'Yankee Ass', 'Yardvark', 'Yeasty Pete', 'Yo Phat!', 'Yo Yorkshire', 'Yogurt Hygene', 'YOU TURN – Leadership Program for Youth', 'YouthZest', 'Zaggle', 'Zaggles', 'Zaj', 'Zamox', 'Zanilla', 'Zanthral', 'Zanymax', 'Zaphire', 'Zappix', 'Zaya', 'Zazz', 'Zazz!', 'Zboo', 'Zeam', 'Zeam Seam', 'Zedalis', 'Zelluloid', 'Zelpo', 'Zen BBQ', 'Zen Coin', 'Zen Collar', 'Zen Kola', 'Zenchiladas', 'Zendo', 'Zenka', 'Zenlighten', 'Zenod', 'Zenodium', 'Zenolux', 'Zensor', 'Zensure', 'Zensus', 'Zenthall', 'Zentia', 'Zentime', 'Zentix', 'Zentrapore', 'Zentric Pure', 'Zentricity', 'Zentry', 'Zentury', 'Zepitope', 'Zerbina', 'Zero Logic', 'Zestea', 'Zialactic', 'Zidant', 'Zidox', 'Ziggles', 'Ziggy Endust', 'Zilch', 'Zilencio', 'Zilidium', 'Zilla', 'Zilla Drop', 'Zilla Nation', 'Zillabells', 'Zillaberry', 'Zillaboard', 'Zillabug', 'Zillacom', 'Zillactic', 'Zilladyne', 'Zillagod', 'Zillagoogle', 'Zillamatic', 'Zillan', 'Zillanet', 'Zillanoid', 'Zillidium', 'Zinch', 'Zing!', 'Ziore', 'Zipadipoolda', 'Zipak', 'Zip-Lock Body Bags', 'ZippyNet', 'Zitgone', 'Zizzle', 'Zizzy', 'Z-lestial', 'Z-licious', 'Zog', 'Zoinage', 'Zolar', 'Zolarex', 'Zolarity', 'Zoom Zoom Shipping', 'ZoomZoom', 'Zork', 'Zorromop', 'Zounds', 'Zwebby', 'Zyple', 'Zytrac', 'Zytrax', 'Zytrek', 'Zytrexaline',
        ],
    ];

    public function customFieldSet(): string
    {
        return static::randomElement(static::$productName['adjective']) . ' ' . static::randomElement(static::$department) . ' ' . static::randomNumber(5);
    }
}
$max = max(min($count / 3, 200), 5);
        $prices = [];
        for ($i = 0; $i <= $max; ++$i) {
            $prices[] = $this->createPrices($ruleIds);
        }

        $payload = [];
        for ($i = 0; $i < $count; ++$i) {
            $product = $this->createSimpleProduct($taxes$manufacturers$tags);

            $product['prices'] = $this->faker->randomElement($prices);

            $product['visibilities'] = $visibilities;

            if ($mediaIds) {
                $product['cover'] = ['mediaId' => Random::getRandomArrayElement($mediaIds)];

                $product['media'] = array_map(fn (string $id): array => ['mediaId' => $id]$this->faker->randomElements($mediaIdsrandom_int(2, 5)));
            }

            $product['properties'] = $this->buildProperties($properties);

            


    /** * @return list<array<string, mixed>> */
    private function createDiscounts(): array
    {
        $discounts = [];
        $count = $this->faker->randomDigit() / 3;

        for ($i = 0; $i <= $count; ++$i) {
            $scope = $this->faker->randomElement([PromotionDiscountEntity::SCOPE_CART, PromotionDiscountEntity::SCOPE_DELIVERY]);
            $type = $this->faker->randomElement([PromotionDiscountEntity::TYPE_ABSOLUTE, PromotionDiscountEntity::TYPE_PERCENTAGE]);
            $value = $this->faker->randomFloat(2, 0.01, 100);
            if ($type === PromotionDiscountEntity::TYPE_PERCENTAGE || $scope === PromotionDiscountEntity::SCOPE_DELIVERY) {
                $value /= 10;
            }

            $discounts[] = [
                'scope' => $scope,
                'type' => $type,
                'value' => $value,
                'considerAdvancedRules' => false,
            ];
$productIds = $this->getProductIds();
        $salesChannelIds = $this->connection->fetchFirstColumn('SELECT LOWER(HEX(id)) FROM sales_channel');
        $points = [1, 2, 3, 4, 5];

        $payload = [];

        $writeContext = WriteContext::createFromContext($context->getContext());

        $customerIdsWithReviews = [];

        for ($i = 0; $i < $numberOfItems; ++$i) {
            $customerId = $context->getFaker()->randomElement($customerIds);
            \assert(\is_string($customerId));
            $customerIdsWithReviews[$customerId] = true;

            $payload[] = [
                'id' => Uuid::randomHex(),
                'productId' => $context->getFaker()->randomElement($productIds),
                'customerId' => $customerId,
                'salesChannelId' => $salesChannelIds[array_rand($salesChannelIds)],
                'languageId' => Defaults::LANGUAGE_SYSTEM,
                'externalUser' => $context->getFaker()->name(),
                'externalEmail' => $context->getFaker()->email(),
                
/** @var list<string> $ids */
        $ids = $repository->searchIds($criteria, Context::createDefaultContext())
            ->getIds();

        return $this->entities[$entity] = $ids;
    }

    public function getRandomId(string $entity): ?string
    {
        $ids = $this->getIds($entity);

        return $this->faker->randomElement($ids);
    }

    public function getContext(): Context
    {
        return $this->context;
    }

    public function getConsole(): SymfonyStyle
    {
        return $this->console;
    }

    
$events = $this->eventCollector->collect($context)->getElements();

        $payload = [];

        $maxSequenceTree = 5;
        $maxSequencePerTree = 10;

        $eventNames = [];

        for ($i = 0; $i < $count; ++$i) {
            /** @var BusinessEventDefinition $event */
            $event = $this->faker->randomElement($events);

            $eventNames[$event->getName()] = \array_key_exists($event->getName()$eventNames) ? ($eventNames[$event->getName()] + 1) : 1;

            $flow = [
                'id' => Uuid::randomHex(),
                'name' => $this->generateFlowName($event->getName()$eventNames[$event->getName()]),
                'eventName' => $event->getName(),
                'priority' => $i + 1,
                'active' => true,
            ];

            
->setLabel($uniqueKey)
                    ->setGood(false)
                    ->setReferencedId($promotionCode)
                    ->setPriceDefinition(new PercentagePriceDefinition(0));
            },
            $promotionCodes
        );

        $orders = [];

        for ($i = 1; $i <= $numberOfItems; ++$i) {
            $customerId = $context->getFaker()->randomElement($customerIds);

            $salesChannelContext = $this->getContext($customerId$salesChannelIds);

            $cart = $this->cartService->createNew($salesChannelContext->getToken());
            foreach ($this->faker->randomElements($productLineItemsrandom_int(3, 5)) as $lineItem) {
                $cart->add($lineItem);
            }
            foreach ($this->faker->randomElements($promotionLineItemsrandom_int(0, 3)) as $lineItem) {
                $cart->add($lineItem);
            }

            
$firstName = $context->getFaker()->firstName();
            $lastName = $context->getFaker()->format('lastName');
            $salutationId = Uuid::fromBytesToHex($this->getRandomSalutationId());
            $title = $this->getRandomTitle();

            $addresses = [];

            $aCount = random_int(2, 5);
            for ($x = 1; $x < $aCount; ++$x) {
                $addresses[] = [
                    'id' => Uuid::randomHex(),
                    'countryId' => Uuid::fromBytesToHex($context->getFaker()->randomElement($countries)),
                    'salutationId' => $salutationId,
                    'title' => $title,
                    'firstName' => $firstName,
                    'lastName' => $lastName,
                    'street' => $context->getFaker()->format('streetName'),
                    'zipcode' => $context->getFaker()->format('postcode'),
                    'city' => $context->getFaker()->format('city'),
                ];
            }

            $customer = [
                
'field' => 'weight', 'type' => 'range', 'parameters' => [RangeFilter::LTE => $faker->numberBetween(1, 1000)]],
            ['field' => 'height', 'type' => 'range', 'parameters' => [RangeFilter::GT => $faker->numberBetween(1, 500), RangeFilter::LT => $faker->numberBetween(500, 1000)]],
            ['field' => 'width', 'type' => 'range', 'parameters' => [RangeFilter::GT => $faker->numberBetween(1, 500), RangeFilter::LT => $faker->numberBetween(500, 1000)]],
            ['field' => 'weight', 'type' => 'range', 'parameters' => [RangeFilter::GT => $faker->numberBetween(1, 500), RangeFilter::LT => $faker->numberBetween(500, 1000)]],
            ['field' => 'stock', 'type' => 'equals', 'value' => '1000'],
            ['field' => 'name', 'type' => 'contains', 'value' => 'Awesome'],
            ['field' => 'categoriesRo.id', 'type' => 'equalsAny', 'value' => implode('|', [$context->getRandomId('category')$context->getRandomId('category')])],
            ['field' => 'id', 'type' => 'equalsAny', 'value' => implode('|', [$context->getRandomId('product')$context->getRandomId('product')])],
            ['field' => 'manufacturerId', 'type' => 'equals', 'value' => $context->getRandomId('product_manufacturer')],
        ];

        $pool[] = ['type' => 'multi', 'operator' => 'AND', 'queries' => [$faker->randomElement($pool)$faker->randomElement($pool)]];
        $pool[] = ['type' => 'multi', 'operator' => 'OR', 'queries' => [$faker->randomElement($pool)$faker->randomElement($pool)]];

        $payload = [];
        for ($i = 0; $i < $numberOfItems; ++$i) {
            $filters = [];

            for ($j = 0, $jMax = $faker->numberBetween(1, 5)$j < $jMax; ++$j) {
                $filters[] = array_merge($faker->randomElement($pool)['position' => $j]);
            }

            $payload[] = [
                

    private function createCategory(DemodataContext $context, array $pageIds, array $tags, string $parentId, ?string $afterId, int $max, int $current): array
    {
        $id = Uuid::randomHex();

        $cat = [
            'id' => $id,
            'parentId' => $parentId,
            'afterCategoryId' => $afterId,
            'name' => $this->randomDepartment($context->getFaker()),
            'active' => true,
            'cmsPageId' => $context->getFaker()->randomElement($pageIds),
            'mediaId' => $context->getRandomId('media'),
            'description' => $context->getFaker()->text(),
            'tags' => $this->getTags($tags),
        ];

        if ($current >= $max) {
            return $cat;
        }

        $cat['children'] = $this->createCategories($context$pageIds$tagsrandom_int(2, 5)$id$max$current);

        
Home | Imprint | This part of the site doesn't use cookies.