File diff 4b6a27496d5f → 9c335175835c
tests/test_data_metadata.py
Show inline comments
...
 
@@ -57,3 +57,35 @@ def test_get_links_bad_type(value):
 
    meta = data.Metadata({'key': value})
 
    with pytest.raises(TypeError):
 
        meta.get_links('key')
 

	
 
def test_first_link_from_txn(simple_txn):
 
    meta = data.PostingMeta(simple_txn, 0)
 
    assert meta.first_link('note') == 'txn'
 

	
 
def test_first_link_from_post_override(simple_txn):
 
    meta = data.PostingMeta(simple_txn, 1)
 
    assert meta.first_link('note') == 'donation'
 

	
 
def test_first_link_is_only_link(simple_txn):
 
    meta = data.PostingMeta(simple_txn, 1)
 
    assert meta.first_link('extra') == 'Extra'
 

	
 
def test_first_link_nonexistent_metadata(simple_txn):
 
    meta = data.PostingMeta(simple_txn, 1)
 
    assert meta.first_link('Nonexistent') is None
 

	
 
def test_first_link_nonexistent_default(simple_txn):
 
    meta = data.PostingMeta(simple_txn, 1)
 
    assert meta.first_link('Nonexistent', 'missing') == 'missing'
 

	
 
@pytest.mark.parametrize('meta_value', testutil.NON_STRING_METADATA_VALUES)
 
def test_first_link_bad_type_metadata(simple_txn, meta_value):
 
    simple_txn.meta['badmeta'] = meta_value
 
    meta = data.PostingMeta(simple_txn, 1)
 
    assert meta.first_link('badmeta') is None
 

	
 
@pytest.mark.parametrize('meta_value', testutil.NON_STRING_METADATA_VALUES)
 
def test_first_link_bad_type_default(simple_txn, meta_value):
 
    simple_txn.meta['badmeta'] = meta_value
 
    meta = data.PostingMeta(simple_txn, 1)
 
    assert meta.first_link('badmeta', '_') == '_'