Skip to content

Commit b99a70d

Browse files
committed
complete repo tests
1 parent 26b89ff commit b99a70d

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

services/web/server/tests/unit/with_dbs/04/studies_dispatcher/test_studies_dispatcher_repository.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,75 @@ async def test_list_viewers_info_only_default(
129129
# Assert
130130
assert len(viewers) == 1
131131
assert viewers[0].filetype == "CSV"
132+
133+
134+
async def test_get_default_viewer_for_filetype(
135+
studies_dispatcher_repository: StudiesDispatcherRepository,
136+
consume_filetypes_in_db: dict,
137+
):
138+
"""Test getting the default viewer for a specific file type."""
139+
# Act
140+
viewer = await studies_dispatcher_repository.get_default_viewer_for_filetype(
141+
file_type="CSV"
142+
)
143+
144+
# Assert
145+
assert viewer is not None
146+
assert isinstance(viewer, ViewerInfo)
147+
assert viewer.key == consume_filetypes_in_db["service_key"]
148+
assert viewer.version == consume_filetypes_in_db["service_version"]
149+
assert viewer.filetype == "CSV"
150+
assert viewer.label == consume_filetypes_in_db["service_display_name"]
151+
152+
# Test with non-existent filetype
153+
viewer_none = await studies_dispatcher_repository.get_default_viewer_for_filetype(
154+
file_type="NONEXISTENT"
155+
)
156+
assert viewer_none is None
157+
158+
159+
async def test_find_compatible_viewer_found(
160+
studies_dispatcher_repository: StudiesDispatcherRepository,
161+
consume_filetypes_in_db: dict,
162+
):
163+
"""Test finding a compatible viewer service that exists."""
164+
# Act
165+
viewer = await studies_dispatcher_repository.find_compatible_viewer(
166+
file_type="CSV",
167+
service_key=consume_filetypes_in_db["service_key"],
168+
service_version="1.0.0",
169+
)
170+
171+
# Assert
172+
assert viewer is not None
173+
assert isinstance(viewer, ViewerInfo)
174+
assert viewer.key == consume_filetypes_in_db["service_key"]
175+
assert viewer.version == "1.0.0" # Should use the requested version
176+
assert viewer.filetype == "CSV"
177+
assert viewer.label == consume_filetypes_in_db["service_display_name"]
178+
179+
180+
async def test_find_compatible_viewer_not_found(
181+
studies_dispatcher_repository: StudiesDispatcherRepository,
182+
consume_filetypes_in_db: dict,
183+
):
184+
"""Test finding a compatible viewer service that doesn't exist."""
185+
# Act - test with non-existent service key
186+
viewer = await studies_dispatcher_repository.find_compatible_viewer(
187+
file_type="CSV",
188+
service_key="simcore/services/dynamic/nonexistent",
189+
service_version="1.0.0",
190+
)
191+
192+
# Assert
193+
assert viewer is None
194+
195+
# Act - test with incompatible filetype
196+
viewer_wrong_filetype = await studies_dispatcher_repository.find_compatible_viewer(
197+
file_type="NONEXISTENT",
198+
service_key=consume_filetypes_in_db["service_key"],
199+
service_version="1.0.0",
200+
)
201+
202+
# Assert
203+
assert viewer_wrong_filetype is None

0 commit comments

Comments
 (0)