Pheasant\Tests\EventsTestCase::testEventsBoundToObject PHP Method

testEventsBoundToObject() public method

    public function testEventsBoundToObject()
    {
        $this->mapper->shouldReceive('save')->times(2);
        $events = array();
        $this->initialize('Pheasant\\DomainObject', function ($builder) {
            $builder->properties(array('test' => new Types\StringType()));
        });
        $do1 = new DomainObject();
        $do2 = new DomainObject();
        $do1->events(array('afterSave' => function ($e) use(&$events) {
            $events[] = "do1.{$e}";
        }));
        $do2->events(array('afterSave' => function ($e) use(&$events) {
            $events[] = "do2.{$e}";
        }));
        $do1->save();
        $do2->save();
        $this->assertEquals($events, array('do1.afterSave', 'do2.afterSave'));
    }