test_fields.py 1.09 KB
import pytest


def test_ok():
    from pyramid_snap.structure import VA_FIELDS
    from pyramid_snap.validation import field_validation
    d = VA_FIELDS.copy()
    d.update(dict(customerNo='1234'))
    r = field_validation(d, VA_FIELDS)
    assert d == r


def test_kurang_field():
    from pyramid_snap.structure import VA_FIELDS
    from pyramid_snap.validation import (
        FieldRequiredError,
        field_validation,
        )
    fields = list(VA_FIELDS)
    d = {fields[1]: '5678'}
    with pytest.raises(FieldRequiredError) as info:
        field_validation(d, VA_FIELDS)
    field = fields[0]
    msg = f'Field {field} wajib ada'
    assert str(info.value) == msg


def test_kurang_header():
    from pyramid_snap.structure import HEADER_FIELDS
    from pyramid_snap.validation import (
        HeaderRequiredError,
        header_validation,
        )
    fields = list(HEADER_FIELDS)
    d = {fields[1]: '1234'}
    with pytest.raises(HeaderRequiredError) as info:
        header_validation(d, HEADER_FIELDS)
    field = fields[0]
    msg = f'Header {field} wajib ada'
    assert str(info.value) == msg