Beispiel #1
0
def test_remove_category(db: Session):
    product = create_random_product(db)

    cat1 = create_random_category(db)

    product_repo.add_category(db, db_obj=product, category=cat1)

    db_obj = product_repo.get(db, id=product.id)

    assert db_obj.categories[0].name == cat1.name

    db_obj = product_repo.remove_category(db, db_obj=product, category=cat1)
    db_obj = product_repo.get(db, id=product.id)

    assert not db_obj.categories
Beispiel #2
0
def delete_product(*,
                   id: int,
                   db: Session = Depends(database.get_db),
                   current_user: User = Depends(auth.get_current_active_user)):
    db_obj = product_repo.get(db, id=id)
    if not db_obj:
        raise PRODUCT_NOT_FOUND_EXCEPTION
    return product_repo.remove(db, id=id)
Beispiel #3
0
def update_product(*,
                   id: int,
                   product_in: ProductUpdate,
                   db: Session = Depends(database.get_db),
                   current_user: User = Depends(auth.get_current_active_user)):
    db_obj = product_repo.get(db, id=id)
    if not db_obj:
        raise PRODUCT_NOT_FOUND_EXCEPTION
    return product_repo.update(db, db_obj=db_obj, obj_in=product_in)
Beispiel #4
0
def add_category(*,
                 id: int,
                 c_id: int = Body(...),
                 db: Session = Depends(database.get_db),
                 current_user: User = Depends(auth.get_current_active_user)):
    db_obj = product_repo.get(db, id=id)
    if not db_obj:
        raise PRODUCT_NOT_FOUND_EXCEPTION
    category = category_repo.get(db, id=c_id)
    return product_repo.add_category(db, db_obj=db_obj, category=category)
Beispiel #5
0
def remove_image(*,
                 id: int,
                 image_url: str = Body(...),
                 db: Session = Depends(database.get_db),
                 current_user: User = Depends(auth.get_current_active_user)):
    product = product_repo.get(db, id=id)
    if not product:
        raise PRODUCT_NOT_FOUND_EXCEPTION
    image = image_repo.get_with_url(db, url=image_url)
    if image:
        product_repo.remove_image(db, db_obj=product, image=image)
Beispiel #6
0
async def add_image(*,
                    id: int,
                    db: Session = Depends(database.get_db),
                    image: Image = Depends(upload_image),
                    current_user: User = Depends(
                        auth.get_current_active_user)):
    product = product_repo.get(db, id=id)
    if not product:
        raise PRODUCT_NOT_FOUND_EXCEPTION

    product_repo.add_image(db, db_obj=product, image=image)
    return {"url": image.url}
Beispiel #7
0
def test_delete_product(db: Session):
    name = random_lower_string()
    desc = random_lower_string()

    product = product_repo.create(db, obj_in=ProductCreate(
        name=name, description=desc
    ))

    product_repo.remove(db, id=product.id)

    db_obj = product_repo.get(db, id=product.id)

    assert not db_obj
Beispiel #8
0
def test_create_product(db: Session):
    name = random_lower_string()
    desc = random_lower_string()

    product = product_repo.create(db, obj_in=ProductCreate(
        name=name, description=desc
    ))

    db_obj = product_repo.get(db, id=product.id)

    assert db_obj
    assert db_obj.name == name
    assert db_obj.description == desc
Beispiel #9
0
def test_create_with_user_product(db: Session):
    name = random_lower_string()
    desc = random_lower_string()
    owner = create_random_user(db)

    product = product_repo.create_with_user(db, obj_in=ProductCreate(
        name=name, description=desc
    ), owner_id=owner.id)

    db_obj = product_repo.get(db, id=product.id)

    assert db_obj
    assert db_obj.name == name
    assert db_obj.description == desc
    assert db_obj.owner_id == owner.id
Beispiel #10
0
def get_product(*, id: int, db: Session = Depends(database.get_db)):
    db_obj = product_repo.get(db, id=id)
    if not db_obj:
        raise PRODUCT_NOT_FOUND_EXCEPTION
    return db_obj