This commit is contained in:
@@ -368,6 +368,37 @@ class FakeSCWiki:
|
||||
}
|
||||
|
||||
|
||||
class FakeWikelo:
|
||||
base_url = "https://wikelo-projects.test"
|
||||
|
||||
async def list_ship_projects(self):
|
||||
return [
|
||||
{
|
||||
"id": "ship-1",
|
||||
"ship_name": "Polaris Wikelo Special",
|
||||
"description": "Now make Polaris. Short Time Deal",
|
||||
"status": "planning",
|
||||
"privacy": "public",
|
||||
"owner_name": "Chimpanz33",
|
||||
"required_materials": [
|
||||
{"material_name": "Wikelo Favor", "quantity_needed": 50.0, "quantity_collected": 0.0},
|
||||
{"material_name": "Polaris Bit", "quantity_needed": 15.0, "quantity_collected": 2.0},
|
||||
],
|
||||
},
|
||||
{
|
||||
"id": "ship-2",
|
||||
"ship_name": "Guardian",
|
||||
"description": "Guardian Fight Mod",
|
||||
"status": "planning",
|
||||
"privacy": "public",
|
||||
"owner_name": "Chimpanz33",
|
||||
"required_materials": [
|
||||
{"material_name": "Wikelo Favor", "quantity_needed": 20.0, "quantity_collected": 0.0},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_search_marketplace_listings_filters_locally():
|
||||
registry = ToolRegistry(FakeUEX())
|
||||
@@ -686,6 +717,35 @@ async def test_get_scwiki_vehicle_returns_ship_prices_and_store_context():
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_search_wikelo_ship_projects_returns_material_matches():
|
||||
registry = ToolRegistry(FakeUEX(), wikelo=FakeWikelo())
|
||||
|
||||
result = await registry.search_wikelo_ship_projects(query="Polaris")
|
||||
|
||||
assert result["source"] == "https://wikelo-projects.test/Ships"
|
||||
assert result["matched"] == 1
|
||||
assert result["projects"][0]["ship_name"] == "Polaris Wikelo Special"
|
||||
assert result["projects"][0]["required_materials"][0]["material_name"] == "Wikelo Favor"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_get_wikelo_ship_project_returns_full_requirements():
|
||||
registry = ToolRegistry(FakeUEX(), wikelo=FakeWikelo())
|
||||
|
||||
result = await registry.get_wikelo_ship_project(ship_name="Guardian")
|
||||
|
||||
assert result["project"]["ship_name"] == "Guardian"
|
||||
assert result["project"]["materials_count"] == 1
|
||||
assert result["project"]["required_materials"] == [
|
||||
{
|
||||
"material_name": "Wikelo Favor",
|
||||
"quantity_needed": 20,
|
||||
"quantity_collected": 0,
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_draft_marketplace_listing_with_cornerstone_image_adds_image_data_and_redacts_display():
|
||||
registry = ToolRegistry(FakeUEX(), cornerstone=FakeCornerstone())
|
||||
|
||||
Reference in New Issue
Block a user