def test_current_queryset_returns_correct_results( approved, order, head_order, head_latest, expect_current, ): check = factories.TransactionCheckFactory.create( transaction__approved=approved, transaction__draft=not approved, transaction__order=order, head_transaction__approved=True, head_transaction__order=head_order, ) if head_latest: latest = check.head_transaction else: latest = common_factories.TransactionFactory.create( approved=True, order=head_order + 1, ) assert Transaction.approved.last() == latest assert_current(check, expect_current)
def test_current_fresh_check_made_after_stale_check_does_not_require_update(): stale_check = factories.StaleTransactionCheckFactory.create() fresh_check = factories.TransactionCheckFactory.create( transaction=stale_check.transaction, ) assert_fresh(fresh_check) assert_current(fresh_check) assert_requires_update(fresh_check, False)
def test_check_after_stale_check_in_other_workbasket_does_not_require_update(): stale_check = factories.StaleTransactionCheckFactory.create() after_check = factories.TransactionCheckFactory.create( transaction__partition=stale_check.transaction.partition, transaction__order=stale_check.transaction.order + 1, ) assert after_check.transaction.workbasket != stale_check.transaction.workbasket assert_fresh(after_check) assert_current(after_check) assert_requires_update(after_check, False)
def test_current_fresh_check_made_on_transaction_after_stale_check_requires_update( ): stale_check = factories.StaleTransactionCheckFactory.create() after_check = factories.TransactionCheckFactory.create( transaction__partition=stale_check.transaction.partition, transaction__order=stale_check.transaction.order + 1, transaction__workbasket=stale_check.transaction.workbasket, ) assert after_check.transaction.workbasket == stale_check.transaction.workbasket assert_fresh(after_check) assert_current(after_check) assert_requires_update(after_check, True)
def test_current_fresh_check_does_not_require_update(): check = factories.TransactionCheckFactory.create() assert_current(check) assert_fresh(check) assert_requires_update(check, False)
def test_check_with_no_models_does_not_require_update(): check = factories.TransactionCheckFactory.create(empty=True) assert_fresh(check) assert_current(check) assert_requires_update(check, False)
def test_stale_check_does_require_update(): stale_check = factories.StaleTransactionCheckFactory.create() assert_current(stale_check) assert_requires_update(stale_check, True)