diff --git a/backend/src/test/java/com/vaessl/app/search/HomeboxSearchProviderTest.java b/backend/src/test/java/com/vaessl/app/search/HomeboxSearchProviderTest.java new file mode 100644 index 0000000..cdd8dac --- /dev/null +++ b/backend/src/test/java/com/vaessl/app/search/HomeboxSearchProviderTest.java @@ -0,0 +1,35 @@ +package com.vaessl.app.search; + +import static com.vaessl.app.Mockdata.*; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.Mockito.when; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import com.vaessl.app.connection.ConnectionRepository; +import com.vaessl.app.exception.ConnectionNotFoundException; + +@ExtendWith(MockitoExtension.class) +class HomeboxSearchProviderTest { + + @Mock + private ConnectionRepository mockRepo; + + @InjectMocks + private HomeboxSearchProvider provider; + + @Test + void shouldReturnConnectionNotFoundException() { + + when(mockRepo.findByAppUrlAndUsername(MOCK_URL, MOCK_USER)).thenReturn(null); + + SearchRequest request = new SearchRequest(MOCK_URL, MOCK_USER, "test query", "HOMEBOX"); + Pageable pageable = PageRequest.of(0, 10); + assertThrows(ConnectionNotFoundException.class, + () -> provider.getSearchResults(request, pageable)); + } +} diff --git a/backend/src/test/java/com/vaessl/app/search/SearchResponseTest.java b/backend/src/test/java/com/vaessl/app/search/SearchResponseTest.java new file mode 100644 index 0000000..265abcd --- /dev/null +++ b/backend/src/test/java/com/vaessl/app/search/SearchResponseTest.java @@ -0,0 +1,33 @@ +package com.vaessl.app.search; + +import static com.vaessl.app.Mockdata.*; +import static org.assertj.core.api.Assertions.assertThat; +import java.util.Map; +import org.junit.jupiter.api.Test; + +class SearchResponseTest { + + @Test + void shouldReturnNullWhenExtraDataIsNull() { + SearchResponse response = new SearchResponse(MOCK_TITLE, MOCK_DESCRIPTION, null); + + assertThat(response.getExtra(null)).isNull(); + } + + @Test + void shouldReturnNullWhenExtraDataKeyIsMissing() { + + SearchResponse response = new SearchResponse(MOCK_TITLE, MOCK_DESCRIPTION, Map.of("key", "value")); + + assertThat(response.getExtra("missing")).isNull(); + } + + @Test + void shouldReturnExtraDataValue() { + + SearchResponse response = new SearchResponse(MOCK_TITLE, MOCK_DESCRIPTION, Map.of("key", "value")); + + assertThat(response.getExtra("key")).contains("value"); + + } +}