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
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)