def test_is_invoice_released_dao_raises_value_error(self) -> None: mock_dao = Mock(spec=InvoiceDataAccessObject) mock_dao.lookup_status.side_effect = ValueError( 'No invoice with ID 1234') invoice = Invoice(1234, date.today(), mock_dao) assert not invoice.is_invoice_released()
def test_is_invoice_released_status_0_yesterday(self) -> None: cutoff = date.today() + timedelta(days=-1) mock_dao = Mock(spec=InvoiceDataAccessObject) mock_dao.lookup_status.return_value = 0 invoice = Invoice(1234, cutoff, mock_dao) assert not invoice.is_invoice_released()
def test_is_invoice_released(self, status: int, time_delta: int, expected: bool) -> None: cutoff = date.today() + timedelta(days=time_delta) mock_dao = Mock(spec=InvoiceDataAccessObject) mock_dao.lookup_status.return_value = status invoice = Invoice(1234, cutoff, mock_dao) assert invoice.is_invoice_released() == expected