import pytest
from fastapi.testclient import TestClient

@pytest.fixture
def client(monkeypatch, tmp_path):
    from app import db as _db
    monkeypatch.setattr(_db, "DB_PATH", str(tmp_path / "stock.db"))
    _db.init_db()
    from app.main import app
    return TestClient(app)

def test_watchlist_crud(client):
    assert client.get("/api/stock/watchlist").json()["watchlist"] == []
    r = client.post("/api/stock/watchlist", json={"ticker": "005930", "name": "삼성전자"})
    assert r.status_code == 201
    wl = client.get("/api/stock/watchlist").json()["watchlist"]
    assert wl[0]["ticker"] == "005930"
    assert client.delete("/api/stock/watchlist/005930").status_code == 200
    assert client.delete("/api/stock/watchlist/005930").status_code == 404

def test_trade_alerts_history_empty(client):
    assert client.get("/api/stock/trade-alerts?days=7").json()["alerts"] == []
