Example #1
0
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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
def test_current_fresh_check_does_not_require_update():
    check = factories.TransactionCheckFactory.create()

    assert_current(check)
    assert_fresh(check)
    assert_requires_update(check, False)
Example #6
0
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)
Example #7
0
def test_stale_check_does_require_update():
    stale_check = factories.StaleTransactionCheckFactory.create()

    assert_current(stale_check)
    assert_requires_update(stale_check, True)