geo/backend/tests/fixtures/brands.py

64 lines
1.5 KiB
Python

import uuid
import pytest_asyncio
from app.models.brand import Brand
from .auth import _make_user, _to_uuid
@pytest_asyncio.fixture
async def test_user(async_session):
user = _make_user(plan="free")
async_session.add(user)
await async_session.commit()
await async_session.refresh(user)
return user
@pytest_asyncio.fixture
async def paid_user(async_session):
user = _make_user(email="paid@example.com", plan="pro")
async_session.add(user)
await async_session.commit()
await async_session.refresh(user)
return user
@pytest_asyncio.fixture
async def test_brand(async_session, test_user):
brand = Brand(
id=uuid.uuid4(),
user_id=_to_uuid(test_user.id),
name="TestBrand",
aliases=["TB"],
website="https://testbrand.com",
industry="technology",
platforms=["wenxin", "kimi"],
frequency="weekly",
status="active",
)
async_session.add(brand)
await async_session.commit()
await async_session.refresh(brand)
return brand
@pytest_asyncio.fixture
async def paid_brand(async_session, paid_user):
brand = Brand(
id=uuid.uuid4(),
user_id=_to_uuid(paid_user.id),
name="PaidBrand",
aliases=["PB"],
website="https://paidbrand.com",
industry="technology",
platforms=["wenxin", "kimi"],
frequency="weekly",
status="active",
)
async_session.add(brand)
await async_session.commit()
await async_session.refresh(brand)
return brand