<?php namespace Tests\Lib; trait MergesAttributes { /** * @return array<string, mixed> */ abstract public function defaults(): array; /** * @param array<string, mixed> $overwrites * @return array<string, mixed> */ public function attributes(?array $overwrites = []): array { $defaults = collect($this->defaults()); foreach ($overwrites as $key => $value) { $defaults->put($key, $value); } return $defaults->toArray(); } }