Add formatter tests for Company, Category, Item models.
continuous-integration/drone/push Build is passing Details

main
KKlochko 2 years ago
parent ea3fb8ca7f
commit 420fafe168

@ -0,0 +1,78 @@
import pytest
from src.fmt.category_formatter import CategoryFormatter
def test_category_format():
category = {
'name': 'Напої'
}
formatter = CategoryFormatter()
category_fmt = formatter.format(category)
assert '#### Напої\n' == category_fmt
def test_format_categories_with_no_items():
categories = {'data': [
{'name': 'Піци'},
{'name': 'Напої'},
]}
expected_format = "".join([
"# Категорії\n\n",
"#### Піци\n",
"#### Напої\n",
])
formatter = CategoryFormatter()
categories_fmt = formatter.format_all(categories)
assert expected_format == categories_fmt
def test_format_categories_with_items():
categories = {'data': [
{
'name': 'Піци',
'items': [
{
'name': 'Піца Поло',
'price': 99.99,
},
{
'name': 'Піца Чотири Сири',
'price': 89.99,
},
]
},
{
'name': 'Напої',
'items': [
{
'name': 'Чай',
'price': 39.99,
},
{
'name': 'Кава',
'price': 49.99,
},
]
},
]}
expected_format = "".join([
"# Категорії\n\n",
"#### Піци\n",
"- Піца Поло - 99.99 ₴\n",
"- Піца Чотири Сири - 89.99 ₴\n",
"#### Напої\n",
"- Чай - 39.99 ₴\n",
"- Кава - 49.99 ₴\n",
])
formatter = CategoryFormatter()
categories_fmt = formatter.format_all(categories)
assert expected_format == categories_fmt

@ -0,0 +1,30 @@
import pytest
from src.fmt.company_formatter import CompanyFormatter
def test_company_format():
company = {'name': 'Pizza company'}
formatter = CompanyFormatter()
company_fmt = formatter.format(company)
assert '- Pizza company\n' == company_fmt
def test_format_companies():
companies = {'data': [
{'name': 'Pizza company'},
{'name': 'Donuts company'}
]}
expected_format = "".join([
"# Компанії\n\n",
"- Pizza company\n",
"- Donuts company\n",
])
formatter = CompanyFormatter()
companies_fmt = formatter.format_all(companies)
assert expected_format == companies_fmt

@ -0,0 +1,38 @@
import pytest
from src.fmt.item_formatter import ItemFormatter
def test_item_format():
item = {
'name': 'Піца',
'price': 99.99,
}
formatter = ItemFormatter()
item_fmt = formatter.format(item)
assert '- Піца - 99.99 ₴\n' == item_fmt
def test_format_items():
items = {'data': [
{
'name': 'Піца',
'price': 99.99,
},
{
'name': 'Чай',
'price': 9.99,
},
]}
expected_format = "".join([
'- Піца - 99.99 ₴\n',
'- Чай - 9.99 ₴\n',
])
formatter = ItemFormatter()
items_fmt = formatter.format_all(items)
assert expected_format == items_fmt
Loading…
Cancel
Save