test_layouts.py
1 import pytest 2 from layouts import create_header, create_latest_measurements_section, create_river_section, create_layout 3 4 def test_create_header(): 5 """Test header creation""" 6 header = create_header() 7 8 assert header is not None 9 assert len(header.children) == 1 10 assert header.children[0].children == "Fäbu's App" 11 12 def test_create_latest_measurements_section(): 13 """Test latest measurements section creation""" 14 section = create_latest_measurements_section() 15 16 assert section is not None 17 assert len(section.children) == 3 # Header, grid, last updated 18 19 # Check that the grid has two river sections 20 grid = section.children[1] 21 assert grid is not None 22 assert len(grid.children) == 2 # Aare and Reuss sections 23 24 def test_create_river_section(): 25 """Test river section creation""" 26 aare_section = create_river_section("aare") 27 reuss_section = create_river_section("reuss") 28 29 assert aare_section is not None 30 assert reuss_section is not None 31 32 # Check that each section has proper structure 33 assert len(aare_section.children) == 2 # Title + graphs container 34 assert len(reuss_section.children) == 2 # Title + graphs container 35 36 # Check that title is set correctly 37 assert aare_section.children[0].children == "Aare" 38 assert reuss_section.children[0].children == "Reuss" 39 40 def test_create_layout(): 41 """Test complete layout creation""" 42 layout = create_layout() 43 44 assert layout is not None 45 assert len(layout.children) == 5 # Header + measurements + aare section + reuss section 46 47 # Check children types 48 assert layout.children[0].children[0].children == "Fäbu's App" 49 assert layout.children[1].children[0].children == "Aktuelle Messwerte" 50 assert layout.children[2].children[0].children == "Aare" 51 assert layout.children[3].children[0].children == "Reuss"