Esempio n. 1
0
def test_default_price():
    advert_dict = {
        "something": 1,
        "title": "test title",
    }
    advert = Advert(advert_dict)
    assert advert.price == 0
Esempio n. 2
0
def test_without_title():
    advert_dict = {
        "something": 1,
    }
    with pytest.raises(ValueError) as e:
        Advert(advert_dict)
    assert str(e.value) == "Can't find key 'title'"
Esempio n. 3
0
def test_good_price_type():
    good_types = [int, float]
    advert_dict = {
        "something": 1,
        "title": "test title",
    }
    for good_type in good_types:
        advert_dict["price"] = good_type()
        Advert(advert_dict)
Esempio n. 4
0
def test_negative_price():
    bad_values = [-5, -5.5]
    advert_dict = {
        "something": 1,
        "title": "test title",
    }
    for bad_value in bad_values:
        advert_dict["price"] = bad_value
        with pytest.raises(ValueError) as e:
            Advert(advert_dict)
        assert str(e.value) == "price can't be less than 0"
Esempio n. 5
0
def test_bad_price_type():
    bad_types = [list, tuple, dict, str]
    advert_dict = {
        "something": 1,
        "title": "test title",
    }
    for bad_type in bad_types:
        advert_dict["price"] = bad_type()
        with pytest.raises(ValueError) as e:
            Advert(advert_dict)
        assert str(e.value) == "price must be instance of float or int"
Esempio n. 6
0
def test_iphone_advert():
    advert = Advert(iphone_advert)
    assert advert.title == "iPhone X"
    assert advert.price == 100
    assert advert.location.address == "город Самара, улица Мориса Тореза, 50"
    assert advert.location.metro_stations == ["Спортивная", "Гагаринская"]
Esempio n. 7
0
def test_bad_attribute():
    advert_dict = {"something": 1, "title": "test title", "price": 200}
    with pytest.raises(AttributeError):
        advert = Advert(advert_dict)
        advert.bad_attr
Esempio n. 8
0
def test_bad_init_data():
    bad_types = [list, tuple, int, str, float]
    for bad_type in bad_types:
        with pytest.raises(ValueError) as e:
            Advert(bad_type())
        assert str(e.value) == "data must be instance of dict"
Esempio n. 9
0
def test_set_price():
    advert = Advert(iphone_advert)
    assert advert.title == "iPhone X"
    assert advert.price == 100
    advert.price = 200
    assert advert.price == 200
Esempio n. 10
0
def test_data_with_keyword():
    advert = Advert(dog_advert)
    assert advert.class_ == "dogs"
    assert getattr(advert, "class") == "dogs"
    assert getattr(advert, "class_") == "dogs"