Example #1
0
 def test_minimal_data(self):
     bill = QRBill(
         account="CH 44 3199 9123 0008 89012",
         creditor={
             'name': 'Jane', 'pcode': '1000', 'city': 'Lausanne',
         },
     )
     self.assertEqual(
         bill.qr_data(),
         'SPC\r\n0100\r\n1\r\nCH4431999123000889012\r\nJane\r\n\r\n\r\n'
         '1000\r\nLausanne\r\nCH\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nCHF\r\n'
         '\r\n\r\n\r\n\r\n\r\n\r\n\r\nNON\r\n\r\n'
     )
Example #2
0
 def test_spec_example1(self):
     bill = QRBill(
         account='CH4431999123000889012',
         creditor={
             'name': 'Robert Schneider AG',
             'street': 'Rue du Lac',
             'house_num': '1268',
             'pcode': '2501',
             'city': 'Biel',
             'country': 'CH',
         },
         amount='1949.75',
         currency='CHF',
         due_date='2019-10-31',
         debtor={
             'name': 'Pia-Maria Rutschmann-Schnyder',
             'street': 'Grosse Marktgasse',
             'house_num': '28',
             'pcode': '9400',
             'city': 'Rorschach',
             'country': 'CH',
         },
         ref_number='210000000003139471430009017',
         extra_infos=(
             'Order of 15.09.2019##S1/01/20170309/11/10201409/20/1400'
             '0000/22/36958/30/CH106017086/40/1020/41/3010'))
     '''
     AP1 – Parameters UV1;1.1;1278564;1A-2F-43-AC-9B-33-21-B0-CC-D4-
     28-56;TCXVMKC22;2019-02-10T15: 12:39; 2019-02-
     10T15:18:16¶
     AP2 – Parameters XY2;2a-2.2r;_R1-CH2_ConradCH-2074-1_33
     50_2019-03-13T10:23:47_16,99_0,00_0,00_
     0,00_0,00_+8FADt/DQ=_1==
     '''
     self.assertEqual(
         bill.qr_data(),
         'SPC\r\n0100\r\n1\r\nCH4431999123000889012\r\nS\r\nRobert Schneider AG\r\n'
         'Rue du Lac\r\n1268\r\n2501\r\nBiel\r\nCH\r\n\r\n\r\n\r\n\r\n\r\n\r\n'
         '1949.75\r\nCHF\r\nS\r\nPia-Maria Rutschmann-Schnyder\r\nGrosse Marktgasse\r\n'
         '28\r\n9400\r\nRorschach\r\nCH\r\nQRR\r\n210000000003139471430009017\r\n'
         'Order of 15.09.2019##S1/01/20170309/11/10201409/20/14000000/22/36958/30/CH106017086'
         '/40/1020/41/3010\r\nEPD')
     with tempfile.NamedTemporaryFile(suffix='.svg') as fh:
         bill.as_svg(fh.name)
         content = fh.read().decode()
     self.assertTrue(
         content.startswith('<?xml version="1.0" encoding="utf-8" ?>'))
Example #3
0
 def test_minimal_data(self):
     bill = QRBill(
         account="CH 53 8000 5000 0102 83664",
         creditor={
             'name': 'Jane', 'pcode': '1000', 'city': 'Lausanne',
         },
     )
     self.assertEqual(
         bill.qr_data(),
         'SPC\r\n0200\r\n1\r\nCH5380005000010283664\r\nS\r\nJane\r\n\r\n\r\n'
         '1000\r\nLausanne\r\nCH\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nCHF\r\n'
         '\r\n\r\n\r\n\r\n\r\n\r\n\r\nNON\r\n\r\n\r\nEPD'
     )
     with tempfile.NamedTemporaryFile(suffix='.svg') as fh:
         bill.as_svg(fh.name)
         content = fh.read().decode()
     self.assertTrue(content.startswith('<?xml version="1.0" encoding="utf-8" ?>'))
Example #4
0
 def test_spec_example1(self):
     bill = QRBill(
         account='CH4431999123000889012',
         creditor={
             'name': 'Robert Schneider AG',
             'street': 'Rue du Lac',
             'house_num': '1268',
             'pcode': '2501',
             'city': 'Biel',
             'country': 'CH',
         },
         amount='1949.7',
         currency='CHF',
         due_date='2019-10-31',
         debtor={
             'name': 'Pia-Maria Rutschmann-Schnyder',
             'street': 'Grosse Marktgasse',
             'house_num': '28',
             'pcode': '9400',
             'city': 'Rorschach',
             'country': 'CH',
         },
         ref_number='210000000003139471430009017',
         extra_infos=(
             'Order of 15.09.2019##S1/01/20170309/11/10201409/20/1400'
             '0000/22/36958/30/CH106017086/40/1020/41/3010'))
     '''
     AP1 – Parameters UV1;1.1;1278564;1A-2F-43-AC-9B-33-21-B0-CC-D4-
     28-56;TCXVMKC22;2019-02-10T15: 12:39; 2019-02-
     10T15:18:16¶
     AP2 – Parameters XY2;2a-2.2r;_R1-CH2_ConradCH-2074-1_33
     50_2019-03-13T10:23:47_16,99_0,00_0,00_
     0,00_0,00_+8FADt/DQ=_1==
     '''
     self.assertEqual(
         bill.qr_data(),
         'SPC\r\n0200\r\n1\r\nCH4431999123000889012\r\nS\r\nRobert Schneider AG\r\n'
         'Rue du Lac\r\n1268\r\n2501\r\nBiel\r\nCH\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n'
         '1949.70\r\nCHF\r\nS\r\nPia-Maria Rutschmann-Schnyder\r\nGrosse Marktgasse\r\n'
         '28\r\n9400\r\nRorschach\r\nCH\r\nQRR\r\n210000000003139471430009017\r\n'
         'Order of 15.09.2019##S1/01/20170309/11/10201409/20/14000000/22/36958/30/CH106017086'
         '/40/1020/41/3010\r\nEPD')
     with tempfile.NamedTemporaryFile(suffix='.svg') as fh:
         bill.as_svg(fh.name)
         content = fh.read().decode()
     self.assertTrue(
         content.startswith('<?xml version="1.0" encoding="utf-8" ?>'))
     font8 = 'font-family="helvetica" font-size="8" font-weight="bold"'
     font10 = 'font-family="helvetica" font-size="10"'
     # Test the Payable by section:
     self.assertIn(
         '<text {font8} {x} y="52.5mm">Payable by</text>'
         '<text {font10} {x} y="56.0mm">Pia-Maria Rutschmann-Schnyder</text>'
         '<text {font10} {x} y="59.5mm">Grosse Marktgasse 28</text>'
         '<text {font10} {x} y="63.0mm">CH-9400 Rorschach</text>'
         '<text {font8} {x} y="67.5mm">Payable by </text>'
         '<text {font10} {x} y="71.0mm">31.10.2019</text>'.format(
             font8=font8, font10=font10, x='x="137.0mm"'), content)
     # IBAN formatted
     self.assertIn(
         '<text {font10} x="5mm" y="18.5mm">CH44 3199 9123 0008 8901 2</text>'
         .format(font10=font10), content)
     # amount formatted
     self.assertIn(
         '<text {font10} x="17.0mm" y="85mm">1 949.70</text>'.format(
             font10=font10), content)