assertEquals('app.user.subscribers_updated', UserSubscribersUpdatedEvent::NAME, 'Event name changed'); } public function testCreate() { $user = new User(99999, new \DateTime(), 'testuser', 'Test User 1'); $subscribed = [ new User(99998, new \DateTime(), 'testuser2', 'Test User 2'), ]; $unsubscribed = [ new User(99997, new \DateTime(), 'testuser3', 'Test User 3'), new User(99996, new \DateTime(), 'testuser4', 'Test User 4'), ]; return new UserSubscribersUpdatedEvent($user, $subscribed, $unsubscribed); } /** * @depends testCreate */ public function testGetUser(UserSubscribersUpdatedEvent $event) { $this->assertNotNull($event->getUser(), 'User cannot be extracted from event'); $this->assertEquals('testuser', $event->getUser()->getLogin(), 'Invalid user login extracted'); $this->assertEquals('Test User 1', $event->getUser()->getName(), 'Invalid user name extracted'); } /** * @depends testCreate */ public function testGetSubscribedUsers(UserSubscribersUpdatedEvent $event) { $this->assertInternalType('array', $event->getSubscribedUsers(), 'Invalid type returned'); $this->assertCount(1, $event->getSubscribedUsers(), 'Not exactly 1 subscribed user extracted'); $this->assertEquals('testuser2', $event->getSubscribedUsers()[0]->getLogin(), 'Invalid subscriber login extracted'); } /** * @depends testCreate */ public function testGetUnsubscribedUsers(UserSubscribersUpdatedEvent $event) { $this->assertInternalType('array', $event->getUnsubscribedUsers(), 'Invalid type returned'); $this->assertCount(2, $event->getUnsubscribedUsers(), 'Not exactly 2 unsubscribed user extracted'); $this->assertEquals('testuser3', $event->getUnsubscribedUsers()[0]->getLogin(), 'Invalid unsubscriber login extracted'); } }