from bls.attribute_labels import ( apply_official_name, fill_placeholder_labels, label_is_placeholder, official_label, ) def test_official_macro_labels(): assert official_label("ENERCC")["name_de"].startswith("Energie") assert official_label("cho")["name_de"].startswith("Kohlenhydrate") assert label_is_placeholder("ENERCC", "ENERCC") assert label_is_placeholder("", "FAT") assert not label_is_placeholder("Fett", "FAT") assert apply_official_name("FAT", "FAT") == "Fett" assert apply_official_name("FAT", "Fett gesamt") == "Fett gesamt" def test_fill_placeholder_labels_skips_custom_names(): class _Cur: def __init__(self): self.rows = [ {"id": 1, "attr_key": "FAT", "name_de": "FAT", "unit": None, "category": None}, {"id": 2, "attr_key": "EPA", "name_de": "Mein EPA", "unit": "g", "category": None}, ] self.updated = [] def execute(self, sql, params=None): self.last = (sql, params) if "UPDATE" in sql: self.updated.append(params) def fetchall(self): return self.rows cur = _Cur() stats = fill_placeholder_labels(cur) assert stats["updated"] == 1 assert cur.updated[0][0] == "Fett" assert cur.updated[0][3] == 1