@Override
    public CustomResponse<TokenResponse> login(LoginRequest loginRequest) {
        return userServiceClient.loginUser(loginRequest);
    }
@Test
    void givenValidLoginRequest_whenLogin_ReturnsCustomResponse() {

        // Given
        LoginRequest loginRequest = LoginRequest.builder()
                .email("valid.email@example.com")
                .password("validPassword123")
                .build();
        TokenResponse tokenResponse = TokenResponse.builder()
                .accessToken("access-token")
                .accessTokenExpiresAt(System.currentTimeMillis() + 3600)
                .refreshToken("refresh-token")
                .build();
        CustomResponse<TokenResponse> customResponse = CustomResponse.successOf(tokenResponse);

        // When
        when(userServiceClient.loginUser(any(LoginRequest.class))).thenReturn(customResponse);

        // Then
        CustomResponse<TokenResponse> response = userLoginService.login(loginRequest);

        assertNotNull(response);
        assertTrue(response.getIsSuccess());
        assertEquals(HttpStatus.OK, response.getHttpStatus());
        assertEquals(tokenResponse, response.getResponse());

        // Verify
        verify(userServiceClient, times(1)).loginUser(any(LoginRequest.class));

    }