예제 #1
0
def test_simple_ledger_search(session):
    """Assert that the ledger returns values for all the expected keys."""
    # setup
    identifier = 'BC1234567'
    founding_date = datetime.utcnow() - datedelta.datedelta(
        months=len(Filing.FILINGS.keys()))
    business = factory_business(identifier=identifier,
                                founding_date=founding_date,
                                last_ar_date=None,
                                entity_type=Business.LegalTypes.BCOMP.value)
    num_of_files = load_ledger(business, founding_date)

    # test
    ledger = CoreFiling.ledger(business.id)

    # Did we get the full set
    assert len(ledger) == num_of_files

    # Fully examine 1 filing - alteration
    alteration = next((f for f in ledger if f.get('name') == 'alteration'),
                      None)

    assert alteration
    assert 15 == len(alteration.keys())
    assert 'availableOnPaperOnly' in alteration
    assert 'effectiveDate' in alteration
    assert 'filingId' in alteration
    assert 'name' in alteration
    assert 'paymentStatusCode' in alteration
    assert 'status' in alteration
    assert 'submittedDate' in alteration
    assert 'submitter' in alteration
예제 #2
0
    def get_ledger_listing(identifier: str, user_jwt: JwtManager):
        """Return the requested ledger for the business identifier provided."""
        # Does it make sense to get a PDF of all filings?
        if str(request.accept_mimetypes) == 'application/pdf':
            return jsonify({'message': _('Cannot return a single PDF of multiple filing submissions.')}),\
                HTTPStatus.NOT_ACCEPTABLE

        ledger_start = request.args.get('start', default=None, type=int)
        ledger_size = request.args.get('size', default=None, type=int)
        business = Business.find_by_identifier(identifier)

        if not business:
            return jsonify(filings=[]), HTTPStatus.NOT_FOUND

        filings = CoreFiling.ledger(
            business.id,
            jwt=user_jwt,
            statuses=[Filing.Status.COMPLETED.value, Filing.Status.PAID.value],
            start=ledger_start,
            size=ledger_size)

        return jsonify(filings=filings)