Esempio n. 1
0
def test_get_menu_item_as_dict(menu):
    item = MenuItem.objects.create(name="Name",
                                   menu=menu,
                                   url="http://url.com")
    result = get_menu_item_as_dict(item)
    assert result == {
        "name": "Name",
        "url": "http://url.com",
        "translations": {}
    }
Esempio n. 2
0
def test_get_menu_item_as_dict_with_translations(menu, collection):
    item = MenuItem.objects.create(name="Name", menu=menu, collection=collection)
    MenuItemTranslation.objects.create(
        menu_item=item, name="Polish Name", language_code="pl"
    )
    result = get_menu_item_as_dict(item)
    assert result == {
        "name": "Name",
        "url": collection.get_absolute_url(),
        "translations": {"pl": {"name": "Polish Name"}},
    }
Esempio n. 3
0
def test_get_menu_as_json(menu):
    top_item = MenuItem.objects.create(
        menu=menu, name="top item", url="http://topitem.pl"
    )
    child_item = MenuItem.objects.create(
        menu=menu, parent=top_item, name="child item", url="http://childitem.pl"
    )
    grand_child_item = MenuItem.objects.create(
        menu=menu,
        parent=child_item,
        name="grand child item",
        url="http://grandchilditem.pl",
    )
    top_item_data = get_menu_item_as_dict(top_item)
    child_item_data = get_menu_item_as_dict(child_item)
    grand_child_data = get_menu_item_as_dict(grand_child_item)

    child_item_data["child_items"] = [grand_child_data]
    top_item_data["child_items"] = [child_item_data]
    proper_data = [top_item_data]
    assert proper_data == get_menu_as_json(menu)
Esempio n. 4
0
def test_get_menu_item_as_dict_empty_url():
    item = MenuItem(name="Name")
    result = get_menu_item_as_dict(item)
    assert result == {"name": "Name", "url": "", "translations": {}}
Esempio n. 5
0
def menu_item_to_json(menu_item):
    """Transforms a menu item to a JSON representation as used in the storefront."""
    item_json = get_menu_item_as_dict(menu_item)
    item_json["child_items"] = []
    return item_json