def test_category_create(db: Session) -> None: title, slug = random_lower_string(), random_lower_string() category_in = CategoryCreate(title=title, slug=slug) category = service.create(db=db, category_in=category_in) assert category.id is not None assert category.title == title assert category.slug == slug service.remove(db=db, category_slug=category.slug)
def test_category_remove(db: Session) -> None: title, slug = random_lower_string(), random_lower_string() category_in = CategoryCreate(title=title, slug=slug) category = service.create(db=db, category_in=category_in) category_removed = service.remove(db=db, category_slug=category.slug) assert not category_removed.is_active assert category.id == category_removed.id
def test_category_route_create(client: TestClient) -> None: data_in = { "title": random_lower_string(), "slug": random_lower_string(), } resp = client.post("/categories", json=data_in) resp_json = resp.json() assert resp.status_code == 201 assert resp_json["id"]
def test_category_get(db: Session) -> None: title, slug = random_lower_string(), random_lower_string() category_in = CategoryCreate(title=title, slug=slug) category = service.create(db=db, category_in=category_in) category_stored = service.get(db=db, category_id=category.id) assert category.id == category_stored.id assert category.slug == category_stored.slug service.remove(db=db, category_slug=category.slug)
def test_category_route_delete(client: TestClient) -> None: slug, title = random_lower_string(), random_lower_string() data_in = { "title": title, "slug": slug, } client.post("/categories", json=data_in) resp = client.delete(f"/categories/{slug}", json=data_in) resp_json = resp.json() assert resp.status_code == 200 assert resp_json["is_active"] is False
def test_category_route_create_slug_exists(client: TestClient) -> None: data_in = { "title": random_lower_string(), "slug": random_lower_string(), } client.post("/categories", json=data_in) data_in.update({"title": random_lower_string()}) resp = client.post("/categories", json=data_in) resp_json = resp.json() assert resp.status_code == 400 assert resp_json["detail"] == ErrorCode.CATEGORY_SLUG_ALREADY_EXISTS
def user(db: Session) -> User: user_email = f"{random_lower_string()}@mail.net" user_password = random_lower_string() user_in = UserRegister(email=user_email, password=user_password) user = users.create(db=db, user_in=user_in) return user
def test_category_route_update(client: TestClient) -> None: slug, title = random_lower_string(), random_lower_string() data_in = { "title": title, "slug": slug, } client.post("/categories", json=data_in) new_title = f"{title}-UPD" data_in.update({"title": new_title}) resp = client.put(f"/categories/{slug}", json=data_in) resp_json = resp.json() assert resp.status_code == 200 assert resp_json["title"] == new_title
def test_category_update(db: Session) -> None: title, slug = random_lower_string(), random_lower_string() new_title, new_slug = random_lower_string(), random_lower_string() category_in = CategoryCreate(title=title, slug=slug) category_updated = CategoryUpdate(title=new_title, slug=new_slug) category = service.create(db=db, category_in=category_in) old_updated_at = category.updated_at service.update(db=db, category=category, category_in=category_updated) new_updated_at = category.updated_at assert category.title == new_title assert category.slug == new_slug assert new_updated_at > old_updated_at service.remove(db=db, category_slug=category.slug)
def test_user_create(db: Session): user_email = f"{random_lower_string()}@mail.net" user_password = random_lower_string() user_in = UserRegister(email=user_email, password=user_password) user = users.create(db=db, user_in=user_in) assert user.id assert user.email == user_email assert security.verify_password(user_password, user.password)
def test_authenticate(db: Session): user_email = f"{random_lower_string()}@mail.net" user_password = random_lower_string() user_in = UserRegister(email=user_email, password=user_password) users.create(db=db, user_in=user_in) user_in = UserLogin(email=user_email, password=user_password) logged_in = service.authenticate(db=db, user_in=user_in) assert logged_in
def test_user_get_by_email(db: Session): user_email = f"{random_lower_string()}@mail.net" user_password = random_lower_string() user_in = UserRegister(email=user_email, password=user_password) users.create(db=db, user_in=user_in) user_stored = users.get_by_email(db=db, email=user_email) # noqa assert user_stored.id assert user_stored.email == user_email assert security.verify_password(user_password, user_stored.password)