Skip to content

Commit b67d55a

Browse files
authored
Merge pull request #172 from Crinibus/add-tests-of-functions
Add more tests
2 parents 21ac02c + 862aa3d commit b67d55a

File tree

2 files changed

+41
-19
lines changed

2 files changed

+41
-19
lines changed

tests/test_add_product.py

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,38 @@
11
import pytest
2+
from contextlib import nullcontext as does_not_raise
23

34
from scraper.add_product import add_product
5+
from scraper.exceptions import WebsiteNotSupported
46

57
test_domains = [
6-
"https://www.amazon.com/",
7-
"https://www.ebay.com/",
8-
"https://www.komplett.dk/",
9-
"https://www.proshop.dk/",
10-
"https://www.computersalg.dk/",
11-
"https://www.elgiganten.dk/",
12-
"https://www.avxperten.dk/",
13-
"https://www.av-cables.dk/",
14-
"https://www.power.dk/",
15-
"https://www.expert.dk/",
16-
"https://www.mm-vision.dk/",
17-
"https://www.coolshop.dk/",
18-
"https://www.sharkgaming.dk/",
19-
"https://www.newegg.com/",
20-
"https://www.hifiklubben.dk/",
8+
("https://www.amazon.com/", does_not_raise()),
9+
("https://www.ebay.com/", does_not_raise()),
10+
("https://www.komplett.dk/", does_not_raise()),
11+
("https://www.proshop.dk/", does_not_raise()),
12+
("https://www.computersalg.dk/", does_not_raise()),
13+
("https://www.elgiganten.dk/", does_not_raise()),
14+
("https://www.avxperten.dk/", does_not_raise()),
15+
("https://www.av-cables.dk/", does_not_raise()),
16+
("https://www.power.dk/", does_not_raise()),
17+
("https://www.expert.dk/", does_not_raise()),
18+
("https://www.mm-vision.dk/", does_not_raise()),
19+
("https://www.coolshop.dk/", does_not_raise()),
20+
("https://www.sharkgaming.dk/", does_not_raise()),
21+
("https://www.newegg.com/", does_not_raise()),
22+
("https://www.hifiklubben.dk/", does_not_raise()),
23+
("https://www.notsupported.com/", pytest.raises(WebsiteNotSupported)),
2124
]
2225

2326

2427
# Tests to make sure the websites that are supported can be added to be scraped
25-
@pytest.mark.parametrize("url", test_domains)
26-
def test_add_product(url, mocker):
28+
@pytest.mark.parametrize("url,expectation", test_domains)
29+
def test_add_product(url, expectation, mocker):
2730
mocker.patch("scraper.Scraper.scrape_info", return_value=None)
2831
mocker.patch("scraper.Scraper.save_info", return_value=None)
2932
mocker.patch("scraper.filemanager.Filemanager.add_product_to_csv", return_value=None)
3033
mocker.patch("scraper.add_product.check_if_product_exists", return_value=False)
3134
mocker.patch("scraper.add_product.check_if_product_exists_csv", return_value=False)
3235
mocker.patch("scraper.add_product.add_product_to_records", return_value=None)
3336

34-
# expect no exceptions to raise
35-
add_product("test", url)
37+
with expectation:
38+
add_product("test", url)

tests/test_domains.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import pytest
2+
3+
from scraper.domains import get_website_name
4+
5+
test_websites = [
6+
("https://www.amazon.com/", "amazon"),
7+
("https://www.komplett.dk/", "komplett"),
8+
("https://www.av-cables.dk/", "av-cables"),
9+
("https://nowww.com/", "nowww"),
10+
("https://no-ending-slash.com", "no-ending-slash"),
11+
("https://www.test.testing.com/", "test.testing"),
12+
("https://www.test.hello.com/hello/world", "test.hello"),
13+
]
14+
15+
16+
@pytest.mark.parametrize("url,expected", test_websites)
17+
def test_get_website_name(url, expected):
18+
result = get_website_name(url)
19+
assert result == expected

0 commit comments

Comments
 (0)