def test_to_mrk(bibs): from dlx.marc import Bib control = '000 leader\n008 controlfield\n245 \\\\$aThis$bis the$ctitle\n520 \\\\$aDescription\n520 \\\\$aAnother description$aRepeated subfield\n650 \\\\$aHeader\n710 \\\\$aAnother header\n' bib = Bib.find_one({'_id': 1}) assert bib.to_mrk() == control
def test_to_xml(db): from dlx.marc import Bib from xmldiff import main control = '<record><controlfield tag="000">leader</controlfield><controlfield tag="008">controlfield</controlfield><datafield ind1=" " ind2=" " tag="245"><subfield code="a">This</subfield><subfield code="b">is the</subfield><subfield code="c">title</subfield></datafield><datafield ind1=" " ind2=" " tag="520"><subfield code="a">Description</subfield></datafield><datafield ind1=" " ind2=" " tag="520"><subfield code="a">Another description</subfield><subfield code="a">Repeated subfield</subfield></datafield><datafield ind1=" " ind2=" " tag="650"><subfield code="a">Header</subfield><subfield code="0">1</subfield></datafield><datafield ind1=" " ind2=" " tag="710"><subfield code="a">Another header</subfield><subfield code="0">2</subfield></datafield></record>' bib = Bib.find_one({'_id': 1}) assert main.diff_texts(bib.to_xml(), control) == []
def test_auth_lookup(db): from dlx.marc import Bib, Auth bib = Bib.find_one({'_id': 1}) assert bib.get_xref('650', 'a') == 1 assert bib.get_value('650', 'a') == 'Header' auth = Auth.find_one({'_id': 1}) auth.set('150', 'a', 'Changed').commit() assert bib.get_value('650', 'a') == 'Changed'
def test_find_one(db, bibs, auths): from dlx.marc import Bib, Auth bib = Bib.find_one({'_id': 1}) assert bib.id == 1 assert isinstance(bib, Bib) auth = Auth.find_one({'_id': 1}) assert auth.id == 1 assert isinstance(auth, Auth)
def test_delete_field(bibs): from dlx.marc import Bib bib = Bib.find_one({'_id': 1}) bib.delete_field('008') assert list(bib.get_fields('008')) == [] bib.delete_field('500') assert list(bib.get_fields('500')) == [] bib.delete_field('520', place=1) assert len(list(bib.get_fields('520'))) == 1 assert bib.get_values('520', 'a') == ['Description']
def test_to_mrc(db): from dlx.marc import Bib, Auth control = '00224r|||a2200097|||4500008001300000245002400013520001600037520004300053650001100096710001900107controlfield aThisbis thectitle aDescription aAnother descriptionaRepeated subfield aHeader aAnother header' bib = Bib.find_one({'_id': 1}) assert bib.to_mrc() == control control = '00049||||a2200037|||4500150001100000 aHeader' auth = Auth.find_one({'_id': 1}) assert auth.to_mrc() == control auth.set('994', 'a', 'Titulo').commit() assert bib.to_mrc(language='es') == '00224r|||a2200097|||4500008001300000245002400013520001600037520004300053650001100096710001900107controlfield aThisbis thectitle aDescription aAnother descriptionaRepeated subfield aTitulo aAnother header'