1<?php 2 3namespace Elgg\Database\Seeds; 4 5/** 6 * Provides seedable methods for database seeding and unit tests 7 */ 8interface Seedable { 9 10 /** 11 * Create a new fake user 12 * 13 * @param array $attributes User entity attributes 14 * @param array $metadata User entity metadata 15 * 16 * @return \ElggUser 17 */ 18 public function createUser(array $attributes = [], array $metadata = []); 19 20 /** 21 * Create a new fake group 22 * 23 * @param array $attributes Group entity attributes 24 * @param array $metadata Group entity metadata 25 * 26 * @return \ElggGroup 27 */ 28 public function createGroup(array $attributes = [], array $metadata = []); 29 30 /** 31 * Create a new fake object 32 * 33 * @param array $attributes Object entity attributes 34 * @param array $metadata Object entity metadata 35 * 36 * @return \ElggObject 37 */ 38 public function createObject(array $attributes = [], array $metadata = []); 39 40 /** 41 * Create a new fake site 42 * 43 * @param array $attributes Site entity attributes 44 * @param array $metadata Site entity metadata 45 * 46 * @return \ElggSite 47 */ 48 public function createSite(array $attributes = [], array $metadata = []); 49} 50