Add formatter tests for Company, Category, Item models.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
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…
Reference in new issue