Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9b62bd8

Browse files
author
Bartłomiej Nowak
committed
test-cases for using messenger HandleTrait as QueryBus
1 parent 78b6b5a commit 9b62bd8

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)

AltStyle によって変換されたページ (->オリジナル) /