lob 5.4.6 → 6.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CODE_SNIPPETS.md +1871 -0
- data/Gemfile +6 -1
- data/Gemfile.lock +70 -0
- data/LICENSE +21 -0
- data/MIGRATION.md +174 -0
- data/README.md +70 -97
- data/Rakefile +7 -5
- data/__tests__/Api/Address.unit.rb +210 -0
- data/__tests__/Api/BankAccount.unit.rb +244 -0
- data/__tests__/Api/BillingGroup.unit.rb +170 -0
- data/__tests__/Api/Card.unit.rb +183 -0
- data/__tests__/Api/CardOrder.unit.rb +89 -0
- data/__tests__/Api/Check.unit.rb +185 -0
- data/__tests__/Api/IntlAutocompletion.unit.rb +43 -0
- data/__tests__/Api/IntlVerification.unit.rb +71 -0
- data/__tests__/Api/Letter.unit.rb +191 -0
- data/__tests__/Api/Postcard.unit.rb +189 -0
- data/__tests__/Api/Require.unit.rb +21 -0
- data/__tests__/Api/ReverseGeocodeLookup.unit.rb +43 -0
- data/__tests__/Api/SelfMailer.unit.rb +190 -0
- data/__tests__/Api/Template.unit.rb +165 -0
- data/__tests__/Api/TemplateVersion.unit.rb +165 -0
- data/__tests__/Api/UsAutocompletion.unit.rb +42 -0
- data/__tests__/Api/UsVerification.unit.rb +71 -0
- data/__tests__/Api/ZipLookup.unit.rb +42 -0
- data/__tests__/Integration/Address.spec.rb +200 -0
- data/__tests__/Integration/BankAccount.spec.rb +243 -0
- data/__tests__/Integration/BillingGroup.spec.rb +163 -0
- data/__tests__/Integration/Card.spec.rb +198 -0
- data/__tests__/Integration/CardOrder.spec.rb +122 -0
- data/__tests__/Integration/Check.spec.rb +361 -0
- data/__tests__/Integration/IntlAutocompletion.spec.rb +54 -0
- data/__tests__/Integration/IntlVerification.spec.rb +90 -0
- data/__tests__/Integration/Letter.spec.rb +286 -0
- data/__tests__/Integration/Postcard.spec.rb +214 -0
- data/__tests__/Integration/ReverseGeocodeLookup.spec.rb +30 -0
- data/__tests__/Integration/SelfMailer.spec.rb +270 -0
- data/__tests__/Integration/Template.spec.rb +221 -0
- data/__tests__/Integration/TemplateVersion.spec.rb +275 -0
- data/__tests__/Integration/UsAutocompletion.spec.rb +54 -0
- data/__tests__/Integration/UsVerification.spec.rb +102 -0
- data/__tests__/Integration/ZipLookup.spec.rb +29 -0
- data/__tests__/TestFixtures.rb +36 -0
- data/docs/Address.md +52 -0
- data/docs/AddressDeletion.md +22 -0
- data/docs/AddressDomestic.md +40 -0
- data/docs/AddressDomesticExpanded.md +40 -0
- data/docs/AddressEditable.md +40 -0
- data/docs/AddressList.md +28 -0
- data/docs/AddressesApi.md +303 -0
- data/docs/BankAccount.md +44 -0
- data/docs/BankAccountDeletion.md +22 -0
- data/docs/BankAccountList.md +28 -0
- data/docs/BankAccountVerify.md +18 -0
- data/docs/BankAccountWritable.md +28 -0
- data/docs/BankAccountsApi.md +376 -0
- data/docs/BankTypeEnum.md +15 -0
- data/docs/BillingGroup.md +28 -0
- data/docs/BillingGroupEditable.md +20 -0
- data/docs/BillingGroupList.md +26 -0
- data/docs/BillingGroupsApi.md +305 -0
- data/docs/Buckslip.md +60 -0
- data/docs/BuckslipDeletion.md +20 -0
- data/docs/BuckslipEditable.md +24 -0
- data/docs/BuckslipOrder.md +42 -0
- data/docs/BuckslipOrderEditable.md +18 -0
- data/docs/BuckslipOrdersApi.md +157 -0
- data/docs/BuckslipOrdersList.md +26 -0
- data/docs/BuckslipUpdatable.md +22 -0
- data/docs/BuckslipsApi.md +372 -0
- data/docs/BuckslipsList.md +28 -0
- data/docs/BulkError.md +18 -0
- data/docs/BulkErrorProperties.md +20 -0
- data/docs/Campaign.md +52 -0
- data/docs/CampaignCreative.md +42 -0
- data/docs/CampaignDeletion.md +20 -0
- data/docs/CampaignUpdatable.md +36 -0
- data/docs/CampaignWritable.md +36 -0
- data/docs/CampaignsApi.md +376 -0
- data/docs/CampaignsList.md +28 -0
- data/docs/Card.md +54 -0
- data/docs/CardDeletion.md +22 -0
- data/docs/CardEditable.md +24 -0
- data/docs/CardList.md +28 -0
- data/docs/CardOrder.md +42 -0
- data/docs/CardOrderEditable.md +18 -0
- data/docs/CardOrderList.md +26 -0
- data/docs/CardOrdersApi.md +157 -0
- data/docs/CardUpdatable.md +22 -0
- data/docs/CardsApi.md +372 -0
- data/docs/Check.md +68 -0
- data/docs/CheckDeletion.md +22 -0
- data/docs/CheckEditable.md +48 -0
- data/docs/CheckList.md +28 -0
- data/docs/ChecksApi.md +315 -0
- data/docs/CmpScheduleType.md +15 -0
- data/docs/CmpUseType.md +15 -0
- data/docs/CountryExtended.md +15 -0
- data/docs/CountryExtendedExpanded.md +15 -0
- data/docs/CreativePatch.md +22 -0
- data/docs/CreativeResponse.md +42 -0
- data/docs/CreativeWritable.md +34 -0
- data/docs/CreativesApi.md +226 -0
- data/docs/CustomEnvelopeReturned.md +22 -0
- data/docs/DefaultApi.md +75 -0
- data/docs/DeliverabilityAnalysis.md +34 -0
- data/docs/DpvFootnote.md +15 -0
- data/docs/EngineHtml.md +15 -0
- data/docs/EventType.md +24 -0
- data/docs/Events.md +28 -0
- data/docs/Export.md +32 -0
- data/docs/ExportModel.md +18 -0
- data/docs/GeocodeAddresses.md +20 -0
- data/docs/GeocodeComponents.md +20 -0
- data/docs/HTTPValidationError.md +18 -0
- data/docs/IdentityValidation.md +34 -0
- data/docs/IdentityValidationApi.md +78 -0
- data/docs/InlineObject.md +18 -0
- data/docs/IntlAutocompletions.md +20 -0
- data/docs/IntlAutocompletionsApi.md +82 -0
- data/docs/IntlAutocompletionsWritable.md +26 -0
- data/docs/IntlComponents.md +26 -0
- data/docs/IntlSuggestions.md +30 -0
- data/docs/IntlVerification.md +38 -0
- data/docs/IntlVerificationOrError.md +40 -0
- data/docs/IntlVerificationWritable.md +32 -0
- data/docs/IntlVerifications.md +20 -0
- data/docs/IntlVerificationsApi.md +153 -0
- data/docs/IntlVerificationsPayload.md +18 -0
- data/docs/Letter.md +72 -0
- data/docs/LetterCustomEnvelope.md +22 -0
- data/docs/LetterDeletion.md +22 -0
- data/docs/LetterDetailsReturned.md +36 -0
- data/docs/LetterDetailsWritable.md +32 -0
- data/docs/LetterEditable.md +52 -0
- data/docs/LetterList.md +28 -0
- data/docs/LettersApi.md +317 -0
- data/docs/LobConfidenceScore.md +20 -0
- data/docs/LobError.md +22 -0
- data/docs/Location.md +20 -0
- data/docs/LocationAnalysis.md +22 -0
- data/docs/MailType.md +15 -0
- data/docs/MultiLineAddress.md +32 -0
- data/docs/MultipleComponents.md +30 -0
- data/docs/MultipleComponentsIntl.md +30 -0
- data/docs/MultipleComponentsList.md +18 -0
- data/docs/PlaceholderModel.md +28 -0
- data/docs/Postcard.md +60 -0
- data/docs/PostcardDeletion.md +22 -0
- data/docs/PostcardDetailsReturned.md +26 -0
- data/docs/PostcardDetailsWritable.md +20 -0
- data/docs/PostcardEditable.md +40 -0
- data/docs/PostcardList.md +28 -0
- data/docs/PostcardSize.md +15 -0
- data/docs/PostcardsApi.md +317 -0
- data/docs/QrCode.md +30 -0
- data/docs/ReturnEnvelope.md +24 -0
- data/docs/ReverseGeocode.md +22 -0
- data/docs/ReverseGeocodeLookupsApi.md +82 -0
- data/docs/SelfMailer.md +48 -0
- data/docs/SelfMailerDeletion.md +22 -0
- data/docs/SelfMailerEditable.md +38 -0
- data/docs/SelfMailerList.md +28 -0
- data/docs/SelfMailerSize.md +15 -0
- data/docs/SelfMailersApi.md +317 -0
- data/docs/SortBy.md +20 -0
- data/docs/SortBy1.md +20 -0
- data/docs/SortBy2.md +20 -0
- data/docs/SortBy3.md +20 -0
- data/docs/SortByDateModified.md +20 -0
- data/docs/Suggestions.md +26 -0
- data/docs/Template.md +34 -0
- data/docs/TemplateDeletion.md +22 -0
- data/docs/TemplateList.md +28 -0
- data/docs/TemplateUpdate.md +20 -0
- data/docs/TemplateVersion.md +36 -0
- data/docs/TemplateVersionDeletion.md +22 -0
- data/docs/TemplateVersionList.md +28 -0
- data/docs/TemplateVersionUpdatable.md +20 -0
- data/docs/TemplateVersionWritable.md +22 -0
- data/docs/TemplateVersionsApi.md +384 -0
- data/docs/TemplateWritable.md +24 -0
- data/docs/TemplatesApi.md +376 -0
- data/docs/Thumbnail.md +22 -0
- data/docs/TrackingEventCertified.md +34 -0
- data/docs/TrackingEventDetails.md +24 -0
- data/docs/TrackingEventNormal.md +34 -0
- data/docs/Upload.md +44 -0
- data/docs/UploadCreateExport.md +20 -0
- data/docs/UploadFile.md +20 -0
- data/docs/UploadState.md +15 -0
- data/docs/UploadUpdatable.md +20 -0
- data/docs/UploadWritable.md +18 -0
- data/docs/UploadsApi.md +584 -0
- data/docs/UsAutocompletions.md +22 -0
- data/docs/UsAutocompletionsApi.md +78 -0
- data/docs/UsAutocompletionsWritable.md +26 -0
- data/docs/UsComponents.md +68 -0
- data/docs/UsVerification.md +38 -0
- data/docs/UsVerificationOrError.md +40 -0
- data/docs/UsVerifications.md +20 -0
- data/docs/UsVerificationsApi.md +157 -0
- data/docs/UsVerificationsWritable.md +32 -0
- data/docs/ValidationError.md +22 -0
- data/docs/Zip.md +26 -0
- data/docs/ZipCodeType.md +15 -0
- data/docs/ZipEditable.md +18 -0
- data/docs/ZipLookupCity.md +26 -0
- data/docs/ZipLookupsApi.md +78 -0
- data/git_push.sh +57 -0
- data/lib/lob.rb +1 -7
- data/lib/openapi_client/api/addresses_api.rb +318 -0
- data/lib/openapi_client/api/bank_accounts_api.rb +397 -0
- data/lib/openapi_client/api/billing_groups_api.rb +320 -0
- data/lib/openapi_client/api/buckslip_orders_api.rb +183 -0
- data/lib/openapi_client/api/buckslips_api.rb +382 -0
- data/lib/openapi_client/api/campaigns_api.rb +389 -0
- data/lib/openapi_client/api/card_orders_api.rb +183 -0
- data/lib/openapi_client/api/cards_api.rb +382 -0
- data/lib/openapi_client/api/checks_api.rb +337 -0
- data/lib/openapi_client/api/creatives_api.rb +244 -0
- data/lib/openapi_client/api/default_api.rb +79 -0
- data/lib/openapi_client/api/identity_validation_api.rb +90 -0
- data/lib/openapi_client/api/intl_autocompletions_api.rb +97 -0
- data/lib/openapi_client/api/intl_verifications_api.rb +165 -0
- data/lib/openapi_client/api/letters_api.rb +340 -0
- data/lib/openapi_client/api/postcards_api.rb +340 -0
- data/lib/openapi_client/api/reverse_geocode_lookups_api.rb +101 -0
- data/lib/openapi_client/api/self_mailers_api.rb +340 -0
- data/lib/openapi_client/api/template_versions_api.rb +440 -0
- data/lib/openapi_client/api/templates_api.rb +397 -0
- data/lib/openapi_client/api/uploads_api.rb +604 -0
- data/lib/openapi_client/api/us_autocompletions_api.rb +90 -0
- data/lib/openapi_client/api/us_verifications_api.rb +172 -0
- data/lib/openapi_client/api/zip_lookups_api.rb +90 -0
- data/lib/openapi_client/api_client.rb +392 -0
- data/lib/openapi_client/api_error.rb +57 -0
- data/lib/openapi_client/configuration.rb +279 -0
- data/lib/openapi_client/models/address.rb +616 -0
- data/lib/openapi_client/models/address_deletion.rb +303 -0
- data/lib/openapi_client/models/address_domestic.rb +522 -0
- data/lib/openapi_client/models/address_domestic_expanded.rb +521 -0
- data/lib/openapi_client/models/address_editable.rb +503 -0
- data/lib/openapi_client/models/address_list.rb +324 -0
- data/lib/openapi_client/models/bank_account.rb +576 -0
- data/lib/openapi_client/models/bank_account_deletion.rb +303 -0
- data/lib/openapi_client/models/bank_account_list.rb +324 -0
- data/lib/openapi_client/models/bank_account_verify.rb +264 -0
- data/lib/openapi_client/models/bank_account_writable.rb +387 -0
- data/lib/openapi_client/models/bank_type_enum.rb +37 -0
- data/lib/openapi_client/models/billing_group.rb +395 -0
- data/lib/openapi_client/models/billing_group_editable.rb +278 -0
- data/lib/openapi_client/models/billing_group_list.rb +314 -0
- data/lib/openapi_client/models/buckslip.rb +814 -0
- data/lib/openapi_client/models/buckslip_deletion.rb +257 -0
- data/lib/openapi_client/models/buckslip_editable.rb +316 -0
- data/lib/openapi_client/models/buckslip_order.rb +438 -0
- data/lib/openapi_client/models/buckslip_order_editable.rb +262 -0
- data/lib/openapi_client/models/buckslip_orders_list.rb +312 -0
- data/lib/openapi_client/models/buckslip_updatable.rb +289 -0
- data/lib/openapi_client/models/buckslips_list.rb +324 -0
- data/lib/openapi_client/models/bulk_error.rb +229 -0
- data/lib/openapi_client/models/bulk_error_properties.rb +274 -0
- data/lib/openapi_client/models/campaign.rb +549 -0
- data/lib/openapi_client/models/campaign_creative.rb +467 -0
- data/lib/openapi_client/models/campaign_deletion.rb +257 -0
- data/lib/openapi_client/models/campaign_updatable.rb +341 -0
- data/lib/openapi_client/models/campaign_writable.rb +373 -0
- data/lib/openapi_client/models/campaigns_list.rb +324 -0
- data/lib/openapi_client/models/card.rb +681 -0
- data/lib/openapi_client/models/card_deletion.rb +303 -0
- data/lib/openapi_client/models/card_editable.rb +318 -0
- data/lib/openapi_client/models/card_list.rb +324 -0
- data/lib/openapi_client/models/card_order.rb +438 -0
- data/lib/openapi_client/models/card_order_editable.rb +261 -0
- data/lib/openapi_client/models/card_order_list.rb +273 -0
- data/lib/openapi_client/models/card_updatable.rb +289 -0
- data/lib/openapi_client/models/check.rb +812 -0
- data/lib/openapi_client/models/check_deletion.rb +303 -0
- data/lib/openapi_client/models/check_editable.rb +537 -0
- data/lib/openapi_client/models/check_list.rb +324 -0
- data/lib/openapi_client/models/chk_use_type.rb +38 -0
- data/lib/openapi_client/models/cmp_schedule_type.rb +36 -0
- data/lib/openapi_client/models/cmp_use_type.rb +38 -0
- data/lib/openapi_client/models/country_extended.rb +254 -0
- data/lib/openapi_client/models/country_extended_expanded.rb +255 -0
- data/lib/openapi_client/models/creative_patch.rb +274 -0
- data/lib/openapi_client/models/creative_response.rb +444 -0
- data/lib/openapi_client/models/creative_writable.rb +400 -0
- data/lib/openapi_client/models/custom_envelope_returned.rb +319 -0
- data/lib/openapi_client/models/deliverability_analysis.rb +451 -0
- data/lib/openapi_client/models/dpv_footnote.rb +50 -0
- data/lib/openapi_client/models/engine_html.rb +37 -0
- data/lib/openapi_client/models/event_type.rb +325 -0
- data/lib/openapi_client/models/events.rb +365 -0
- data/lib/openapi_client/models/export.rb +422 -0
- data/lib/openapi_client/models/export_model.rb +262 -0
- data/lib/openapi_client/models/geocode_addresses.rb +237 -0
- data/lib/openapi_client/models/geocode_components.rb +291 -0
- data/lib/openapi_client/models/http_validation_error.rb +230 -0
- data/lib/openapi_client/models/identity_validation.rb +460 -0
- data/lib/openapi_client/models/inline_object.rb +229 -0
- data/lib/openapi_client/models/intl_autocompletions.rb +282 -0
- data/lib/openapi_client/models/intl_autocompletions_writable.rb +278 -0
- data/lib/openapi_client/models/intl_components.rb +314 -0
- data/lib/openapi_client/models/intl_suggestions.rb +372 -0
- data/lib/openapi_client/models/intl_verification.rb +463 -0
- data/lib/openapi_client/models/intl_verification_or_error.rb +466 -0
- data/lib/openapi_client/models/intl_verification_writable.rb +388 -0
- data/lib/openapi_client/models/intl_verifications.rb +250 -0
- data/lib/openapi_client/models/intl_verifications_payload.rb +263 -0
- data/lib/openapi_client/models/letter.rb +737 -0
- data/lib/openapi_client/models/letter_custom_envelope.rb +300 -0
- data/lib/openapi_client/models/letter_deletion.rb +303 -0
- data/lib/openapi_client/models/letter_details_returned.rb +393 -0
- data/lib/openapi_client/models/letter_details_writable.rb +390 -0
- data/lib/openapi_client/models/letter_editable.rb +532 -0
- data/lib/openapi_client/models/letter_list.rb +324 -0
- data/lib/openapi_client/models/lob_confidence_score.rb +299 -0
- data/lib/openapi_client/models/lob_error.rb +296 -0
- data/lib/openapi_client/models/location.rb +289 -0
- data/lib/openapi_client/models/location_analysis.rb +305 -0
- data/lib/openapi_client/models/ltr_use_type.rb +38 -0
- data/lib/openapi_client/models/mail_type.rb +37 -0
- data/lib/openapi_client/models/multi_line_address.rb +431 -0
- data/lib/openapi_client/models/multiple_components.rb +405 -0
- data/lib/openapi_client/models/multiple_components_intl.rb +377 -0
- data/lib/openapi_client/models/multiple_components_list.rb +263 -0
- data/lib/openapi_client/models/optional_address_column_mapping.rb +259 -0
- data/lib/openapi_client/models/placeholder_model.rb +273 -0
- data/lib/openapi_client/models/postcard.rb +656 -0
- data/lib/openapi_client/models/postcard_deletion.rb +303 -0
- data/lib/openapi_client/models/postcard_details_returned.rb +321 -0
- data/lib/openapi_client/models/postcard_details_writable.rb +242 -0
- data/lib/openapi_client/models/postcard_editable.rb +393 -0
- data/lib/openapi_client/models/postcard_list.rb +324 -0
- data/lib/openapi_client/models/postcard_size.rb +38 -0
- data/lib/openapi_client/models/psc_use_type.rb +38 -0
- data/lib/openapi_client/models/qr_code.rb +339 -0
- data/lib/openapi_client/models/required_address_column_mapping.rb +285 -0
- data/lib/openapi_client/models/return_envelope.rb +258 -0
- data/lib/openapi_client/models/reverse_geocode.rb +304 -0
- data/lib/openapi_client/models/self_mailer.rb +584 -0
- data/lib/openapi_client/models/self_mailer_deletion.rb +303 -0
- data/lib/openapi_client/models/self_mailer_editable.rb +384 -0
- data/lib/openapi_client/models/self_mailer_list.rb +324 -0
- data/lib/openapi_client/models/self_mailer_size.rb +38 -0
- data/lib/openapi_client/models/sfm_use_type.rb +38 -0
- data/lib/openapi_client/models/sort_by.rb +283 -0
- data/lib/openapi_client/models/sort_by1.rb +283 -0
- data/lib/openapi_client/models/sort_by2.rb +283 -0
- data/lib/openapi_client/models/sort_by3.rb +283 -0
- data/lib/openapi_client/models/sort_by_date_modified.rb +283 -0
- data/lib/openapi_client/models/suggestions.rb +343 -0
- data/lib/openapi_client/models/template.rb +406 -0
- data/lib/openapi_client/models/template_deletion.rb +303 -0
- data/lib/openapi_client/models/template_list.rb +324 -0
- data/lib/openapi_client/models/template_update.rb +272 -0
- data/lib/openapi_client/models/template_version.rb +423 -0
- data/lib/openapi_client/models/template_version_deletion.rb +303 -0
- data/lib/openapi_client/models/template_version_list.rb +324 -0
- data/lib/openapi_client/models/template_version_updatable.rb +257 -0
- data/lib/openapi_client/models/template_version_writable.rb +291 -0
- data/lib/openapi_client/models/template_writable.rb +309 -0
- data/lib/openapi_client/models/thumbnail.rb +300 -0
- data/lib/openapi_client/models/tracking_event_certified.rb +419 -0
- data/lib/openapi_client/models/tracking_event_details.rb +308 -0
- data/lib/openapi_client/models/tracking_event_normal.rb +409 -0
- data/lib/openapi_client/models/upload.rb +498 -0
- data/lib/openapi_client/models/upload_create_export.rb +283 -0
- data/lib/openapi_client/models/upload_file.rb +283 -0
- data/lib/openapi_client/models/upload_state.rb +42 -0
- data/lib/openapi_client/models/upload_updatable.rb +267 -0
- data/lib/openapi_client/models/upload_writable.rb +271 -0
- data/lib/openapi_client/models/uploads_metadata.rb +237 -0
- data/lib/openapi_client/models/us_autocompletions.rb +328 -0
- data/lib/openapi_client/models/us_autocompletions_writable.rb +274 -0
- data/lib/openapi_client/models/us_components.rb +761 -0
- data/lib/openapi_client/models/us_verification.rb +461 -0
- data/lib/openapi_client/models/us_verification_or_error.rb +459 -0
- data/lib/openapi_client/models/us_verifications.rb +250 -0
- data/lib/openapi_client/models/us_verifications_writable.rb +421 -0
- data/lib/openapi_client/models/validation_error.rb +263 -0
- data/lib/openapi_client/models/zip.rb +363 -0
- data/lib/openapi_client/models/zip_code_type.rb +40 -0
- data/lib/openapi_client/models/zip_editable.rb +246 -0
- data/lib/openapi_client/models/zip_lookup_city.rb +331 -0
- data/lib/openapi_client/version.rb +15 -0
- data/lib/openapi_client.rb +212 -0
- data/openapi_client.gemspec +37 -0
- data/spec/api/addresses_api_spec.rb +88 -0
- data/spec/api/bank_accounts_api_spec.rb +101 -0
- data/spec/api/billing_groups_api_spec.rb +89 -0
- data/spec/api/campaigns_api_spec.rb +100 -0
- data/spec/api/card_orders_api_spec.rb +62 -0
- data/spec/api/cards_api_spec.rb +99 -0
- data/spec/api/checks_api_spec.rb +93 -0
- data/spec/api/creatives_api_spec.rb +73 -0
- data/spec/api/default_api_spec.rb +46 -0
- data/spec/api/identity_validation_api_spec.rb +47 -0
- data/spec/api/intl_autocompletions_api_spec.rb +48 -0
- data/spec/api/intl_verifications_api_spec.rb +60 -0
- data/spec/api/letters_api_spec.rb +94 -0
- data/spec/api/postcards_api_spec.rb +94 -0
- data/spec/api/reverse_geocode_lookups_api_spec.rb +48 -0
- data/spec/api/self_mailers_api_spec.rb +94 -0
- data/spec/api/template_versions_api_spec.rb +105 -0
- data/spec/api/templates_api_spec.rb +101 -0
- data/spec/api/uploads_api_spec.rb +135 -0
- data/spec/api/us_autocompletions_api_spec.rb +47 -0
- data/spec/api/us_verifications_api_spec.rb +61 -0
- data/spec/api/zip_lookups_api_spec.rb +47 -0
- data/spec/api_client_spec.rb +226 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/spec_helper.rb +105 -13
- metadata +450 -214
- data/.github/workflows/forked_tests_job.yml +0 -36
- data/.github/workflows/run_tests_job.yml +0 -32
- data/.github/workflows/update_gem.yml +0 -27
- data/.gitignore +0 -19
- data/CHANGELOG.md +0 -148
- data/CONTRIBUTING.md +0 -19
- data/LICENSE.txt +0 -22
- data/examples/README.md +0 -119
- data/examples/cards.rb +0 -51
- data/examples/checks.rb +0 -49
- data/examples/csv_checks/create_checks.rb +0 -48
- data/examples/csv_checks/input.csv +0 -6
- data/examples/csv_letters/create_letters.rb +0 -41
- data/examples/csv_letters/input.csv +0 -6
- data/examples/csv_letters/letter_template.html +0 -33
- data/examples/csv_postcards/create_postcards.rb +0 -46
- data/examples/csv_postcards/input.csv +0 -7
- data/examples/csv_postcards/postcard_back.html +0 -38
- data/examples/csv_postcards/postcard_front.html +0 -25
- data/examples/csv_verify/input.csv +0 -7
- data/examples/csv_verify/verify.rb +0 -37
- data/examples/letters.rb +0 -73
- data/examples/list_postcards_metadata.rb +0 -94
- data/examples/postcards.rb +0 -87
- data/examples/postcards_idempotent.rb +0 -92
- data/examples/postcards_intl.rb +0 -87
- data/examples/postcards_remote.rb +0 -87
- data/examples/postcards_send_date.rb +0 -97
- data/examples/postcards_template.rb +0 -98
- data/examples/self_mailers.rb +0 -38
- data/lib/lob/client.rb +0 -96
- data/lib/lob/errors/invalid_request_error.rb +0 -4
- data/lib/lob/errors/lob_error.rb +0 -20
- data/lib/lob/resources/address.rb +0 -14
- data/lib/lob/resources/bank_account.rb +0 -30
- data/lib/lob/resources/bulk_intl_verifications.rb +0 -27
- data/lib/lob/resources/bulk_us_verifications.rb +0 -28
- data/lib/lob/resources/card.rb +0 -46
- data/lib/lob/resources/check.rb +0 -14
- data/lib/lob/resources/group.rb +0 -14
- data/lib/lob/resources/groups_member.rb +0 -66
- data/lib/lob/resources/intl_verifications.rb +0 -26
- data/lib/lob/resources/letter.rb +0 -14
- data/lib/lob/resources/postcard.rb +0 -14
- data/lib/lob/resources/resource_base.rb +0 -150
- data/lib/lob/resources/self_mailer.rb +0 -14
- data/lib/lob/resources/us_autocompletions.rb +0 -26
- data/lib/lob/resources/us_reverse_geocode_lookups.rb +0 -26
- data/lib/lob/resources/us_verifications.rb +0 -27
- data/lib/lob/resources/us_zip_lookups.rb +0 -26
- data/lib/lob/version.rb +0 -3
- data/lob.gemspec +0 -31
- data/spec/lob/errors/lob_error_spec.rb +0 -19
- data/spec/lob/resources/address_spec.rb +0 -55
- data/spec/lob/resources/bank_account_spec.rb +0 -60
- data/spec/lob/resources/bulk_intl_verifications_spec.rb +0 -39
- data/spec/lob/resources/bulk_us_verifications_spec.rb +0 -51
- data/spec/lob/resources/card_spec.rb +0 -145
- data/spec/lob/resources/check_spec.rb +0 -119
- data/spec/lob/resources/group_spec.rb +0 -50
- data/spec/lob/resources/intl_verifications_spec.rb +0 -25
- data/spec/lob/resources/letter_spec.rb +0 -114
- data/spec/lob/resources/member_spec.rb +0 -65
- data/spec/lob/resources/postcard_spec.rb +0 -160
- data/spec/lob/resources/resource_base_spec.rb +0 -75
- data/spec/lob/resources/self_mailer_spec.rb +0 -177
- data/spec/lob/resources/us_autocompletions_spec.rb +0 -24
- data/spec/lob/resources/us_reverse_geocode_lookups_spec.rb +0 -22
- data/spec/lob/resources/us_verifications_spec.rb +0 -31
- data/spec/lob/resources/us_zip_lookups_spec.rb +0 -23
- data/spec/lob_spec.rb +0 -48
- data/spec/samples/8.5x11.pdf +0 -0
- data/spec/samples/card.pdf +1 -743
- data/spec/samples/postcardback.pdf +2 -2287
- data/spec/samples/postcardfront.pdf +1 -1549
- data/spec/samples/sfm-12x9-inside.pdf +0 -0
- data/spec/samples/sfm-12x9-outside.pdf +0 -0
- data/spec/samples/sfm-6x18-inside.pdf +0 -0
- data/spec/samples/sfm-6x18-outside.pdf +0 -0
@@ -1,119 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Lob::Resources::Check do
|
4
|
-
|
5
|
-
before :each do
|
6
|
-
|
7
|
-
@sample_address_params = {
|
8
|
-
name: "TestAddress",
|
9
|
-
email: "test@test.com",
|
10
|
-
address_line1: "123 Test Street",
|
11
|
-
address_line2: "Unit 199",
|
12
|
-
address_city: "Mountain View",
|
13
|
-
address_state: "CA",
|
14
|
-
address_country: "US",
|
15
|
-
address_zip: 94085
|
16
|
-
}
|
17
|
-
|
18
|
-
@sample_bank_account_params = {
|
19
|
-
routing_number: "122100024",
|
20
|
-
account_number: "123456789",
|
21
|
-
account_type: "company",
|
22
|
-
signatory: "John Doe"
|
23
|
-
}
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
subject { Lob::Client.new(api_key: API_KEY) }
|
28
|
-
|
29
|
-
describe "list" do
|
30
|
-
it "should list checks" do
|
31
|
-
assert subject.checks.list["object"] == "list"
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
|
36
|
-
describe "create" do
|
37
|
-
it "should create a check with bank account id" do
|
38
|
-
new_address = subject.addresses.create @sample_address_params
|
39
|
-
|
40
|
-
new_bank_account = subject.bank_accounts.create(@sample_bank_account_params)
|
41
|
-
|
42
|
-
subject.bank_accounts.verify(new_bank_account["id"], amounts: [1, 2])
|
43
|
-
|
44
|
-
result = subject.checks.create(
|
45
|
-
bank_account: new_bank_account["id"],
|
46
|
-
to: new_address["id"],
|
47
|
-
from: new_address["id"],
|
48
|
-
amount: "2000.12"
|
49
|
-
)
|
50
|
-
|
51
|
-
result["amount"].to_s.must_equal("2000.12")
|
52
|
-
end
|
53
|
-
|
54
|
-
it "should create a check with a merge variable conditional" do
|
55
|
-
new_address = subject.addresses.create @sample_address_params
|
56
|
-
|
57
|
-
new_bank_account = subject.bank_accounts.create(@sample_bank_account_params)
|
58
|
-
|
59
|
-
subject.bank_accounts.verify(new_bank_account["id"], amounts: [1, 2])
|
60
|
-
|
61
|
-
result = subject.checks.create(
|
62
|
-
bank_account: new_bank_account["id"],
|
63
|
-
to: new_address["id"],
|
64
|
-
from: new_address["id"],
|
65
|
-
amount: "2000.12",
|
66
|
-
attachment: "<html>{{#is_awesome}}You are awesome!{{/is_awesome}}</html>",
|
67
|
-
merge_variables: {
|
68
|
-
is_awesome: false
|
69
|
-
}
|
70
|
-
)
|
71
|
-
|
72
|
-
result["merge_variables"]["is_awesome"].must_equal(false)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
|
77
|
-
describe "find" do
|
78
|
-
it "should find a check" do
|
79
|
-
new_address = subject.addresses.create @sample_address_params
|
80
|
-
|
81
|
-
new_bank_account = subject.bank_accounts.create(@sample_bank_account_params)
|
82
|
-
|
83
|
-
subject.bank_accounts.verify(new_bank_account["id"], amounts: [1, 2])
|
84
|
-
|
85
|
-
new_check = subject.checks.create(
|
86
|
-
bank_account: new_bank_account["id"],
|
87
|
-
to: new_address["id"],
|
88
|
-
from: new_address["id"],
|
89
|
-
amount: 2000
|
90
|
-
)
|
91
|
-
|
92
|
-
result = subject.checks.find(new_check["id"])
|
93
|
-
result["id"].must_equal(new_check["id"])
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
|
98
|
-
describe "destroy" do
|
99
|
-
it "should destroy a check" do
|
100
|
-
new_address = subject.addresses.create @sample_address_params
|
101
|
-
|
102
|
-
new_bank_account = subject.bank_accounts.create(@sample_bank_account_params)
|
103
|
-
|
104
|
-
subject.bank_accounts.verify(new_bank_account["id"], amounts: [1, 2])
|
105
|
-
|
106
|
-
new_check = subject.checks.create(
|
107
|
-
bank_account: new_bank_account["id"],
|
108
|
-
to: new_address["id"],
|
109
|
-
from: new_address["id"],
|
110
|
-
amount: 2000
|
111
|
-
)
|
112
|
-
|
113
|
-
result = subject.checks.destroy(new_check["id"])
|
114
|
-
result["id"].must_equal(new_check["id"])
|
115
|
-
result["deleted"].must_equal(true)
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Lob::Resources::Group do
|
4
|
-
|
5
|
-
before :each do
|
6
|
-
@sample_params = {
|
7
|
-
description: "Unsubscribe group",
|
8
|
-
metadata: {
|
9
|
-
test: 'stuff'
|
10
|
-
}
|
11
|
-
}
|
12
|
-
end
|
13
|
-
|
14
|
-
subject { Lob::Client.new(api_key: API_KEY) }
|
15
|
-
|
16
|
-
describe "list" do
|
17
|
-
it "should list groups" do
|
18
|
-
assert subject.groups.list["object"] == "list"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
|
23
|
-
describe "create" do
|
24
|
-
it "should create a group" do
|
25
|
-
result = subject.groups.create @sample_params
|
26
|
-
|
27
|
-
result["description"].must_equal(@sample_params[:description])
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
|
32
|
-
describe "find" do
|
33
|
-
it "should find a group" do
|
34
|
-
new_group = subject.groups.create @sample_params
|
35
|
-
|
36
|
-
find_result = subject.groups.find(new_group["id"])
|
37
|
-
find_result["description"].must_equal(@sample_params[:description])
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
|
42
|
-
describe "destroy" do
|
43
|
-
it "should delete a group" do
|
44
|
-
new_group = subject.groups.create @sample_params
|
45
|
-
|
46
|
-
delete_result = subject.groups.destroy(new_group["id"])
|
47
|
-
assert_equal(new_group["id"], delete_result["id"])
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Lob::Resources::IntlVerifications do
|
4
|
-
|
5
|
-
before :each do
|
6
|
-
@sample_params = {
|
7
|
-
primary_line: "123 Test St",
|
8
|
-
city: "HEARST",
|
9
|
-
state: "ONTARIO",
|
10
|
-
postal_code: "P0L1N0",
|
11
|
-
country: "CA"
|
12
|
-
}
|
13
|
-
end
|
14
|
-
|
15
|
-
subject { Lob::Client.new(api_key: API_KEY) }
|
16
|
-
|
17
|
-
describe "verify" do
|
18
|
-
it "should verify an international address" do
|
19
|
-
result = subject.intl_verifications.verify @sample_params
|
20
|
-
|
21
|
-
result["recipient"].must_equal("TEST KEYS DO NOT VERIFY ADDRESSES")
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
@@ -1,114 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Lob::Resources::Letter do
|
4
|
-
|
5
|
-
before :each do
|
6
|
-
@sample_address_params = {
|
7
|
-
name: "TestAddress",
|
8
|
-
email: "test@test.com",
|
9
|
-
address_line1: "123 Test Street",
|
10
|
-
address_line2: "Unit 199",
|
11
|
-
address_city: "Mountain View",
|
12
|
-
address_state: "CA",
|
13
|
-
address_country: "US",
|
14
|
-
address_zip: 94085
|
15
|
-
}
|
16
|
-
end
|
17
|
-
|
18
|
-
subject { Lob::Client.new(api_key: API_KEY) }
|
19
|
-
|
20
|
-
describe "list" do
|
21
|
-
it "should list letter" do
|
22
|
-
assert subject.letters.list["object"] == "list"
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
|
27
|
-
describe "create" do
|
28
|
-
it "should create a letter with address_id" do
|
29
|
-
new_address = subject.addresses.create @sample_address_params
|
30
|
-
|
31
|
-
new_letter = subject.letters.create(
|
32
|
-
description: "TestLetter",
|
33
|
-
color: true,
|
34
|
-
file: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/us_letter_1pg.pdf",
|
35
|
-
to: new_address["id"],
|
36
|
-
from: @sample_address_params
|
37
|
-
)
|
38
|
-
|
39
|
-
new_letter["description"].must_equal("TestLetter")
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should create a letter with a local file" do
|
43
|
-
new_address = subject.addresses.create @sample_address_params
|
44
|
-
|
45
|
-
new_letter = subject.letters.create(
|
46
|
-
description: "TestLetter",
|
47
|
-
color: true,
|
48
|
-
file: File.new(File.expand_path("../../../samples/8.5x11.pdf", __FILE__)),
|
49
|
-
to: new_address["id"],
|
50
|
-
from: @sample_address_params
|
51
|
-
)
|
52
|
-
|
53
|
-
new_letter["description"].must_equal("TestLetter")
|
54
|
-
end
|
55
|
-
|
56
|
-
it "should create a letter with a merge variable object" do
|
57
|
-
new_address = subject.addresses.create @sample_address_params
|
58
|
-
|
59
|
-
new_letter = subject.letters.create(
|
60
|
-
description: "TestLetter",
|
61
|
-
color: true,
|
62
|
-
file: "<html>{{data.name}}</html>",
|
63
|
-
to: new_address["id"],
|
64
|
-
from: @sample_address_params,
|
65
|
-
merge_variables: {
|
66
|
-
data: {
|
67
|
-
name: "Kobe"
|
68
|
-
}
|
69
|
-
}
|
70
|
-
)
|
71
|
-
|
72
|
-
new_letter["description"].must_equal("TestLetter")
|
73
|
-
new_letter["merge_variables"]["data"]["name"].must_equal("Kobe")
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
|
78
|
-
describe "find" do
|
79
|
-
it "should find a letter" do
|
80
|
-
new_address = subject.addresses.create @sample_address_params
|
81
|
-
|
82
|
-
new_letter = subject.letters.create(
|
83
|
-
description: "TestLetter",
|
84
|
-
color: true,
|
85
|
-
file: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/us_letter_1pg.pdf",
|
86
|
-
to: new_address["id"],
|
87
|
-
from: new_address["id"]
|
88
|
-
)
|
89
|
-
|
90
|
-
result = subject.letters.find(new_letter["id"])
|
91
|
-
assert %r{#{new_letter["description"]}} =~ result.to_s
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
|
96
|
-
describe "destroy" do
|
97
|
-
it "should destroy a letter" do
|
98
|
-
new_address = subject.addresses.create @sample_address_params
|
99
|
-
|
100
|
-
new_letter = subject.letters.create(
|
101
|
-
description: "TestLetter",
|
102
|
-
color: true,
|
103
|
-
file: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/us_letter_1pg.pdf",
|
104
|
-
to: new_address["id"],
|
105
|
-
from: new_address["id"]
|
106
|
-
)
|
107
|
-
|
108
|
-
result = subject.letters.destroy(new_letter["id"])
|
109
|
-
result["id"].must_equal(new_letter["id"])
|
110
|
-
result["deleted"].must_equal(true)
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Lob::Resources::GroupsMember do
|
4
|
-
|
5
|
-
before :each do
|
6
|
-
@sample_group_params = {
|
7
|
-
description: "Unsubscribe group",
|
8
|
-
metadata: {
|
9
|
-
test: 'stuff'
|
10
|
-
}
|
11
|
-
}
|
12
|
-
@sample_member_params = {
|
13
|
-
recipient: {
|
14
|
-
name: 'Sophie',
|
15
|
-
address_line1: '185 Berry St',
|
16
|
-
address_line2: '6100',
|
17
|
-
address_city: 'San Francisco',
|
18
|
-
address_state: 'CA',
|
19
|
-
address_zip: '94107'
|
20
|
-
},
|
21
|
-
description: "Some Member",
|
22
|
-
metadata: {
|
23
|
-
test: 'stuff'
|
24
|
-
}
|
25
|
-
}
|
26
|
-
@new_group = subject.groups.create @sample_group_params
|
27
|
-
end
|
28
|
-
|
29
|
-
subject { Lob::Client.new(api_key: API_KEY) }
|
30
|
-
|
31
|
-
describe "list" do
|
32
|
-
it "should list members in a group" do
|
33
|
-
assert subject.groups_members.list(@new_group["id"])["object"] == "list"
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
|
38
|
-
describe "create" do
|
39
|
-
it "should create a member" do
|
40
|
-
result = subject.groups_members.create(@new_group["id"], @sample_member_params)
|
41
|
-
|
42
|
-
result["description"].must_equal(@sample_member_params[:description])
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
|
47
|
-
describe "find" do
|
48
|
-
it "should find a member" do
|
49
|
-
new_member = subject.groups_members.create(@new_group["id"], @sample_member_params)
|
50
|
-
|
51
|
-
find_result = subject.groups_members.find(@new_group["id"], new_member["id"])
|
52
|
-
find_result["description"].must_equal(@sample_member_params[:description])
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
|
57
|
-
describe "destroy" do
|
58
|
-
it "should delete a member" do
|
59
|
-
new_member = subject.groups_members.create(@new_group["id"], @sample_member_params)
|
60
|
-
|
61
|
-
delete_result = subject.groups_members.destroy(@new_group["id"], new_member["id"])
|
62
|
-
assert_equal(new_member["id"], delete_result["id"])
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
@@ -1,160 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Lob::Resources::Postcard do
|
4
|
-
|
5
|
-
before :each do
|
6
|
-
@sample_address_params = {
|
7
|
-
name: "TestAddress",
|
8
|
-
email: "test@test.com",
|
9
|
-
address_line1: "123 Test Street",
|
10
|
-
address_line2: "Unit 199",
|
11
|
-
address_city: "Mountain View",
|
12
|
-
address_state: "CA",
|
13
|
-
address_country: "US",
|
14
|
-
address_zip: 94085
|
15
|
-
}
|
16
|
-
|
17
|
-
@sample_postcard_params = {
|
18
|
-
description: "TestPostcard",
|
19
|
-
back: "<h1>Sample postcard back</h1>"
|
20
|
-
}
|
21
|
-
end
|
22
|
-
|
23
|
-
subject { Lob::Client.new(api_key: API_KEY) }
|
24
|
-
|
25
|
-
describe "list" do
|
26
|
-
it "should list postcards" do
|
27
|
-
assert subject.postcards.list({ include: ['total_count'] })["object"] == "list"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
|
32
|
-
describe "create" do
|
33
|
-
it "should create a postcard with address_id" do
|
34
|
-
new_address = subject.addresses.create @sample_address_params
|
35
|
-
|
36
|
-
result = subject.postcards.create(
|
37
|
-
description: @sample_postcard_params[:description],
|
38
|
-
to: new_address["id"],
|
39
|
-
back: @sample_postcard_params[:back],
|
40
|
-
front: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/pc_4x6_front.pdf"
|
41
|
-
)
|
42
|
-
|
43
|
-
result["description"].must_equal(@sample_postcard_params[:description])
|
44
|
-
end
|
45
|
-
|
46
|
-
it "should create a postcard with to address params" do
|
47
|
-
result = subject.postcards.create(
|
48
|
-
description: @sample_postcard_params[:description],
|
49
|
-
to: @sample_address_params,
|
50
|
-
back: @sample_postcard_params[:back],
|
51
|
-
front: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/pc_4x6_front.pdf"
|
52
|
-
)
|
53
|
-
|
54
|
-
result["description"].must_equal(@sample_postcard_params[:description])
|
55
|
-
end
|
56
|
-
|
57
|
-
it "should create a postcard with from address params" do
|
58
|
-
new_address = subject.addresses.create @sample_address_params
|
59
|
-
|
60
|
-
result = subject.postcards.create(
|
61
|
-
description: @sample_postcard_params[:description],
|
62
|
-
to: new_address["id"],
|
63
|
-
from: @sample_address_params,
|
64
|
-
back: @sample_postcard_params[:back],
|
65
|
-
front: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/pc_4x6_front.pdf"
|
66
|
-
)
|
67
|
-
|
68
|
-
result["description"].must_equal(@sample_postcard_params[:description])
|
69
|
-
end
|
70
|
-
|
71
|
-
it "should create a postcard with front and back as urls" do
|
72
|
-
new_address = subject.addresses.create @sample_address_params
|
73
|
-
|
74
|
-
result = subject.postcards.create(
|
75
|
-
description: @sample_postcard_params[:description],
|
76
|
-
to: new_address["id"],
|
77
|
-
front: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/pc_4x6_front.pdf",
|
78
|
-
back: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/pc_4x6_back.pdf"
|
79
|
-
)
|
80
|
-
|
81
|
-
result["description"].must_equal(@sample_postcard_params[:description])
|
82
|
-
end
|
83
|
-
|
84
|
-
|
85
|
-
it "should create a postcard with front and back as PDFs" do
|
86
|
-
new_address = subject.addresses.create @sample_address_params
|
87
|
-
|
88
|
-
result = subject.postcards.create(
|
89
|
-
description: @sample_postcard_params[:description],
|
90
|
-
to: new_address["id"],
|
91
|
-
front: File.new(File.expand_path("../../../samples/postcardfront.pdf", __FILE__)),
|
92
|
-
back: File.new(File.expand_path("../../../samples/postcardback.pdf", __FILE__))
|
93
|
-
)
|
94
|
-
|
95
|
-
result["description"].must_equal(@sample_postcard_params[:description])
|
96
|
-
end
|
97
|
-
|
98
|
-
it "should create a postcard with a merge variable list" do
|
99
|
-
new_address = subject.addresses.create @sample_address_params
|
100
|
-
merge_variables = {
|
101
|
-
list: [
|
102
|
-
{
|
103
|
-
name: "Larissa"
|
104
|
-
},
|
105
|
-
{
|
106
|
-
name: "Larry"
|
107
|
-
}
|
108
|
-
]
|
109
|
-
}
|
110
|
-
|
111
|
-
result = subject.postcards.create(
|
112
|
-
description: @sample_postcard_params[:description],
|
113
|
-
to: new_address["id"],
|
114
|
-
back: "<html>{{#list}} {{name}} {{/list}}</html>",
|
115
|
-
front: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/pc_4x6_front.pdf",
|
116
|
-
merge_variables: merge_variables
|
117
|
-
)
|
118
|
-
|
119
|
-
result["description"].must_equal(@sample_postcard_params[:description])
|
120
|
-
result["merge_variables"]["list"][0]["name"].must_equal("Larissa")
|
121
|
-
result["merge_variables"]["list"][1]["name"].must_equal("Larry")
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
|
126
|
-
describe "find" do
|
127
|
-
it "should find a postcard" do
|
128
|
-
new_address = subject.addresses.create @sample_address_params
|
129
|
-
|
130
|
-
new_postcard = subject.postcards.create(
|
131
|
-
description: @sample_postcard_params[:description],
|
132
|
-
to: new_address["id"],
|
133
|
-
front: File.new(File.expand_path("../../../samples/postcardfront.pdf", __FILE__)),
|
134
|
-
back: File.new(File.expand_path("../../../samples/postcardback.pdf", __FILE__))
|
135
|
-
)
|
136
|
-
|
137
|
-
result = subject.postcards.find(new_postcard["id"])
|
138
|
-
result["description"].must_equal(@sample_postcard_params[:description])
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
|
143
|
-
describe "destroy" do
|
144
|
-
it "should destroy a postcard" do
|
145
|
-
new_address = subject.addresses.create @sample_address_params
|
146
|
-
|
147
|
-
new_postcard = subject.postcards.create(
|
148
|
-
description: @sample_postcard_params[:description],
|
149
|
-
to: new_address["id"],
|
150
|
-
front: File.new(File.expand_path("../../../samples/postcardfront.pdf", __FILE__)),
|
151
|
-
back: File.new(File.expand_path("../../../samples/postcardback.pdf", __FILE__))
|
152
|
-
)
|
153
|
-
|
154
|
-
result = subject.postcards.destroy(new_postcard["id"])
|
155
|
-
result["id"].must_equal(new_postcard["id"])
|
156
|
-
result["deleted"].must_equal(true)
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
end
|
@@ -1,75 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Lob::Resources::ResourceBase do
|
4
|
-
|
5
|
-
subject { Lob::Client.new(api_key: API_KEY) }
|
6
|
-
|
7
|
-
describe "when Lob is initialized" do
|
8
|
-
it "should have API key in config" do
|
9
|
-
subject.config[:api_key].must_equal API_KEY
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should return addresses resource" do
|
14
|
-
subject.addresses.must_be_kind_of(Lob::Resources::Address)
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should return bank accounts resource" do
|
18
|
-
subject.bank_accounts.must_be_kind_of(Lob::Resources::BankAccount)
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should return checks resource" do
|
22
|
-
subject.checks.must_be_kind_of(Lob::Resources::Check)
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should return letters resource" do
|
26
|
-
subject.letters.must_be_kind_of(Lob::Resources::Letter)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should return postcards resource" do
|
30
|
-
subject.postcards.must_be_kind_of(Lob::Resources::Postcard)
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should accept an idempotency_key" do
|
34
|
-
sample_address_params = {
|
35
|
-
name: "TestAddress",
|
36
|
-
email: "test@test.com",
|
37
|
-
address_line1: "123 Test Street",
|
38
|
-
address_line2: "Unit 199",
|
39
|
-
address_city: "Mountain View",
|
40
|
-
address_state: "CA",
|
41
|
-
address_country: "US",
|
42
|
-
address_zip: 94085
|
43
|
-
}
|
44
|
-
|
45
|
-
sample_postcard_params = {
|
46
|
-
description: "TestPostcard",
|
47
|
-
back: "<h1>Sample postcard back</h1>"
|
48
|
-
}
|
49
|
-
|
50
|
-
new_address = subject.addresses.create sample_address_params
|
51
|
-
|
52
|
-
idempotency_key = "Test_Idempotency_key"
|
53
|
-
|
54
|
-
new_postcard = subject.postcards.create({
|
55
|
-
description: sample_postcard_params[:description],
|
56
|
-
to: new_address["id"],
|
57
|
-
back: sample_postcard_params[:back],
|
58
|
-
front: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/pc_4x6_front.pdf"
|
59
|
-
}, {
|
60
|
-
"Idempotency-Key" => idempotency_key
|
61
|
-
})
|
62
|
-
|
63
|
-
new_postcard_dup = subject.postcards.create({
|
64
|
-
description: sample_postcard_params[:description],
|
65
|
-
to: new_address["id"],
|
66
|
-
back: sample_postcard_params[:back],
|
67
|
-
front: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/pc_4x6_front.pdf"
|
68
|
-
}, {
|
69
|
-
"Idempotency-Key" => idempotency_key
|
70
|
-
})
|
71
|
-
|
72
|
-
new_postcard["id"].must_equal(new_postcard_dup["id"])
|
73
|
-
end
|
74
|
-
|
75
|
-
end
|