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