/ tests / test_layouts.py
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"