test: fix broken tests after refactor
- Update test_openbb_service to import from obb_utils (to_list, first_or_empty) instead of removed _to_dicts/_first_or_empty - Update test_stock_upgrades to mock openbb_service instead of finnhub_service (upgrades moved to yfinance)
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
from openbb_service import _to_dicts, _first_or_empty
|
from obb_utils import to_list, first_or_empty
|
||||||
|
|
||||||
|
|
||||||
class MockModel:
|
class MockModel:
|
||||||
@@ -14,34 +14,34 @@ class MockOBBject:
|
|||||||
self.results = results
|
self.results = results
|
||||||
|
|
||||||
|
|
||||||
class TestToDicts:
|
class TestToList:
|
||||||
def test_none_result(self):
|
def test_none_result(self):
|
||||||
assert _to_dicts(None) == []
|
assert to_list(None) == []
|
||||||
|
|
||||||
def test_none_results(self):
|
def test_none_results(self):
|
||||||
obj = MockOBBject(results=None)
|
obj = MockOBBject(results=None)
|
||||||
assert _to_dicts(obj) == []
|
assert to_list(obj) == []
|
||||||
|
|
||||||
def test_list_results(self):
|
def test_list_results(self):
|
||||||
obj = MockOBBject(results=[
|
obj = MockOBBject(results=[
|
||||||
MockModel({"a": 1}),
|
MockModel({"a": 1}),
|
||||||
MockModel({"b": 2}),
|
MockModel({"b": 2}),
|
||||||
])
|
])
|
||||||
result = _to_dicts(obj)
|
result = to_list(obj)
|
||||||
assert len(result) == 2
|
assert len(result) == 2
|
||||||
assert result[0] == {"a": 1}
|
assert result[0] == {"a": 1}
|
||||||
|
|
||||||
def test_single_result(self):
|
def test_single_result(self):
|
||||||
obj = MockOBBject(results=MockModel({"x": 42}))
|
obj = MockOBBject(results=MockModel({"x": 42}))
|
||||||
result = _to_dicts(obj)
|
result = to_list(obj)
|
||||||
assert result == [{"x": 42}]
|
assert result == [{"x": 42}]
|
||||||
|
|
||||||
|
|
||||||
class TestFirstOrEmpty:
|
class TestFirstOrEmpty:
|
||||||
def test_empty(self):
|
def test_empty(self):
|
||||||
assert _first_or_empty(None) == {}
|
assert first_or_empty(None) == {}
|
||||||
|
|
||||||
def test_with_data(self):
|
def test_with_data(self):
|
||||||
obj = MockOBBject(results=[MockModel({"price": 150.0})])
|
obj = MockOBBject(results=[MockModel({"price": 150.0})])
|
||||||
result = _first_or_empty(obj)
|
result = first_or_empty(obj)
|
||||||
assert result == {"price": 150.0}
|
assert result == {"price": 150.0}
|
||||||
|
|||||||
@@ -66,10 +66,12 @@ async def test_stock_recommendations(mock_recs, client):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
@patch("routes_sentiment.finnhub_service.get_upgrade_downgrade", new_callable=AsyncMock)
|
@patch("routes_sentiment.openbb_service.get_upgrades_downgrades", new_callable=AsyncMock)
|
||||||
async def test_stock_upgrades(mock_upgrades, client):
|
async def test_stock_upgrades(mock_upgrades, client):
|
||||||
mock_upgrades.return_value = [
|
mock_upgrades.return_value = [
|
||||||
{"company": "Morgan Stanley", "action": "upgrade", "fromGrade": "Hold", "toGrade": "Buy"}
|
{"date": "2026-03-05", "company": "Morgan Stanley", "action": "upgrade",
|
||||||
|
"from_grade": "Hold", "to_grade": "Buy", "price_target_action": "Raises",
|
||||||
|
"current_price_target": 300.0, "prior_price_target": 250.0}
|
||||||
]
|
]
|
||||||
resp = await client.get("/api/v1/stock/AAPL/upgrades")
|
resp = await client.get("/api/v1/stock/AAPL/upgrades")
|
||||||
assert resp.status_code == 200
|
assert resp.status_code == 200
|
||||||
|
|||||||
Reference in New Issue
Block a user