@Test
public void resolveArgumentReturnsDefaultProjectionWhenProjectionNotNullOrEmpty() {

    // given
    var expectedProjection = (Class) Iterable.class;
    var expectedTarget = (Class) String.class;
    var expectedRequestParamValue = "cool-projection";
    given(nativeWebRequestMock.getParameter(REQUEST_PARAM_NAME)).willReturn(expectedRequestParamValue);
    given(methodParameterMock.getParameterAnnotation(ProjectionType.class)).willReturn(projectionTypeMock);
    given(projectionTypeMock.value()).willReturn(expectedTarget);
    given(projectionServiceMock.getByNameOrDefault(expectedRequestParamValue, expectedTarget))
            .willReturn(expectedProjection);
    // when
    var actualProjection = argumentResolver.resolveArgument(methodParameterMock, null, nativeWebRequestMock, null);
    // then
    assertThat(actualProjection).isEqualTo(expectedProjection);
}