Coverage for tests/tests_api/admin/test_ads.py: 38%
26 statements
« prev ^ index » next coverage.py v7.6.2, created at 2024-10-10 03:02 +0300
« prev ^ index » next coverage.py v7.6.2, created at 2024-10-10 03:02 +0300
1from sotrans_models.models.admin.ads import (
2 AdvertisingBlockDBModel,
3 CreateAdvertisingBlockModel,
4)
5from sotrans_models.models.responses import GenericGetListResponse
7from ...conftest import APIDataStorage
8from ...random_model import generate_models_json
9from ...tests_api.auth import test_client, token
12def test_ads_create(test_client):
13 response = test_client.post(
14 "/ads-block", json=generate_models_json(CreateAdvertisingBlockModel)
15 )
16 assert response.status_code == 201
17 APIDataStorage.ads = AdvertisingBlockDBModel(**response.json())
20def test_ads_get(test_client):
21 response = test_client.get(f"/ads-block/{APIDataStorage.ads.id}")
22 assert response.status_code == 200
23 assert (
24 AdvertisingBlockDBModel(**response.json()).image_url
25 == APIDataStorage.ads.image_url
26 )
29def test_ads_update(test_client):
30 patch_data = {"image_url": "RickRoll"}
31 response = test_client.patch(
32 f"/ads-block/{APIDataStorage.ads.id}", json=patch_data
33 )
34 assert response.status_code == 200
35 assert (
36 AdvertisingBlockDBModel(**response.json()).image_url
37 == patch_data[AdvertisingBlockDBModel.image_url]
38 )
41def test_get_ads_blocks(test_client):
42 response = test_client.get("/ads-block")
43 assert response.status_code == 200
44 assert (
45 GenericGetListResponse[AdvertisingBlockDBModel](
46 **response.json()
47 ).total
48 == 1
49 )
52def test_remove_ads_block(test_client):
53 response = test_client.delete(f"/ads-block/{APIDataStorage.ads.id}")
54 assert response.status_code == 204
55 APIDataStorage.ads = None