
  warnings.warn(PytestDeprecationWarning(_DEFAULT_FIXTURE_LOOP_SCOPE_UNSET))
F                                                                        [100%]
=================================== FAILURES ===================================
__________ TestInvoiceGeneration.test_collision_checking_avoids_used ___________

self = <tests.test_variable_engine.TestInvoiceGeneration object at 0x7f8396d98810>

    def test_collision_checking_avoids_used(self):
        ve = VariableEngine({"invoice_format": "{d2}"})  # tiny space: 100 values
        used = set()
        for _ in range(100):
>           used.add(ve.generate_invoice_number(used=used))

tests/test_variable_engine.py:38: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <app.services.variable_engine.VariableEngine object at 0x7f8396d4a750>
used = {'00', '01', '02', '03', '04', '05', ...}

    def generate_invoice_number(self, used: set = None) -> str:
        """Generate a unique invoice/reference number using configurable format tokens.
    
        Tokens: {prefix} {R#} uppercase {r#} lowercase {d#} digits {seq4} {date} {hash}
        Cryptographically strong randomness via SystemRandom.
        """
        used = used if used is not None else set()
        fmt = self._cfg("invoice_format", "{prefix}{R4}-{R5}-{R6}-{seq4}")
        prefix = self._cfg("invoice_prefix", "INV-")
        for _ in range(50):
            val = self._render_format(fmt, prefix)
            if val not in used:
                return val
>       raise ValueError("Could not generate unique invoice number after 50 attempts")
E       ValueError: Could not generate unique invoice number after 50 attempts

app/services/variable_engine.py:68: ValueError
=========================== short test summary info ============================
FAILED tests/test_variable_engine.py::TestInvoiceGeneration::test_collision_checking_avoids_used
1 failed in 0.03s
