Exemplo n.º 1
0
 public function testDefineAndAssociationAndTraits()
 {
     Fabricate::define(['trait' => 'published'], ['published' => '1']);
     Fabricate::define(['PublishedPost', 'class' => 'Post'], function ($data, $world) {
         $world->traits('published');
         return ['title' => $world->sequence('title', function ($i) {
             return "Title{$i}";
         })];
     });
     $results = Fabricate::create('User', function ($data, $world) {
         return ['user' => 'taro', 'Post' => Fabricate::association('PublishedPost', 3, ['id' => false, 'author_id' => false])];
     });
     $this->assertEquals('taro', $results['User']['user']);
     $this->assertEquals(['1', '1', '1'], array_map(function ($post) {
         return $post['published'];
     }, $results['User']['Post']));
     $this->assertEquals(['Title1', 'Title2', 'Title3'], array_map(function ($post) {
         return $post['title'];
     }, $results['User']['Post']));
 }