def test_generator(self):
        reader = SierraExportReader("tests/files/bpl-ere-export-sample.txt")
        records = []
        n = 0
        for record in reader:
            records.append(record)
            assert record.bibDate == date(2020, 9, 30)
            assert record.librarySystemId == 2
            assert record.bibCategoryId == 1

            if n == 0:
                assert record.sbid == 12353027
                assert record.cno == "ODN0004408595"
            elif n == 1:
                assert record.sbid == 12353028
                assert record.cno == "ODN0005151593"
            elif n == 2:
                assert record.sbid == 12353058
                assert record.cno == "ODN0005254906"
            elif n == 3:
                assert record.sbid == 12353059
                assert record.cno == "ODN0005124775"
            n += 1
        assert len(records) == 4
 def test_prep_sierra_bibno_exceptions(self, arg):
     err_msg = "Invalid Sierra number passed."
     reader = SierraExportReader("nyp-ere-201001.txt")
     with pytest.raises(SierraExportReaderError) as exc:
         reader._prep_sierra_bibno(arg)
     assert err_msg in str(exc.value)
 def test_prep_sierra_bibno(self):
     reader = SierraExportReader("nyp-ere-201001.txt")
     assert reader._prep_sierra_bibno("b123456789") == 12345678
 def test_determine_bib_created_date_exceptions(self, arg):
     with pytest.raises(SierraExportReaderError):
         reader = SierraExportReader("nyp-ere-201001.txt")
         reader._determine_bib_created_date(arg)
 def test_determine_bib_created_date(self, handle, date_arg, expectation):
     reader = SierraExportReader(handle)
     assert reader._determine_bib_created_date(date_arg) == expectation
 def test_determine_bib_category_id_exceptions(self, handle):
     err_msg = "Sierra export file handle has invalid bib category."
     with pytest.raises(SierraExportReaderError) as exc:
         SierraExportReader(handle)
     assert err_msg in str(exc.value)
 def test_determine_bib_category_id(self, handle, expectation):
     reader = SierraExportReader(handle)
     assert reader._determine_bib_category_id(handle) == expectation
 def test_determine_library_system_id_exceptions(self, handle, err_msg):
     with pytest.raises(SierraExportReaderError) as exc:
         SierraExportReader(handle)
     assert err_msg in str(exc.value)
    def test_determine_library_system_id(self, handle, expectation):
        reader = SierraExportReader(handle)

        assert reader._determine_library_system_id(handle) == expectation
 def test_map_data(self, fh, row, expectation):
     reader = SierraExportReader(fh)
     assert reader._map_data(row) == expectation