Skip to content

Commit cc1869e

Browse files
author
Bartłomiej Nowak
committed
test-cases for using messenger HandleTrait as QueryBus
1 parent dd1aaa7 commit cc1869e

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

tests/Type/Symfony/data/messenger_handle_trait.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,32 @@ public function __invoke()
111111
assertType('mixed', $this->handle(new MultiHandlersForTheSameMessageQuery()));
112112
}
113113
}
114+
115+
class QueryBus {
116+
use HandleTrait;
117+
118+
public function dispatch(object $query): mixed
119+
{
120+
return $this->handle($query);
121+
}
122+
}
123+
124+
class Controller {
125+
public function action()
126+
{
127+
$queryBus = new QueryBus();
128+
129+
assertType(RegularQueryResult::class, $queryBus->dispatch(new RegularQuery()));
130+
131+
assertType('bool', $queryBus->dispatch(new BooleanQuery()));
132+
assertType('int', $queryBus->dispatch(new IntQuery()));
133+
assertType('float', $queryBus->dispatch(new FloatQuery()));
134+
assertType('string', $queryBus->dispatch(new StringQuery()));
135+
136+
assertType(TaggedResult::class, $queryBus->dispatch(new TaggedQuery()));
137+
138+
// HandleTrait will throw exception in fact due to multiple handle methods/handlers per single query
139+
assertType('mixed', $queryBus->dispatch(new MultiHandlesForInTheSameHandlerQuery()));
140+
assertType('mixed', $queryBus->dispatch(new MultiHandlersForTheSameMessageQuery()));
141+
}
142+
}

0 commit comments

Comments
 (0)