| @@ 65-97 (lines=33) @@ | ||
| 62 | $this->assertSame([], $traceableEventDispatcher->getNotCalledListeners()); |
|
| 63 | } |
|
| 64 | ||
| 65 | public function testReturnDeleteContentResultInBeforeEvents() |
|
| 66 | { |
|
| 67 | $traceableEventDispatcher = $this->getEventDispatcher( |
|
| 68 | ContentEvents::BEFORE_DELETE_CONTENT, |
|
| 69 | ContentEvents::DELETE_CONTENT |
|
| 70 | ); |
|
| 71 | ||
| 72 | $parameters = [ |
|
| 73 | $this->createMock(ContentInfo::class), |
|
| 74 | ]; |
|
| 75 | ||
| 76 | $locations = []; |
|
| 77 | $eventLocations = []; |
|
| 78 | $innerServiceMock = $this->createMock(ContentServiceInterface::class); |
|
| 79 | $innerServiceMock->method('deleteContent')->willReturn($locations); |
|
| 80 | ||
| 81 | $traceableEventDispatcher->addListener(ContentEvents::BEFORE_DELETE_CONTENT, function (BeforeDeleteContentEvent $event) use ($eventLocations) { |
|
| 82 | $event->setLocations($eventLocations); |
|
| 83 | }, 10); |
|
| 84 | ||
| 85 | $service = new ContentService($innerServiceMock, $traceableEventDispatcher); |
|
| 86 | $result = $service->deleteContent(...$parameters); |
|
| 87 | ||
| 88 | $calledListeners = $this->getListenersStack($traceableEventDispatcher->getCalledListeners()); |
|
| 89 | ||
| 90 | $this->assertSame($eventLocations, $result); |
|
| 91 | $this->assertSame($calledListeners, [ |
|
| 92 | [ContentEvents::BEFORE_DELETE_CONTENT, 10], |
|
| 93 | [ContentEvents::BEFORE_DELETE_CONTENT, 0], |
|
| 94 | [ContentEvents::DELETE_CONTENT, 0], |
|
| 95 | ]); |
|
| 96 | $this->assertSame([], $traceableEventDispatcher->getNotCalledListeners()); |
|
| 97 | } |
|
| 98 | ||
| 99 | public function testDeleteContentStopPropagationInBeforeEvents() |
|
| 100 | { |
|
| @@ 50-81 (lines=32) @@ | ||
| 47 | $this->assertSame([], $traceableEventDispatcher->getNotCalledListeners()); |
|
| 48 | } |
|
| 49 | ||
| 50 | public function testReturnEmptyTrashResultInBeforeEvents() |
|
| 51 | { |
|
| 52 | $traceableEventDispatcher = $this->getEventDispatcher( |
|
| 53 | TrashEvents::BEFORE_EMPTY_TRASH, |
|
| 54 | TrashEvents::EMPTY_TRASH |
|
| 55 | ); |
|
| 56 | ||
| 57 | $parameters = [ |
|
| 58 | ]; |
|
| 59 | ||
| 60 | $resultList = $this->createMock(TrashItemDeleteResultList::class); |
|
| 61 | $eventResultList = $this->createMock(TrashItemDeleteResultList::class); |
|
| 62 | $innerServiceMock = $this->createMock(TrashServiceInterface::class); |
|
| 63 | $innerServiceMock->method('emptyTrash')->willReturn($resultList); |
|
| 64 | ||
| 65 | $traceableEventDispatcher->addListener(TrashEvents::BEFORE_EMPTY_TRASH, function (BeforeEmptyTrashEvent $event) use ($eventResultList) { |
|
| 66 | $event->setResultList($eventResultList); |
|
| 67 | }, 10); |
|
| 68 | ||
| 69 | $service = new TrashService($innerServiceMock, $traceableEventDispatcher); |
|
| 70 | $result = $service->emptyTrash(...$parameters); |
|
| 71 | ||
| 72 | $calledListeners = $this->getListenersStack($traceableEventDispatcher->getCalledListeners()); |
|
| 73 | ||
| 74 | $this->assertSame($eventResultList, $result); |
|
| 75 | $this->assertSame($calledListeners, [ |
|
| 76 | [TrashEvents::BEFORE_EMPTY_TRASH, 10], |
|
| 77 | [TrashEvents::BEFORE_EMPTY_TRASH, 0], |
|
| 78 | [TrashEvents::EMPTY_TRASH, 0], |
|
| 79 | ]); |
|
| 80 | $this->assertSame([], $traceableEventDispatcher->getNotCalledListeners()); |
|
| 81 | } |
|
| 82 | ||
| 83 | public function testEmptyTrashStopPropagationInBeforeEvents() |
|
| 84 | { |
|
| @@ 210-242 (lines=33) @@ | ||
| 207 | $this->assertSame([], $traceableEventDispatcher->getNotCalledListeners()); |
|
| 208 | } |
|
| 209 | ||
| 210 | public function testReturnTranslateResultInBeforeEvents() |
|
| 211 | { |
|
| 212 | $traceableEventDispatcher = $this->getEventDispatcher( |
|
| 213 | URLWildcardEvents::BEFORE_TRANSLATE, |
|
| 214 | URLWildcardEvents::TRANSLATE |
|
| 215 | ); |
|
| 216 | ||
| 217 | $parameters = [ |
|
| 218 | 'random_value_5cff79c316d370.25863709', |
|
| 219 | ]; |
|
| 220 | ||
| 221 | $result = $this->createMock(URLWildcardTranslationResult::class); |
|
| 222 | $eventResult = $this->createMock(URLWildcardTranslationResult::class); |
|
| 223 | $innerServiceMock = $this->createMock(URLWildcardServiceInterface::class); |
|
| 224 | $innerServiceMock->method('translate')->willReturn($result); |
|
| 225 | ||
| 226 | $traceableEventDispatcher->addListener(URLWildcardEvents::BEFORE_TRANSLATE, function (BeforeTranslateEvent $event) use ($eventResult) { |
|
| 227 | $event->setResult($eventResult); |
|
| 228 | }, 10); |
|
| 229 | ||
| 230 | $service = new URLWildcardService($innerServiceMock, $traceableEventDispatcher); |
|
| 231 | $result = $service->translate(...$parameters); |
|
| 232 | ||
| 233 | $calledListeners = $this->getListenersStack($traceableEventDispatcher->getCalledListeners()); |
|
| 234 | ||
| 235 | $this->assertSame($eventResult, $result); |
|
| 236 | $this->assertSame($calledListeners, [ |
|
| 237 | [URLWildcardEvents::BEFORE_TRANSLATE, 10], |
|
| 238 | [URLWildcardEvents::BEFORE_TRANSLATE, 0], |
|
| 239 | [URLWildcardEvents::TRANSLATE, 0], |
|
| 240 | ]); |
|
| 241 | $this->assertSame([], $traceableEventDispatcher->getNotCalledListeners()); |
|
| 242 | } |
|
| 243 | ||
| 244 | public function testTranslateStopPropagationInBeforeEvents() |
|
| 245 | { |
|
| @@ 323-355 (lines=33) @@ | ||
| 320 | $this->assertSame([], $traceableEventDispatcher->getNotCalledListeners()); |
|
| 321 | } |
|
| 322 | ||
| 323 | public function testReturnDeleteUserGroupResultInBeforeEvents() |
|
| 324 | { |
|
| 325 | $traceableEventDispatcher = $this->getEventDispatcher( |
|
| 326 | UserEvents::BEFORE_DELETE_USER_GROUP, |
|
| 327 | UserEvents::DELETE_USER_GROUP |
|
| 328 | ); |
|
| 329 | ||
| 330 | $parameters = [ |
|
| 331 | $this->createMock(UserGroup::class), |
|
| 332 | ]; |
|
| 333 | ||
| 334 | $locations = []; |
|
| 335 | $eventLocations = []; |
|
| 336 | $innerServiceMock = $this->createMock(UserServiceInterface::class); |
|
| 337 | $innerServiceMock->method('deleteUserGroup')->willReturn($locations); |
|
| 338 | ||
| 339 | $traceableEventDispatcher->addListener(UserEvents::BEFORE_DELETE_USER_GROUP, function (BeforeDeleteUserGroupEvent $event) use ($eventLocations) { |
|
| 340 | $event->setLocations($eventLocations); |
|
| 341 | }, 10); |
|
| 342 | ||
| 343 | $service = new UserService($innerServiceMock, $traceableEventDispatcher); |
|
| 344 | $result = $service->deleteUserGroup(...$parameters); |
|
| 345 | ||
| 346 | $calledListeners = $this->getListenersStack($traceableEventDispatcher->getCalledListeners()); |
|
| 347 | ||
| 348 | $this->assertSame($eventLocations, $result); |
|
| 349 | $this->assertSame($calledListeners, [ |
|
| 350 | [UserEvents::BEFORE_DELETE_USER_GROUP, 10], |
|
| 351 | [UserEvents::BEFORE_DELETE_USER_GROUP, 0], |
|
| 352 | [UserEvents::DELETE_USER_GROUP, 0], |
|
| 353 | ]); |
|
| 354 | $this->assertSame([], $traceableEventDispatcher->getNotCalledListeners()); |
|
| 355 | } |
|
| 356 | ||
| 357 | public function testDeleteUserGroupStopPropagationInBeforeEvents() |
|
| 358 | { |
|
| @@ 481-513 (lines=33) @@ | ||
| 478 | $this->assertSame([], $traceableEventDispatcher->getNotCalledListeners()); |
|
| 479 | } |
|
| 480 | ||
| 481 | public function testReturnDeleteUserResultInBeforeEvents() |
|
| 482 | { |
|
| 483 | $traceableEventDispatcher = $this->getEventDispatcher( |
|
| 484 | UserEvents::BEFORE_DELETE_USER, |
|
| 485 | UserEvents::DELETE_USER |
|
| 486 | ); |
|
| 487 | ||
| 488 | $parameters = [ |
|
| 489 | $this->createMock(User::class), |
|
| 490 | ]; |
|
| 491 | ||
| 492 | $locations = []; |
|
| 493 | $eventLocations = []; |
|
| 494 | $innerServiceMock = $this->createMock(UserServiceInterface::class); |
|
| 495 | $innerServiceMock->method('deleteUser')->willReturn($locations); |
|
| 496 | ||
| 497 | $traceableEventDispatcher->addListener(UserEvents::BEFORE_DELETE_USER, function (BeforeDeleteUserEvent $event) use ($eventLocations) { |
|
| 498 | $event->setLocations($eventLocations); |
|
| 499 | }, 10); |
|
| 500 | ||
| 501 | $service = new UserService($innerServiceMock, $traceableEventDispatcher); |
|
| 502 | $result = $service->deleteUser(...$parameters); |
|
| 503 | ||
| 504 | $calledListeners = $this->getListenersStack($traceableEventDispatcher->getCalledListeners()); |
|
| 505 | ||
| 506 | $this->assertSame($eventLocations, $result); |
|
| 507 | $this->assertSame($calledListeners, [ |
|
| 508 | [UserEvents::BEFORE_DELETE_USER, 10], |
|
| 509 | [UserEvents::BEFORE_DELETE_USER, 0], |
|
| 510 | [UserEvents::DELETE_USER, 0], |
|
| 511 | ]); |
|
| 512 | $this->assertSame([], $traceableEventDispatcher->getNotCalledListeners()); |
|
| 513 | } |
|
| 514 | ||
| 515 | public function testDeleteUserStopPropagationInBeforeEvents() |
|
| 516 | { |
|