when method

StubBuilder when({
  1. HttpMethod? method,
  2. String? path,
  3. String? pathContains,
  4. bool bodyMatcher(
    1. Object? body
    )?,
  5. bool headerMatcher(
    1. Map<String, String> headers
    )?,
  6. bool queryMatcher(
    1. Map<String, Object?> queryParameters
    )?,
})

Begin a fluent stub. Filters are AND-combined; omit them all to make a catch-all stub.

  • method / path / pathContains — basic verb + URL matching.
  • bodyMatcher — predicate over request.body. Use to assert the payload before answering.
  • headerMatcher — predicate over the merged headers map.
  • queryMatcher — predicate over queryParameters.
adapter
  .when(
    method: HttpMethod.post,
    path: '/users',
    bodyMatcher: (body) => body is Map && body['email'] == 'a@b.c',
  )
  .thenReturn(HttpResponse(...));

Implementation

StubBuilder when({
  HttpMethod? method,
  String? path,
  String? pathContains,
  bool Function(Object? body)? bodyMatcher,
  bool Function(Map<String, String> headers)? headerMatcher,
  bool Function(Map<String, Object?> queryParameters)? queryMatcher,
}) {
  return StubBuilder._(
    this,
    method,
    path,
    pathContains,
    bodyMatcher,
    headerMatcher,
    queryMatcher,
  );
}