diff --git a/src/bill/calculator.py b/src/bill/calculator.py index 16e693c..b02117c 100644 --- a/src/bill/calculator.py +++ b/src/bill/calculator.py @@ -214,9 +214,15 @@ def get_shares_spreadsheet(self): for item in self.items.items: row_data = [item.name, item.price] + split_count = self.get_split_count(item) + item_index = self.items.items.index(item) + for person in self.persons: - share = self.get_person_share(item, person) - row_data.append(share if share else None) + if item_index in person.items: + formula = f"=$B{current_row}/{split_count}" + row_data.append(formula) + else: + row_data.append(None) row_data.append(None) worksheet.append(row_data) current_row += 1 diff --git a/tests/test_calculator.py b/tests/test_calculator.py index d2071f4..375763e 100644 --- a/tests/test_calculator.py +++ b/tests/test_calculator.py @@ -240,20 +240,20 @@ def test_spreadsheet(calculator, sample_persons): assert worksheet["A2"].value == "GL-Domaine Amido Cotes Du Rhone" assert worksheet["B2"].value == 13.00 - assert worksheet["C2"].value == 6.50 + assert worksheet["C2"].value == "=$B2/2" assert worksheet["D2"].value is None - assert worksheet["E2"].value == 6.50 + assert worksheet["E2"].value == "=$B2/2" assert worksheet["A16"].value == "Shahi tukda" assert worksheet["B16"].value == 15.00 - assert worksheet["C16"].value == 5.00 - assert worksheet["D16"].value == 5.00 - assert worksheet["E16"].value == 5.00 + assert worksheet["C16"].value == "=$B16/3" + assert worksheet["D16"].value == "=$B16/3" + assert worksheet["E16"].value == "=$B16/3" assert worksheet["A17"].value == "Jus d Manguir" assert worksheet["B17"].value == 9.00 - assert worksheet["C17"].value == 4.50 - assert worksheet["D17"].value == 4.50 + assert worksheet["C17"].value == "=$B17/2" + assert worksheet["D17"].value == "=$B17/2" assert worksheet["E17"].value is None subtotal_row = 18