Skip to content

Commit e0c0daa

Browse files
committed
update test cases
1 parent c396b12 commit e0c0daa

File tree

3 files changed

+27
-9
lines changed

3 files changed

+27
-9
lines changed

tests/base.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import io
2+
import json
23
import os
34
import re
45

@@ -31,9 +32,25 @@ def read_pdf(self, filename, password, output="dict"):
3132
use_pdfminer = self.mode == "pdfminer"
3233
return read_cas_pdf(filename, password, output=output, force_pdfminer=use_pdfminer)
3334

35+
def test_output_json(self):
36+
for filename, password in self.pdf_files:
37+
json_data = self.read_pdf(filename, password, output="json")
38+
data = json.loads(json_data)
39+
assert len(data.get("folios", [])) == 10
40+
for folio in data["folios"]:
41+
for scheme in folio.get("schemes", []):
42+
assert scheme["isin"] is not None
43+
assert scheme["amfi"] is not None
44+
assert data.get("investor_info", {}).get("mobile") not in (None, "")
45+
assert data["cas_type"] == "DETAILED"
46+
3447
def test_read_summary(self):
3548
data = self.read_pdf(self.cams_summary_file_name, self.cams_password)
3649
assert len(data.get("folios", [])) == 4
50+
for folio in data["folios"]:
51+
for scheme in folio.get("schemes", []):
52+
assert scheme["isin"] is not None
53+
assert scheme["amfi"] is not None
3754
assert data.get("investor_info", {}).get("mobile") not in (None, "")
3855
assert data["cas_type"] == "SUMMARY"
3956

tests/test_mupdf.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import json
21
import re
32

43
from click.testing import CliRunner
@@ -12,14 +11,6 @@
1211
class TestMuPDF(BaseTestClass):
1312
"""Test PyMuPDF parser."""
1413

15-
def test_output_json(self):
16-
for filename, password in self.pdf_files:
17-
json_data = self.read_pdf(filename, password, output="json")
18-
data = json.loads(json_data)
19-
assert len(data.get("folios", [])) == 10
20-
assert data.get("investor_info", {}).get("mobile") not in (None, "")
21-
assert data["cas_type"] == "DETAILED"
22-
2314
def test_output_csv(self):
2415
output = self.read_pdf(self.cams_file_name, self.cams_password, output="csv")
2516
assert isinstance(output, str)

tests/test_process.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from casparser.process import process_cas_text
77
from casparser.process.cas_detailed import parse_header, get_transaction_type
88
from casparser.process.cas_summary import parse_header as parse_summary_header
9+
from casparser.process.utils import isin_search
910
from casparser.enums import TransactionType
1011

1112

@@ -45,3 +46,12 @@ def test_transaction_type(self):
4546
TransactionType.UNKNOWN,
4647
None,
4748
)
49+
50+
def test_isin_search(self):
51+
isin, amfi = isin_search("Axis Long Term Equity Fund - Direct Growth", "KFINTECH" ,"128TSDGG")
52+
assert isin == "INF846K01EW2"
53+
assert amfi == "120503"
54+
55+
isin, amfi = isin_search("", "KARVY", "")
56+
assert isin is None
57+
assert amfi is None

0 commit comments

Comments
 (0)