@lgriffin/esi.ts 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DOCUMENTATION.md +106 -0
- package/LICENSE +26 -0
- package/README.md +934 -125
- package/TESTING.md +523 -0
- package/demo/examples.ts +250 -0
- package/demo/flexible-examples.ts +166 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +106 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1493 -0
- package/docs/classes/src_EsiClient.EsiClient.html +48 -0
- package/docs/classes/src_EsiClientBuilder.CustomEsiClient.html +43 -0
- package/docs/classes/src_EsiClientBuilder.EsiApiFactory.html +23 -0
- package/docs/classes/src_EsiClientBuilder.EsiClientBuilder.html +15 -0
- package/docs/classes/src_api_alliances_getAllianceById.AllianceByIdApi.html +3 -0
- package/docs/classes/src_api_alliances_getAllianceContactLabels.AllianceContactLabelsApi.html +3 -0
- package/docs/classes/src_api_alliances_getAllianceContacts.AllianceContactsApi.html +3 -0
- package/docs/classes/src_api_alliances_getAllianceCorporations.AllianceCorporationsApi.html +3 -0
- package/docs/classes/src_api_alliances_getAllianceIcons.AllianceIconsApi.html +3 -0
- package/docs/classes/src_api_alliances_getAlliances.AllAlliancesApi.html +3 -0
- package/docs/classes/src_api_assets_getCharacterAssets.GetCharacterAssetsApi.html +3 -0
- package/docs/classes/src_api_assets_getCorporationAssets.GetCorporationAssetsApi.html +3 -0
- package/docs/classes/src_api_assets_postCharacterAssetLocations.PostCharacterAssetLocationsApi.html +3 -0
- package/docs/classes/src_api_assets_postCharacterAssetNames.PostCharacterAssetNamesApi.html +3 -0
- package/docs/classes/src_api_assets_postCorporationAssetLocations.PostCorporationAssetLocationsApi.html +3 -0
- package/docs/classes/src_api_assets_postCorporationAssetNames.PostCorporationAssetNamesApi.html +3 -0
- package/docs/classes/src_api_bookmarks_getCharacterBookmarkFolders.CharacterBookmarkFoldersApi.html +3 -0
- package/docs/classes/src_api_bookmarks_getCharacterBookmarks.CharacterBookmarksApi.html +3 -0
- package/docs/classes/src_api_bookmarks_getCorporationBookmarkFolders.CorporationBookmarkFoldersApi.html +3 -0
- package/docs/classes/src_api_bookmarks_getCorporationBookmarks.CorporationBookmarksApi.html +3 -0
- package/docs/classes/src_api_calendar_getCalendarEventById.GetCalendarEventByIdApi.html +3 -0
- package/docs/classes/src_api_calendar_getCalendarEvents.GetCalendarEventsApi.html +3 -0
- package/docs/classes/src_api_calendar_getEventAttendees.GetEventAttendeesApi.html +3 -0
- package/docs/classes/src_api_calendar_respondToCalendarEvent.RespondToCalendarEventApi.html +3 -0
- package/docs/classes/src_api_characters_getAgentsResearch.GetAgentsResearchApi.html +3 -0
- package/docs/classes/src_api_characters_getBlueprints.GetBlueprintsApi.html +3 -0
- package/docs/classes/src_api_characters_getCharacterPublicInfo.GetCharacterPublicInfoApi.html +3 -0
- package/docs/classes/src_api_characters_getCharacterRoles.GetCharacterRolesApi.html +3 -0
- package/docs/classes/src_api_characters_getCharacterStandings.GetCharacterStandingsApi.html +3 -0
- package/docs/classes/src_api_characters_getCharacterTitles.GetCharacterTitlesApi.html +3 -0
- package/docs/classes/src_api_characters_getContactNotifications.GetContactNotificationsApi.html +3 -0
- package/docs/classes/src_api_characters_getCorporationHistory.GetCorporationHistoryApi.html +3 -0
- package/docs/classes/src_api_characters_getJumpFatigue.GetJumpFatigueApi.html +3 -0
- package/docs/classes/src_api_characters_getMedals.GetMedalsApi.html +3 -0
- package/docs/classes/src_api_characters_getNotifications.GetNotificationsApi.html +3 -0
- package/docs/classes/src_api_characters_getPortrait.GetPortraitApi.html +3 -0
- package/docs/classes/src_api_characters_postCSPAChargeCost.PostCspaChargeCostApi.html +3 -0
- package/docs/classes/src_api_characters_postCharacterAffiliations.PostCharacterAffiliationApi.html +3 -0
- package/docs/classes/src_api_clones_getClones.GetClonesApi.html +3 -0
- package/docs/classes/src_api_clones_getImplants.GetImplantsApi.html +3 -0
- package/docs/classes/src_api_clones_postJumpCloneActivation.PostJumpCloneActivationApi.html +3 -0
- package/docs/classes/src_api_contacts_deleteCharacterContacts.deleteCharacterContacts.html +3 -0
- package/docs/classes/src_api_contacts_getAllianceContactLabels.getAllianceContactLabels.html +3 -0
- package/docs/classes/src_api_contacts_getAllianceContacts.getAllianceContacts.html +3 -0
- package/docs/classes/src_api_contacts_getCharacterContactLabels.getCharacterContactLabels.html +3 -0
- package/docs/classes/src_api_contacts_getCharacterContacts.getCharacterContacts.html +3 -0
- package/docs/classes/src_api_contacts_getCorporationContactLabels.getCorporationContactLabels.html +3 -0
- package/docs/classes/src_api_contacts_getCorporationContacts.getCorporationContacts.html +3 -0
- package/docs/classes/src_api_contacts_postCharacterContacts.postCharacterContacts.html +3 -0
- package/docs/classes/src_api_contacts_putCharacterContacts.putCharacterContacts.html +3 -0
- package/docs/classes/src_api_contracts_getCharacterContractBids.GetCharacterContractBidsApi.html +3 -0
- package/docs/classes/src_api_contracts_getCharacterContractItems.GetCharacterContractItemsApi.html +3 -0
- package/docs/classes/src_api_contracts_getCharacterContracts.GetCharacterContractsApi.html +3 -0
- package/docs/classes/src_api_contracts_getCorporationContractBids.GetCorporationContractBidsApi.html +3 -0
- package/docs/classes/src_api_contracts_getCorporationContractItems.GetCorporationContractItemsApi.html +3 -0
- package/docs/classes/src_api_contracts_getCorporationContracts.GetCorporationContractsApi.html +3 -0
- package/docs/classes/src_api_contracts_getPublicContractBids.GetPublicContractBidsApi.html +3 -0
- package/docs/classes/src_api_contracts_getPublicContractItems.GetPublicContractItemsApi.html +3 -0
- package/docs/classes/src_api_contracts_getPublicContracts.GetPublicContractsApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationAllianceHistory.GetCorporationAllianceHistoryApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationAlscLogs.GetCorporationAlscLogsApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationBlueprints.GetCorporationBlueprintsApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationDivisions.GetCorporationDivisionsApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationFacilities.GetCorporationFacilitiesApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationIcon.GetCorporationIconApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationInfo.GetCorporationInfoApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationIssuedMedals.GetCorporationIssuedMedalsApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationMedals.GetCorporationMedalsApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationMemberLimit.GetCorporationMemberLimitApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationMemberRoles.GetCorporationMemberRolesApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationMemberRolesHistory.GetCorporationMemberRolesHistoryApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationMemberTracking.GetCorporationMemberTrackingApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationMembers.GetCorporationMembersApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationMembersTitles.GetCorporationMembersTitlesApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationProjects.GetCorporationProjectsApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationShareholders.GetCorporationShareholdersApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationStandings.GetCorporationStandingsApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationStarbaseDetail.GetCorporationStarbaseDetailApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationStarbases.GetCorporationStarbasesApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationStructures.GetCorporationStructuresApi.html +3 -0
- package/docs/classes/src_api_corporations_getCorporationTitles.GetCorporationTitlesApi.html +3 -0
- package/docs/classes/src_api_corporations_getNpcCorporations.GetNpcCorporationsApi.html +3 -0
- package/docs/classes/src_api_dogma_getDogmaAttributeById.DogmaAttributeByIdApi.html +3 -0
- package/docs/classes/src_api_dogma_getDogmaAttributes.DogmaAttributesApi.html +3 -0
- package/docs/classes/src_api_dogma_getDogmaDynamicItemAttributes.DogmaDynamicItemApi.html +3 -0
- package/docs/classes/src_api_dogma_getDogmaEffectById.DogmaEffectByIdApi.html +3 -0
- package/docs/classes/src_api_dogma_getDogmaEffects.DogmaEffectsApi.html +3 -0
- package/docs/classes/src_api_factions_getCharacterFactionWarfareStats.GetCharacterFactionWarfareStatsApi.html +3 -0
- package/docs/classes/src_api_factions_getCharacterLeaderboards.GetCharacterLeaderboardsApi.html +3 -0
- package/docs/classes/src_api_factions_getCorporationFactionWarfareStats.GetCorporationFactionWarfareStatsApi.html +3 -0
- package/docs/classes/src_api_factions_getCorporationLeaderboards.GetCorporationLeaderboardsApi.html +3 -0
- package/docs/classes/src_api_factions_getFactionLeaderboards.GetFactionLeaderboardsApi.html +3 -0
- package/docs/classes/src_api_factions_getFactionWarfareStats.getFactionWarfareStats.html +3 -0
- package/docs/classes/src_api_factions_getFactionWarfareSystems.FactionWarfareSystemsApi.html +3 -0
- package/docs/classes/src_api_factions_getFactionWarfareWars.FactionWarfareWarsApi.html +3 -0
- package/docs/classes/src_api_fittings_deleteCharacterFitting.DeleteCharacterFittingApi.html +3 -0
- package/docs/classes/src_api_fittings_getCharacterFittings.GetCharacterFittingsApi.html +3 -0
- package/docs/classes/src_api_fittings_postCharacterFittings.PostCharacterFittingApi.html +3 -0
- package/docs/classes/src_api_fleets_deleteFleetMember.DeleteFleetMemberApi.html +3 -0
- package/docs/classes/src_api_fleets_deleteFleetSquad.DeleteFleetSquadApi.html +3 -0
- package/docs/classes/src_api_fleets_deleteFleetWing.DeleteFleetWingApi.html +3 -0
- package/docs/classes/src_api_fleets_getCharacterFleetInfo.GetCharacterFleetInfoApi.html +3 -0
- package/docs/classes/src_api_fleets_getFleetInfo.GetFleetInfoApi.html +3 -0
- package/docs/classes/src_api_fleets_getFleetMembers.GetFleetMembersApi.html +3 -0
- package/docs/classes/src_api_fleets_getFleetWings.GetFleetWingsApi.html +3 -0
- package/docs/classes/src_api_fleets_postFleetInvitation.PostFleetInvitationApi.html +3 -0
- package/docs/classes/src_api_fleets_postFleetSquad.PostFleetSquadApi.html +3 -0
- package/docs/classes/src_api_fleets_postFleetWing.PostFleetWingApi.html +3 -0
- package/docs/classes/src_api_fleets_putFleetMember.PutFleetMemberApi.html +3 -0
- package/docs/classes/src_api_fleets_putFleetSquad.PutFleetSquadApi.html +3 -0
- package/docs/classes/src_api_fleets_putFleetWing.PutFleetWingApi.html +3 -0
- package/docs/classes/src_api_fleets_updateFleet.UpdateFleetApi.html +3 -0
- package/docs/classes/src_api_incursions_getIncursions.IncursionsApi.html +3 -0
- package/docs/classes/src_api_industry_getCharacterIndustryJobs.GetCharacterIndustryJobsApi.html +3 -0
- package/docs/classes/src_api_industry_getCharacterMiningLedger.GetCharacterMiningLedgerApi.html +3 -0
- package/docs/classes/src_api_industry_getCorporationIndustryJobs.GetCorporationIndustryJobsApi.html +3 -0
- package/docs/classes/src_api_industry_getCorporationMiningObserver.GetCorporationMiningObserverApi.html +3 -0
- package/docs/classes/src_api_industry_getCorporationMiningObservers.GetCorporationMiningObserversApi.html +3 -0
- package/docs/classes/src_api_industry_getIndustryFacilities.GetIndustryFacilitiesApi.html +3 -0
- package/docs/classes/src_api_industry_getIndustrySystems.GetIndustrySystemsApi.html +3 -0
- package/docs/classes/src_api_industry_getMoonExtractionTimers.GetMoonExtractionTimersApi.html +3 -0
- package/docs/classes/src_api_insurance_getInsurancePrices.InsuranceApi.html +3 -0
- package/docs/classes/src_api_killmails_getCharacterRecentKillmails.GetCharacterRecentKillmailsApi.html +3 -0
- package/docs/classes/src_api_killmails_getCorporationRecentKillmails.GetCorporationRecentKillmailsApi.html +3 -0
- package/docs/classes/src_api_killmails_getKillmail.GetKillmailApi.html +3 -0
- package/docs/classes/src_api_location_getCharacterLocation.GetCharacterLocationApi.html +3 -0
- package/docs/classes/src_api_location_getCharacterOnline.GetCharacterOnlineApi.html +3 -0
- package/docs/classes/src_api_location_getCharacterShip.GetCharacterShipApi.html +3 -0
- package/docs/classes/src_api_loyalty_getLoyaltyPoints.GetLoyaltyPointsApi.html +3 -0
- package/docs/classes/src_api_loyalty_getLoyaltyStoreOffers.GetLoyaltyStoreOffersApi.html +3 -0
- package/docs/classes/src_api_mail_deleteCharacterMail.DeleteCharacterMailApi.html +3 -0
- package/docs/classes/src_api_mail_deleteCharacterMailLabel.DeleteCharacterMailLabelApi.html +3 -0
- package/docs/classes/src_api_mail_getCharacterMail.GetCharacterMailApi.html +3 -0
- package/docs/classes/src_api_mail_getCharacterMailHeaders.GetCharacterMailHeadersApi.html +3 -0
- package/docs/classes/src_api_mail_getCharacterMailLabels.GetCharacterMailLabelsApi.html +3 -0
- package/docs/classes/src_api_mail_getCharacterMailingLists.GetCharacterMailingListsApi.html +3 -0
- package/docs/classes/src_api_mail_postCharacterMail.PostCharacterMailApi.html +3 -0
- package/docs/classes/src_api_mail_postCharacterMailLabels.PostCharacterMailLabelsApi.html +3 -0
- package/docs/classes/src_api_mail_putCharacterMail.PutCharacterMailApi.html +3 -0
- package/docs/classes/src_api_market_getCharacterOrderHistory.getCharacterOrderHistory.html +3 -0
- package/docs/classes/src_api_market_getCharacterOrders.getCharacterOrders.html +3 -0
- package/docs/classes/src_api_market_getCorporationOrderHistory.getCorporationOrderHistory.html +3 -0
- package/docs/classes/src_api_market_getCorporationOrders.getCorporationOrders.html +3 -0
- package/docs/classes/src_api_market_getMarketGroupInformation.getMarketGroupInformation.html +3 -0
- package/docs/classes/src_api_market_getMarketGroups.getMarketGroups.html +3 -0
- package/docs/classes/src_api_market_getMarketHistory.getMarketHistory.html +3 -0
- package/docs/classes/src_api_market_getMarketOrders.getMarketOrders.html +3 -0
- package/docs/classes/src_api_market_getMarketOrdersInStructure.getMarketOrdersInStructure.html +3 -0
- package/docs/classes/src_api_market_getMarketPrices.getMarketPrices.html +3 -0
- package/docs/classes/src_api_market_getMarketTypes.getMarketTypes.html +3 -0
- package/docs/classes/src_api_meta_getSwaggerJson.GetSwaggerJsonApi.html +3 -0
- package/docs/classes/src_api_meta_getSwaggerYaml.GetSwaggerYamlApi.html +3 -0
- package/docs/classes/src_api_opportunities_getCharacterOpportunities.GetCharacterOpportunitiesApi.html +3 -0
- package/docs/classes/src_api_opportunities_getOpportunitiesGroupById.GetOpportunitiesGroupByIdApi.html +3 -0
- package/docs/classes/src_api_opportunities_getOpportunitiesGroups.GetOpportunitiesGroupsApi.html +3 -0
- package/docs/classes/src_api_opportunities_getOpportunitiesTaskById.GetOpportunitiesTaskByIdApi.html +3 -0
- package/docs/classes/src_api_opportunities_getOpportunitiesTasks.GetOpportunitiesTasksApi.html +3 -0
- package/docs/classes/src_api_pi_getColonies.GetColoniesApi.html +3 -0
- package/docs/classes/src_api_pi_getColonyLayout.GetColonyLayoutApi.html +3 -0
- package/docs/classes/src_api_pi_getCorporationCustomsOffices.GetCorporationCustomsOfficesApi.html +3 -0
- package/docs/classes/src_api_pi_getSchematicInformation.GetSchematicInformationApi.html +3 -0
- package/docs/classes/src_api_route_getRoute.RouteApi.html +3 -0
- package/docs/classes/src_api_search_getCharacterSearch.CharacterSearchApi.html +3 -0
- package/docs/classes/src_api_skills_getCharacterAttributes.GetCharacterAttributesApi.html +3 -0
- package/docs/classes/src_api_skills_getCharacterSkillQueue.GetCharacterSkillQueueApi.html +3 -0
- package/docs/classes/src_api_skills_getCharacterSkills.GetCharacterSkillsApi.html +3 -0
- package/docs/classes/src_api_sovereignty_getSovereigntyCampaigns.SovereigntyCampaignsApi.html +3 -0
- package/docs/classes/src_api_sovereignty_getSovereigntyMap.SovereigntyMapApi.html +3 -0
- package/docs/classes/src_api_sovereignty_getSovereigntyStructures.SovereigntyStructuresApi.html +3 -0
- package/docs/classes/src_api_status_getStatus.GetStatusApi.html +3 -0
- package/docs/classes/src_api_ui_postAutopilotWaypoint.PostAutopilotWaypointApi.html +3 -0
- package/docs/classes/src_api_ui_postOpenContractWindow.PostOpenContractWindowApi.html +3 -0
- package/docs/classes/src_api_ui_postOpenInformationWindow.PostOpenInformationWindowApi.html +3 -0
- package/docs/classes/src_api_ui_postOpenMarketDetailsWindow.PostOpenMarketDetailsWindowApi.html +3 -0
- package/docs/classes/src_api_ui_postOpenNewMailWindow.PostOpenNewMailWindowApi.html +3 -0
- package/docs/classes/src_api_universe_getAncestries.UniverseAncestriesApi.html +3 -0
- package/docs/classes/src_api_universe_getAsteroidBeltInfo.UniverseAsteroidBeltApi.html +3 -0
- package/docs/classes/src_api_universe_getBloodlines.UniverseBloodlinesApi.html +3 -0
- package/docs/classes/src_api_universe_getConstellationById.UniverseConstellationByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getConstellations.UniverseConstellationsApi.html +3 -0
- package/docs/classes/src_api_universe_getFactions.UniverseFactionsApi.html +3 -0
- package/docs/classes/src_api_universe_getGraphicById.UniverseGraphicByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getGraphics.UniverseGraphicsApi.html +3 -0
- package/docs/classes/src_api_universe_getItemCategories.UniverseCategoriesApi.html +3 -0
- package/docs/classes/src_api_universe_getItemCategoryById.UniverseCategoryByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getItemGroupById.UniverseItemGroupByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getItemGroups.UniverseItemGroupsApi.html +3 -0
- package/docs/classes/src_api_universe_getMoonById.UniverseMoonByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getPlanetById.UniversePlanetByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getRaces.UniverseRacesApi.html +3 -0
- package/docs/classes/src_api_universe_getRegionById.UniverseRegionByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getStarById.UniverseStarByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getStargateById.UniverseStargateByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getStationById.UniverseStationByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getStructureById.UniverseStructureByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getStructures.UniverseStructuresApi.html +3 -0
- package/docs/classes/src_api_universe_getSystemById.UniverseSystemByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getSystemJumps.UniverseSystemJumpsApi.html +3 -0
- package/docs/classes/src_api_universe_getSystemKills.UniverseSystemKillsApi.html +3 -0
- package/docs/classes/src_api_universe_getSystems.UniverseSystemsApi.html +3 -0
- package/docs/classes/src_api_universe_getTypeById.UniverseTypeByIdApi.html +3 -0
- package/docs/classes/src_api_universe_getTypes.UniverseTypesApi.html +3 -0
- package/docs/classes/src_api_universe_postBulkNamesToIds.PostBulkNamesToIdsApi.html +3 -0
- package/docs/classes/src_api_universe_postNamesAndCategories.PostNamesAndCategoriesApi.html +3 -0
- package/docs/classes/src_api_wallet_getCharacterWallet.GetCharacterWalletApi.html +3 -0
- package/docs/classes/src_api_wallet_getCharacterWalletJournal.GetCharacterWalletJournalApi.html +3 -0
- package/docs/classes/src_api_wallet_getCharacterWalletTransactions.GetCharacterWalletTransactionsApi.html +3 -0
- package/docs/classes/src_api_wallet_getCorporationWalletJournal.GetCorporationWalletJournalApi.html +3 -0
- package/docs/classes/src_api_wallet_getCorporationWalletTransactions.GetCorporationWalletTransactionsApi.html +3 -0
- package/docs/classes/src_api_wallet_getCorporationWallets.GetCorporationWalletsApi.html +3 -0
- package/docs/classes/src_api_wars_getWarById.WarByIdApi.html +3 -0
- package/docs/classes/src_api_wars_getWarKillmails.WarKillmailsApi.html +3 -0
- package/docs/classes/src_api_wars_getWars.WarsApi.html +3 -0
- package/docs/classes/src_builders_AllianceApiBuilder.AllianceApiBuilder.html +3 -0
- package/docs/classes/src_builders_AssetsApiBuilder.AssetsApiBuilder.html +3 -0
- package/docs/classes/src_builders_BookmarkApiBuilder.BookmarkApiBuilder.html +3 -0
- package/docs/classes/src_builders_CalendarApiBuilder.CalendarApiBuilder.html +3 -0
- package/docs/classes/src_builders_CharacterApiBuilder.CharacterApiBuilder.html +3 -0
- package/docs/classes/src_builders_ClonesApiBuilder.ClonesApiBuilder.html +3 -0
- package/docs/classes/src_builders_ContactsApiBuilder.ContactsApiBuilder.html +3 -0
- package/docs/classes/src_builders_ContractsApiBuilder.ContractsApiBuilder.html +3 -0
- package/docs/classes/src_builders_CorporationsApiBuilder.CorporationsApiBuilder.html +3 -0
- package/docs/classes/src_builders_DogmaApiBuilder.DogmaAPIBuilder.html +3 -0
- package/docs/classes/src_builders_FactionApiBuilder.FactionAPIBuilder.html +3 -0
- package/docs/classes/src_builders_FittingsApiBuilder.FittingsApiBuilder.html +3 -0
- package/docs/classes/src_builders_FleetApiBuilder.FleetApiBuilder.html +3 -0
- package/docs/classes/src_builders_IncursionsApiBuilder.IncursionsApiBuilder.html +3 -0
- package/docs/classes/src_builders_IndustryApiBuilder.IndustryApiBuilder.html +3 -0
- package/docs/classes/src_builders_InsuranceApiBuilder.InsuranceAPIBuilder.html +3 -0
- package/docs/classes/src_builders_KillmailsBuilder.KillmailsApiBuilder.html +3 -0
- package/docs/classes/src_builders_LocationApiBuilder.LocationApiBuilder.html +3 -0
- package/docs/classes/src_builders_LoyaltyApiBuilder.LoyaltyApiBuilder.html +3 -0
- package/docs/classes/src_builders_MailApiBuilder.MailApiBuilder.html +3 -0
- package/docs/classes/src_builders_MarketApiBuilder.MarketApiBuilder.html +3 -0
- package/docs/classes/src_builders_MetaApiBuilder.MetaApiBuilder.html +3 -0
- package/docs/classes/src_builders_OpportunitiesApiBuilder.OpportunitiesApiBuilder.html +3 -0
- package/docs/classes/src_builders_PiApiBuilder.PiApiBuilder.html +3 -0
- package/docs/classes/src_builders_RouteApiBuilder.RouteApiBuilder.html +3 -0
- package/docs/classes/src_builders_SearchApiBuilder.SearchApiBuilder.html +3 -0
- package/docs/classes/src_builders_SkillsApiBuilder.SkillsApiBuilder.html +3 -0
- package/docs/classes/src_builders_SovereigntyApiBuilder.SovereigntyApiBuilder.html +3 -0
- package/docs/classes/src_builders_StatusApiBuilder.StatusAPIBuilder.html +3 -0
- package/docs/classes/src_builders_UiApiBuilder.UiApiBuilder.html +3 -0
- package/docs/classes/src_builders_UniverseApiBuilder.UniverseAPIBuilder.html +3 -0
- package/docs/classes/src_builders_WalletApiBuilder.WalletApiBuilder.html +3 -0
- package/docs/classes/src_builders_WarsAPIBuilder.WarsAPIBuilder.html +3 -0
- package/docs/classes/src_clients_AllianceClient.AllianceClient.html +10 -0
- package/docs/classes/src_clients_AssetsClient.AssetsClient.html +8 -0
- package/docs/classes/src_clients_BookmarkClient.BookmarkClient.html +6 -0
- package/docs/classes/src_clients_CalendarClient.CalendarClient.html +6 -0
- package/docs/classes/src_clients_CharacterClient.CharacterClient.html +16 -0
- package/docs/classes/src_clients_ClonesClient.ClonesClient.html +5 -0
- package/docs/classes/src_clients_ContactsClient.ContactsClient.html +11 -0
- package/docs/classes/src_clients_ContractsClient.ContractsClient.html +11 -0
- package/docs/classes/src_clients_CorporationsClient.CorporationsClient.html +25 -0
- package/docs/classes/src_clients_DogmaClient.DogmaClient.html +7 -0
- package/docs/classes/src_clients_FactionClient.FactionClient.html +10 -0
- package/docs/classes/src_clients_FittingsClient.FittingsClient.html +5 -0
- package/docs/classes/src_clients_FleetClient.FleetClient.html +16 -0
- package/docs/classes/src_clients_IncursionsClient.IncursionsClient.html +3 -0
- package/docs/classes/src_clients_IndustryClient.IndustryClient.html +10 -0
- package/docs/classes/src_clients_InsuranceClient.InsuranceClient.html +3 -0
- package/docs/classes/src_clients_KillmailsClient.KillmailsClient.html +5 -0
- package/docs/classes/src_clients_LocationClient.LocationClient.html +5 -0
- package/docs/classes/src_clients_LoyaltyClient.LoyaltyClient.html +4 -0
- package/docs/classes/src_clients_MailClient.MailClient.html +11 -0
- package/docs/classes/src_clients_MarketClient.MarketClient.html +13 -0
- package/docs/classes/src_clients_MetaClient.MetaClient.html +6 -0
- package/docs/classes/src_clients_OpportunitiesClient.OpportunitiesClient.html +7 -0
- package/docs/classes/src_clients_PiClient.PIClient.html +6 -0
- package/docs/classes/src_clients_RouteClient.RouteClient.html +3 -0
- package/docs/classes/src_clients_SearchClient.SearchClient.html +3 -0
- package/docs/classes/src_clients_SkillsClient.CharacterSkillsClient.html +5 -0
- package/docs/classes/src_clients_SovereigntyClient.SovereigntyClient.html +5 -0
- package/docs/classes/src_clients_StatusClient.StatusClient.html +3 -0
- package/docs/classes/src_clients_UiClient.UIClient.html +7 -0
- package/docs/classes/src_clients_UniverseClient.UniverseClient.html +31 -0
- package/docs/classes/src_clients_WalletClient.WalletClient.html +8 -0
- package/docs/classes/src_clients_WarsClient.WarsClient.html +5 -0
- package/docs/classes/src_core_ApiClient.ApiClient.html +4 -0
- package/docs/classes/src_core_ApiClientBuilder.ApiClientBuilder.html +6 -0
- package/docs/classes/src_core_ApiError.ApiError.html +3 -0
- package/docs/classes/src_core_cache_ETagCacheManager.ETagCacheManager.html +22 -0
- package/docs/classes/src_core_container_Container.CircularDependencyError.html +2 -0
- package/docs/classes/src_core_container_Container.Container.html +20 -0
- package/docs/classes/src_core_errors_ApiError.ApiError.html +12 -0
- package/docs/classes/src_core_errors_ApiError.ErrorHandler.html +5 -0
- package/docs/classes/src_core_factory_ApiFactory.ApiFactory.html +20 -0
- package/docs/classes/src_core_factory_ApiFactory.ApiModule.html +6 -0
- package/docs/classes/src_core_util_headersUtil.default.html +11 -0
- package/docs/classes/src_testing_TestDataFactory.TestDataFactory.html +47 -0
- package/docs/classes/src_testing_TestHelpers.MockApiClient.html +3 -0
- package/docs/classes/src_testing_TestHelpers.TestAssertions.html +6 -0
- package/docs/classes/src_testing_TestHelpers.TestDataFactory.html +6 -0
- package/docs/classes/src_testing_TestHelpers.TestScenarios.html +5 -0
- package/docs/classes/src_types_winston_loggly_bulk.Loggly.html +2 -0
- package/docs/enums/src_core_errors_ApiError.ApiErrorType.html +11 -0
- package/docs/functions/src.displayCharacterProfile.html +2 -0
- package/docs/functions/src.getCompleteCharacterProfile.html +4 -0
- package/docs/functions/src_config_configManager.getConfig.html +1 -0
- package/docs/functions/src_config_jest_jest_setup.getClient.html +1 -0
- package/docs/functions/src_core_ApiRequestHandler.getETagCache.html +1 -0
- package/docs/functions/src_core_ApiRequestHandler.handleRequest.html +1 -0
- package/docs/functions/src_core_ApiRequestHandler.handleRequestBody.html +1 -0
- package/docs/functions/src_core_ApiRequestHandler.initializeETagCache.html +1 -0
- package/docs/functions/src_core_ApiRequestHandler.resetETagCache.html +1 -0
- package/docs/functions/src_core_container_Container.Inject.html +1 -0
- package/docs/functions/src_core_container_Container.Injectable.html +1 -0
- package/docs/functions/src_core_logger_loggerUtil.logDebug.html +1 -0
- package/docs/functions/src_core_logger_loggerUtil.logError.html +1 -0
- package/docs/functions/src_core_logger_loggerUtil.logInfo.html +1 -0
- package/docs/functions/src_core_logger_loggerUtil.logWarn.html +1 -0
- package/docs/functions/src_core_util_error.buildError.html +1 -0
- package/docs/functions/src_core_util_file.checkForConfig.html +1 -0
- package/docs/functions/src_core_util_file.getSettings.html +1 -0
- package/docs/functions/src_core_util_file.log.html +1 -0
- package/docs/functions/src_core_util_inputValidation.inputValidation.html +1 -0
- package/docs/functions/src_core_util_network.request.html +1 -0
- package/docs/functions/src_core_util_request.inputValidation.html +1 -0
- package/docs/functions/src_core_util_request.request.html +1 -0
- package/docs/functions/src_core_util_testHelpers.getBody.html +1 -0
- package/docs/functions/src_core_util_testHelpers.getHeaders.html +1 -0
- package/docs/functions/src_core_util_testHelpers.mockApiCall.html +1 -0
- package/docs/functions/src_testing_TestHelpers.createMockApiClient.html +1 -0
- package/docs/functions/src_testing_TestHelpers.getBody.html +1 -0
- package/docs/functions/src_testing_TestHelpers.getHeaders.html +1 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +272 -0
- package/docs/interfaces/src_EsiClient.EsiClientConfig.html +8 -0
- package/docs/interfaces/src_core_IAPIBuilder.IAPIBuilder.html +2 -0
- package/docs/interfaces/src_core_IAPIBuilder.IApiClient.html +3 -0
- package/docs/interfaces/src_core_IAPIBuilder.IApiService.html +3 -0
- package/docs/interfaces/src_core_cache_ETagCacheManager.CacheEntry.html +6 -0
- package/docs/interfaces/src_core_cache_ETagCacheManager.ETagCacheConfig.html +6 -0
- package/docs/interfaces/src_core_container_Container.ContainerConfig.html +3 -0
- package/docs/interfaces/src_core_factory_ApiFactory.ApiClientConfig.html +7 -0
- package/docs/interfaces/src_core_factory_ApiFactory.ApiModuleConfig.html +4 -0
- package/docs/interfaces/src_testing_TestHelpers.MockConfig.html +6 -0
- package/docs/interfaces/src_types_api_responses.AllianceContact.html +5 -0
- package/docs/interfaces/src_types_api_responses.AllianceContactLabel.html +3 -0
- package/docs/interfaces/src_types_api_responses.AllianceIcon.html +3 -0
- package/docs/interfaces/src_types_api_responses.AllianceInfo.html +9 -0
- package/docs/interfaces/src_types_api_responses.ApiResponse.html +4 -0
- package/docs/interfaces/src_types_api_responses.AssetLocation.html +3 -0
- package/docs/interfaces/src_types_api_responses.AssetName.html +3 -0
- package/docs/interfaces/src_types_api_responses.CharacterAsset.html +9 -0
- package/docs/interfaces/src_types_api_responses.CharacterAttributes.html +9 -0
- package/docs/interfaces/src_types_api_responses.CharacterInfo.html +13 -0
- package/docs/interfaces/src_types_api_responses.CharacterPortrait.html +5 -0
- package/docs/interfaces/src_types_api_responses.CharacterSkill.html +5 -0
- package/docs/interfaces/src_types_api_responses.ConstellationInfo.html +6 -0
- package/docs/interfaces/src_types_api_responses.Contract.html +23 -0
- package/docs/interfaces/src_types_api_responses.ContractItem.html +8 -0
- package/docs/interfaces/src_types_api_responses.CorporationInfo.html +16 -0
- package/docs/interfaces/src_types_api_responses.ErrorResponse.html +4 -0
- package/docs/interfaces/src_types_api_responses.MailLabel.html +5 -0
- package/docs/interfaces/src_types_api_responses.MailMessage.html +8 -0
- package/docs/interfaces/src_types_api_responses.MarketHistory.html +7 -0
- package/docs/interfaces/src_types_api_responses.MarketOrder.html +12 -0
- package/docs/interfaces/src_types_api_responses.PaginatedResponse.html +5 -0
- package/docs/interfaces/src_types_api_responses.RegionInfo.html +5 -0
- package/docs/interfaces/src_types_api_responses.SkillQueue.html +9 -0
- package/docs/interfaces/src_types_api_responses.SolarSystemInfo.html +10 -0
- package/docs/interfaces/src_types_api_responses.WalletJournal.html +12 -0
- package/docs/interfaces/src_types_api_responses.WalletTransaction.html +11 -0
- package/docs/interfaces/src_types_winston_loggly_bulk.LogglyOptions.html +5 -0
- package/docs/media/LICENSE +26 -0
- package/docs/modules/src.html +22 -0
- package/docs/modules/src_EsiClient.html +4 -0
- package/docs/modules/src_EsiClientBuilder.html +6 -0
- package/docs/modules/src_api_alliances_getAllianceById.html +2 -0
- package/docs/modules/src_api_alliances_getAllianceContactLabels.html +2 -0
- package/docs/modules/src_api_alliances_getAllianceContacts.html +2 -0
- package/docs/modules/src_api_alliances_getAllianceCorporations.html +2 -0
- package/docs/modules/src_api_alliances_getAllianceIcons.html +2 -0
- package/docs/modules/src_api_alliances_getAlliances.html +2 -0
- package/docs/modules/src_api_assets_getCharacterAssets.html +2 -0
- package/docs/modules/src_api_assets_getCorporationAssets.html +2 -0
- package/docs/modules/src_api_assets_postCharacterAssetLocations.html +2 -0
- package/docs/modules/src_api_assets_postCharacterAssetNames.html +2 -0
- package/docs/modules/src_api_assets_postCorporationAssetLocations.html +2 -0
- package/docs/modules/src_api_assets_postCorporationAssetNames.html +2 -0
- package/docs/modules/src_api_bookmarks_getCharacterBookmarkFolders.html +2 -0
- package/docs/modules/src_api_bookmarks_getCharacterBookmarks.html +2 -0
- package/docs/modules/src_api_bookmarks_getCorporationBookmarkFolders.html +2 -0
- package/docs/modules/src_api_bookmarks_getCorporationBookmarks.html +2 -0
- package/docs/modules/src_api_calendar_getCalendarEventById.html +2 -0
- package/docs/modules/src_api_calendar_getCalendarEvents.html +2 -0
- package/docs/modules/src_api_calendar_getEventAttendees.html +2 -0
- package/docs/modules/src_api_calendar_respondToCalendarEvent.html +2 -0
- package/docs/modules/src_api_characters_getAgentsResearch.html +2 -0
- package/docs/modules/src_api_characters_getBlueprints.html +2 -0
- package/docs/modules/src_api_characters_getCharacterPublicInfo.html +2 -0
- package/docs/modules/src_api_characters_getCharacterRoles.html +2 -0
- package/docs/modules/src_api_characters_getCharacterStandings.html +2 -0
- package/docs/modules/src_api_characters_getCharacterTitles.html +2 -0
- package/docs/modules/src_api_characters_getContactNotifications.html +2 -0
- package/docs/modules/src_api_characters_getCorporationHistory.html +2 -0
- package/docs/modules/src_api_characters_getJumpFatigue.html +2 -0
- package/docs/modules/src_api_characters_getMedals.html +2 -0
- package/docs/modules/src_api_characters_getNotifications.html +2 -0
- package/docs/modules/src_api_characters_getPortrait.html +2 -0
- package/docs/modules/src_api_characters_postCSPAChargeCost.html +2 -0
- package/docs/modules/src_api_characters_postCharacterAffiliations.html +2 -0
- package/docs/modules/src_api_clones_getClones.html +2 -0
- package/docs/modules/src_api_clones_getImplants.html +2 -0
- package/docs/modules/src_api_clones_postJumpCloneActivation.html +2 -0
- package/docs/modules/src_api_contacts_deleteCharacterContacts.html +2 -0
- package/docs/modules/src_api_contacts_getAllianceContactLabels.html +2 -0
- package/docs/modules/src_api_contacts_getAllianceContacts.html +2 -0
- package/docs/modules/src_api_contacts_getCharacterContactLabels.html +2 -0
- package/docs/modules/src_api_contacts_getCharacterContacts.html +2 -0
- package/docs/modules/src_api_contacts_getCorporationContactLabels.html +2 -0
- package/docs/modules/src_api_contacts_getCorporationContacts.html +2 -0
- package/docs/modules/src_api_contacts_postCharacterContacts.html +2 -0
- package/docs/modules/src_api_contacts_putCharacterContacts.html +2 -0
- package/docs/modules/src_api_contracts_getCharacterContractBids.html +2 -0
- package/docs/modules/src_api_contracts_getCharacterContractItems.html +2 -0
- package/docs/modules/src_api_contracts_getCharacterContracts.html +2 -0
- package/docs/modules/src_api_contracts_getCorporationContractBids.html +2 -0
- package/docs/modules/src_api_contracts_getCorporationContractItems.html +2 -0
- package/docs/modules/src_api_contracts_getCorporationContracts.html +2 -0
- package/docs/modules/src_api_contracts_getPublicContractBids.html +2 -0
- package/docs/modules/src_api_contracts_getPublicContractItems.html +2 -0
- package/docs/modules/src_api_contracts_getPublicContracts.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationAllianceHistory.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationAlscLogs.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationBlueprints.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationDivisions.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationFacilities.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationIcon.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationInfo.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationIssuedMedals.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationMedals.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationMemberLimit.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationMemberRoles.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationMemberRolesHistory.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationMemberTracking.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationMembers.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationMembersTitles.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationProjects.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationShareholders.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationStandings.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationStarbaseDetail.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationStarbases.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationStructures.html +2 -0
- package/docs/modules/src_api_corporations_getCorporationTitles.html +2 -0
- package/docs/modules/src_api_corporations_getNpcCorporations.html +2 -0
- package/docs/modules/src_api_dogma_getDogmaAttributeById.html +2 -0
- package/docs/modules/src_api_dogma_getDogmaAttributes.html +2 -0
- package/docs/modules/src_api_dogma_getDogmaDynamicItemAttributes.html +2 -0
- package/docs/modules/src_api_dogma_getDogmaEffectById.html +2 -0
- package/docs/modules/src_api_dogma_getDogmaEffects.html +2 -0
- package/docs/modules/src_api_factions_getCharacterFactionWarfareStats.html +2 -0
- package/docs/modules/src_api_factions_getCharacterLeaderboards.html +2 -0
- package/docs/modules/src_api_factions_getCorporationFactionWarfareStats.html +2 -0
- package/docs/modules/src_api_factions_getCorporationLeaderboards.html +2 -0
- package/docs/modules/src_api_factions_getFactionLeaderboards.html +2 -0
- package/docs/modules/src_api_factions_getFactionWarfareStats.html +2 -0
- package/docs/modules/src_api_factions_getFactionWarfareSystems.html +2 -0
- package/docs/modules/src_api_factions_getFactionWarfareWars.html +2 -0
- package/docs/modules/src_api_fittings_deleteCharacterFitting.html +2 -0
- package/docs/modules/src_api_fittings_getCharacterFittings.html +2 -0
- package/docs/modules/src_api_fittings_postCharacterFittings.html +2 -0
- package/docs/modules/src_api_fleets_deleteFleetMember.html +2 -0
- package/docs/modules/src_api_fleets_deleteFleetSquad.html +2 -0
- package/docs/modules/src_api_fleets_deleteFleetWing.html +2 -0
- package/docs/modules/src_api_fleets_getCharacterFleetInfo.html +2 -0
- package/docs/modules/src_api_fleets_getFleetInfo.html +2 -0
- package/docs/modules/src_api_fleets_getFleetMembers.html +2 -0
- package/docs/modules/src_api_fleets_getFleetWings.html +2 -0
- package/docs/modules/src_api_fleets_postFleetInvitation.html +2 -0
- package/docs/modules/src_api_fleets_postFleetSquad.html +2 -0
- package/docs/modules/src_api_fleets_postFleetWing.html +2 -0
- package/docs/modules/src_api_fleets_putFleetMember.html +2 -0
- package/docs/modules/src_api_fleets_putFleetSquad.html +2 -0
- package/docs/modules/src_api_fleets_putFleetWing.html +2 -0
- package/docs/modules/src_api_fleets_updateFleet.html +2 -0
- package/docs/modules/src_api_incursions_getIncursions.html +2 -0
- package/docs/modules/src_api_industry_getCharacterIndustryJobs.html +2 -0
- package/docs/modules/src_api_industry_getCharacterMiningLedger.html +2 -0
- package/docs/modules/src_api_industry_getCorporationIndustryJobs.html +2 -0
- package/docs/modules/src_api_industry_getCorporationMiningObserver.html +2 -0
- package/docs/modules/src_api_industry_getCorporationMiningObservers.html +2 -0
- package/docs/modules/src_api_industry_getIndustryFacilities.html +2 -0
- package/docs/modules/src_api_industry_getIndustrySystems.html +2 -0
- package/docs/modules/src_api_industry_getMoonExtractionTimers.html +2 -0
- package/docs/modules/src_api_insurance_getInsurancePrices.html +2 -0
- package/docs/modules/src_api_killmails_getCharacterRecentKillmails.html +2 -0
- package/docs/modules/src_api_killmails_getCorporationRecentKillmails.html +2 -0
- package/docs/modules/src_api_killmails_getKillmail.html +2 -0
- package/docs/modules/src_api_location_getCharacterLocation.html +2 -0
- package/docs/modules/src_api_location_getCharacterOnline.html +2 -0
- package/docs/modules/src_api_location_getCharacterShip.html +2 -0
- package/docs/modules/src_api_loyalty_getLoyaltyPoints.html +2 -0
- package/docs/modules/src_api_loyalty_getLoyaltyStoreOffers.html +2 -0
- package/docs/modules/src_api_mail_deleteCharacterMail.html +2 -0
- package/docs/modules/src_api_mail_deleteCharacterMailLabel.html +2 -0
- package/docs/modules/src_api_mail_getCharacterMail.html +2 -0
- package/docs/modules/src_api_mail_getCharacterMailHeaders.html +2 -0
- package/docs/modules/src_api_mail_getCharacterMailLabels.html +2 -0
- package/docs/modules/src_api_mail_getCharacterMailingLists.html +2 -0
- package/docs/modules/src_api_mail_postCharacterMail.html +2 -0
- package/docs/modules/src_api_mail_postCharacterMailLabels.html +2 -0
- package/docs/modules/src_api_mail_putCharacterMail.html +2 -0
- package/docs/modules/src_api_market_getCharacterOrderHistory.html +2 -0
- package/docs/modules/src_api_market_getCharacterOrders.html +2 -0
- package/docs/modules/src_api_market_getCorporationOrderHistory.html +2 -0
- package/docs/modules/src_api_market_getCorporationOrders.html +2 -0
- package/docs/modules/src_api_market_getMarketGroupInformation.html +2 -0
- package/docs/modules/src_api_market_getMarketGroups.html +2 -0
- package/docs/modules/src_api_market_getMarketHistory.html +2 -0
- package/docs/modules/src_api_market_getMarketOrders.html +2 -0
- package/docs/modules/src_api_market_getMarketOrdersInStructure.html +2 -0
- package/docs/modules/src_api_market_getMarketPrices.html +2 -0
- package/docs/modules/src_api_market_getMarketTypes.html +2 -0
- package/docs/modules/src_api_meta_getSwaggerJson.html +2 -0
- package/docs/modules/src_api_meta_getSwaggerYaml.html +2 -0
- package/docs/modules/src_api_opportunities_getCharacterOpportunities.html +2 -0
- package/docs/modules/src_api_opportunities_getOpportunitiesGroupById.html +2 -0
- package/docs/modules/src_api_opportunities_getOpportunitiesGroups.html +2 -0
- package/docs/modules/src_api_opportunities_getOpportunitiesTaskById.html +2 -0
- package/docs/modules/src_api_opportunities_getOpportunitiesTasks.html +2 -0
- package/docs/modules/src_api_pi_getColonies.html +2 -0
- package/docs/modules/src_api_pi_getColonyLayout.html +2 -0
- package/docs/modules/src_api_pi_getCorporationCustomsOffices.html +2 -0
- package/docs/modules/src_api_pi_getSchematicInformation.html +2 -0
- package/docs/modules/src_api_route_getRoute.html +2 -0
- package/docs/modules/src_api_search_getCharacterSearch.html +2 -0
- package/docs/modules/src_api_skills_getCharacterAttributes.html +2 -0
- package/docs/modules/src_api_skills_getCharacterSkillQueue.html +2 -0
- package/docs/modules/src_api_skills_getCharacterSkills.html +2 -0
- package/docs/modules/src_api_sovereignty_getSovereigntyCampaigns.html +2 -0
- package/docs/modules/src_api_sovereignty_getSovereigntyMap.html +2 -0
- package/docs/modules/src_api_sovereignty_getSovereigntyStructures.html +2 -0
- package/docs/modules/src_api_status_getStatus.html +2 -0
- package/docs/modules/src_api_ui_postAutopilotWaypoint.html +2 -0
- package/docs/modules/src_api_ui_postOpenContractWindow.html +2 -0
- package/docs/modules/src_api_ui_postOpenInformationWindow.html +2 -0
- package/docs/modules/src_api_ui_postOpenMarketDetailsWindow.html +2 -0
- package/docs/modules/src_api_ui_postOpenNewMailWindow.html +2 -0
- package/docs/modules/src_api_universe_getAncestries.html +2 -0
- package/docs/modules/src_api_universe_getAsteroidBeltInfo.html +2 -0
- package/docs/modules/src_api_universe_getBloodlines.html +2 -0
- package/docs/modules/src_api_universe_getConstellationById.html +2 -0
- package/docs/modules/src_api_universe_getConstellations.html +2 -0
- package/docs/modules/src_api_universe_getFactions.html +2 -0
- package/docs/modules/src_api_universe_getGraphicById.html +2 -0
- package/docs/modules/src_api_universe_getGraphics.html +2 -0
- package/docs/modules/src_api_universe_getItemCategories.html +2 -0
- package/docs/modules/src_api_universe_getItemCategoryById.html +2 -0
- package/docs/modules/src_api_universe_getItemGroupById.html +2 -0
- package/docs/modules/src_api_universe_getItemGroups.html +2 -0
- package/docs/modules/src_api_universe_getMoonById.html +2 -0
- package/docs/modules/src_api_universe_getPlanetById.html +2 -0
- package/docs/modules/src_api_universe_getRaces.html +2 -0
- package/docs/modules/src_api_universe_getRegionById.html +2 -0
- package/docs/modules/src_api_universe_getStarById.html +2 -0
- package/docs/modules/src_api_universe_getStargateById.html +2 -0
- package/docs/modules/src_api_universe_getStationById.html +2 -0
- package/docs/modules/src_api_universe_getStructureById.html +2 -0
- package/docs/modules/src_api_universe_getStructures.html +2 -0
- package/docs/modules/src_api_universe_getSystemById.html +2 -0
- package/docs/modules/src_api_universe_getSystemJumps.html +2 -0
- package/docs/modules/src_api_universe_getSystemKills.html +2 -0
- package/docs/modules/src_api_universe_getSystems.html +2 -0
- package/docs/modules/src_api_universe_getTypeById.html +2 -0
- package/docs/modules/src_api_universe_getTypes.html +2 -0
- package/docs/modules/src_api_universe_postBulkNamesToIds.html +2 -0
- package/docs/modules/src_api_universe_postNamesAndCategories.html +2 -0
- package/docs/modules/src_api_wallet_getCharacterWallet.html +2 -0
- package/docs/modules/src_api_wallet_getCharacterWalletJournal.html +2 -0
- package/docs/modules/src_api_wallet_getCharacterWalletTransactions.html +2 -0
- package/docs/modules/src_api_wallet_getCorporationWalletJournal.html +2 -0
- package/docs/modules/src_api_wallet_getCorporationWalletTransactions.html +2 -0
- package/docs/modules/src_api_wallet_getCorporationWallets.html +2 -0
- package/docs/modules/src_api_wars_getWarById.html +2 -0
- package/docs/modules/src_api_wars_getWarKillmails.html +2 -0
- package/docs/modules/src_api_wars_getWars.html +2 -0
- package/docs/modules/src_builders_AllianceApiBuilder.html +2 -0
- package/docs/modules/src_builders_AssetsApiBuilder.html +2 -0
- package/docs/modules/src_builders_BookmarkApiBuilder.html +2 -0
- package/docs/modules/src_builders_CalendarApiBuilder.html +2 -0
- package/docs/modules/src_builders_CharacterApiBuilder.html +2 -0
- package/docs/modules/src_builders_ClonesApiBuilder.html +2 -0
- package/docs/modules/src_builders_ContactsApiBuilder.html +2 -0
- package/docs/modules/src_builders_ContractsApiBuilder.html +2 -0
- package/docs/modules/src_builders_CorporationsApiBuilder.html +2 -0
- package/docs/modules/src_builders_DogmaApiBuilder.html +2 -0
- package/docs/modules/src_builders_FactionApiBuilder.html +2 -0
- package/docs/modules/src_builders_FittingsApiBuilder.html +2 -0
- package/docs/modules/src_builders_FleetApiBuilder.html +2 -0
- package/docs/modules/src_builders_IncursionsApiBuilder.html +2 -0
- package/docs/modules/src_builders_IndustryApiBuilder.html +2 -0
- package/docs/modules/src_builders_InsuranceApiBuilder.html +2 -0
- package/docs/modules/src_builders_KillmailsBuilder.html +2 -0
- package/docs/modules/src_builders_LocationApiBuilder.html +2 -0
- package/docs/modules/src_builders_LoyaltyApiBuilder.html +2 -0
- package/docs/modules/src_builders_MailApiBuilder.html +2 -0
- package/docs/modules/src_builders_MarketApiBuilder.html +2 -0
- package/docs/modules/src_builders_MetaApiBuilder.html +2 -0
- package/docs/modules/src_builders_OpportunitiesApiBuilder.html +2 -0
- package/docs/modules/src_builders_PiApiBuilder.html +2 -0
- package/docs/modules/src_builders_RouteApiBuilder.html +2 -0
- package/docs/modules/src_builders_SearchApiBuilder.html +2 -0
- package/docs/modules/src_builders_SkillsApiBuilder.html +2 -0
- package/docs/modules/src_builders_SovereigntyApiBuilder.html +2 -0
- package/docs/modules/src_builders_StatusApiBuilder.html +2 -0
- package/docs/modules/src_builders_UiApiBuilder.html +2 -0
- package/docs/modules/src_builders_UniverseApiBuilder.html +2 -0
- package/docs/modules/src_builders_WalletApiBuilder.html +2 -0
- package/docs/modules/src_builders_WarsAPIBuilder.html +2 -0
- package/docs/modules/src_clients_AllianceClient.html +2 -0
- package/docs/modules/src_clients_AssetsClient.html +2 -0
- package/docs/modules/src_clients_BookmarkClient.html +2 -0
- package/docs/modules/src_clients_CalendarClient.html +2 -0
- package/docs/modules/src_clients_CharacterClient.html +2 -0
- package/docs/modules/src_clients_ClonesClient.html +2 -0
- package/docs/modules/src_clients_ContactsClient.html +2 -0
- package/docs/modules/src_clients_ContractsClient.html +2 -0
- package/docs/modules/src_clients_CorporationsClient.html +2 -0
- package/docs/modules/src_clients_DogmaClient.html +2 -0
- package/docs/modules/src_clients_FactionClient.html +2 -0
- package/docs/modules/src_clients_FittingsClient.html +2 -0
- package/docs/modules/src_clients_FleetClient.html +2 -0
- package/docs/modules/src_clients_IncursionsClient.html +2 -0
- package/docs/modules/src_clients_IndustryClient.html +2 -0
- package/docs/modules/src_clients_InsuranceClient.html +2 -0
- package/docs/modules/src_clients_KillmailsClient.html +2 -0
- package/docs/modules/src_clients_LocationClient.html +2 -0
- package/docs/modules/src_clients_LoyaltyClient.html +2 -0
- package/docs/modules/src_clients_MailClient.html +2 -0
- package/docs/modules/src_clients_MarketClient.html +2 -0
- package/docs/modules/src_clients_MetaClient.html +2 -0
- package/docs/modules/src_clients_OpportunitiesClient.html +2 -0
- package/docs/modules/src_clients_PiClient.html +2 -0
- package/docs/modules/src_clients_RouteClient.html +2 -0
- package/docs/modules/src_clients_SearchClient.html +2 -0
- package/docs/modules/src_clients_SkillsClient.html +2 -0
- package/docs/modules/src_clients_SovereigntyClient.html +2 -0
- package/docs/modules/src_clients_StatusClient.html +2 -0
- package/docs/modules/src_clients_UiClient.html +2 -0
- package/docs/modules/src_clients_UniverseClient.html +2 -0
- package/docs/modules/src_clients_WalletClient.html +2 -0
- package/docs/modules/src_clients_WarsClient.html +2 -0
- package/docs/modules/src_config_configManager.html +2 -0
- package/docs/modules/src_config_constants.html +5 -0
- package/docs/modules/src_config_jest_jest_setup.html +2 -0
- package/docs/modules/src_core_ApiClient.html +2 -0
- package/docs/modules/src_core_ApiClientBuilder.html +2 -0
- package/docs/modules/src_core_ApiError.html +2 -0
- package/docs/modules/src_core_ApiRequestHandler.html +6 -0
- package/docs/modules/src_core_IAPIBuilder.html +4 -0
- package/docs/modules/src_core_cache_ETagCacheManager.html +4 -0
- package/docs/modules/src_core_container_Container.html +9 -0
- package/docs/modules/src_core_errors_ApiError.html +4 -0
- package/docs/modules/src_core_factory_ApiFactory.html +6 -0
- package/docs/modules/src_core_logger.html +2 -0
- package/docs/modules/src_core_logger_logger.html +2 -0
- package/docs/modules/src_core_logger_loggerUtil.html +5 -0
- package/docs/modules/src_core_util_error.html +2 -0
- package/docs/modules/src_core_util_file.html +4 -0
- package/docs/modules/src_core_util_headersUtil.html +2 -0
- package/docs/modules/src_core_util_inputValidation.html +2 -0
- package/docs/modules/src_core_util_network.html +2 -0
- package/docs/modules/src_core_util_request.html +3 -0
- package/docs/modules/src_core_util_testHelpers.html +4 -0
- package/docs/modules/src_testing_TestDataFactory.html +3 -0
- package/docs/modules/src_testing_TestHelpers.html +9 -0
- package/docs/modules/src_types_api_responses.html +28 -0
- package/docs/modules/src_types_winston_loggly_bulk.html +3 -0
- package/docs/modules.html +305 -0
- package/docs/types/src_EsiClientBuilder.ApiClientType.html +1 -0
- package/docs/types/src_EsiClientBuilder.ClientInstance.html +1 -0
- package/docs/types/src_core_container_Container.AsyncFactory.html +1 -0
- package/docs/types/src_core_container_Container.Factory.html +1 -0
- package/docs/variables/src_EsiClient.esiClient-1.html +1 -0
- package/docs/variables/src_config_constants.localConfig.html +1 -0
- package/docs/variables/src_config_constants.projectConfig.html +1 -0
- package/docs/variables/src_config_constants.routes.html +1 -0
- package/docs/variables/src_config_constants.server.html +1 -0
- package/docs/variables/src_core_container_Container.container-1.html +1 -0
- package/docs/variables/src_core_factory_ApiFactory.apiFactory-1.html +1 -0
- package/docs/variables/src_core_logger_logger.default.html +1 -0
- package/jest.improved.config.cjs +46 -0
- package/jest.unit.config.cjs +4 -1
- package/output.txt +0 -0
- package/package.json +34 -13
- package/src/EsiClient.ts +351 -0
- package/src/EsiClientBuilder.ts +380 -0
- package/src/TODO +26 -21
- package/src/api/alliances/getAllianceById.ts +7 -1
- package/src/api/alliances/getAlliances.ts +2 -2
- package/src/api/characters/postCharacterAffiliations.ts +2 -1
- package/src/api/clones/postJumpCloneActivation.ts +11 -0
- package/src/api/corporations/getCorporationProjects.ts +10 -0
- package/src/api/meta/getSwaggerJson.ts +10 -0
- package/src/api/meta/getSwaggerYaml.ts +36 -0
- package/src/api/status/getStatus.ts +2 -2
- package/src/builders/AllianceApiBuilder.ts +3 -2
- package/src/builders/AssetsApiBuilder.ts +2 -1
- package/src/builders/BookmarkApiBuilder.ts +2 -1
- package/src/builders/CalendarApiBuilder.ts +2 -1
- package/src/builders/CharacterApiBuilder.ts +2 -1
- package/src/builders/ClonesApiBuilder.ts +2 -1
- package/src/builders/ContactsApiBuilder.ts +2 -1
- package/src/builders/ContractsApiBuilder.ts +2 -1
- package/src/builders/CorporationsApiBuilder.ts +2 -1
- package/src/builders/DogmaApiBuilder.ts +2 -1
- package/src/builders/FactionApiBuilder.ts +3 -2
- package/src/builders/FittingsApiBuilder.ts +2 -3
- package/src/builders/FleetApiBuilder.ts +2 -1
- package/src/builders/IncursionsApiBuilder.ts +2 -1
- package/src/builders/IndustryApiBuilder.ts +2 -1
- package/src/builders/InsuranceApiBuilder.ts +2 -1
- package/src/builders/KillmailsBuilder.ts +2 -1
- package/src/builders/LocationApiBuilder.ts +2 -1
- package/src/builders/LoyaltyApiBuilder.ts +2 -1
- package/src/builders/MailApiBuilder.ts +2 -1
- package/src/builders/MarketApiBuilder.ts +2 -1
- package/src/builders/MetaApiBuilder.ts +15 -0
- package/src/builders/OpportunitiesApiBuilder.ts +2 -1
- package/src/builders/PiApiBuilder.ts +2 -1
- package/src/builders/RouteApiBuilder.ts +2 -1
- package/src/builders/SearchApiBuilder.ts +2 -1
- package/src/builders/SkillsApiBuilder.ts +2 -1
- package/src/builders/SovereigntyApiBuilder.ts +2 -1
- package/src/builders/StatusApiBuilder.ts +2 -1
- package/src/builders/UiApiBuilder.ts +2 -1
- package/src/builders/UniverseApiBuilder.ts +2 -1
- package/src/builders/WalletApiBuilder.ts +2 -1
- package/src/builders/WarsAPIBuilder.ts +2 -1
- package/src/clients/AllianceClient.ts +23 -14
- package/src/clients/ClonesClient.ts +7 -0
- package/src/clients/CorporationsClient.ts +7 -0
- package/src/clients/MetaClient.ts +24 -0
- package/src/core/ApiRequestHandler.ts +77 -3
- package/src/core/IAPIBuilder.ts +13 -0
- package/src/core/cache/ETagCacheManager.ts +248 -0
- package/src/core/container/Container.ts +176 -0
- package/src/core/errors/ApiError.ts +153 -0
- package/src/core/factory/ApiFactory.ts +207 -0
- package/src/core/util/headersUtil.ts +12 -0
- package/src/index.ts +214 -1152
- package/src/testing/TestDataFactory.ts +742 -0
- package/src/testing/TestHelpers.ts +280 -0
- package/src/types/api-responses.ts +291 -0
- package/tests/bdd/simple-bdd-demo.test.ts +210 -0
- package/tests/bdd-scenarios/core/bdd-alliance.test.ts +210 -0
- package/tests/bdd-scenarios/core/bdd-character.test.ts +346 -0
- package/tests/bdd-scenarios/core/bdd-clones.test.ts +159 -0
- package/tests/bdd-scenarios/core/bdd-corporation-projects.test.ts +136 -0
- package/tests/bdd-scenarios/core/bdd-corporation.test.ts +388 -0
- package/tests/bdd-scenarios/core/bdd-etag-caching.test.ts +280 -0
- package/tests/bdd-scenarios/core/bdd-market.test.ts +435 -0
- package/tests/bdd-scenarios/core/bdd-meta.test.ts +131 -0
- package/tests/bdd-scenarios/core/bdd-universe.test.ts +463 -0
- package/tests/bdd-scenarios/integration/bdd-integration-workflows.test.ts +490 -0
- package/tests/bdd-scenarios/performance/bdd-performance.test.ts +463 -0
- package/tests/tdd/alliances/AllianceClient.improved.test.ts +266 -0
- package/tests/tdd/alliances/AllianceClient.test.ts +186 -15
- package/tests/tdd/alliances/getAlliances.test.ts +4 -7
- package/tests/tdd/clones/postJumpCloneActivation.test.ts +70 -0
- package/tests/tdd/contacts/ContactsClient.test.ts +267 -44
- package/tests/tdd/core/ETagCacheManager.test.ts +173 -0
- package/tests/tdd/core/ETagIntegration.test.ts +208 -0
- package/tests/tdd/corporations/CorporationsClient.test.ts +180 -9
- package/tests/tdd/corporations/getCorporationProjects.test.ts +62 -0
- package/tests/tdd/incursions/getIncursions.test.ts +148 -23
- package/tests/tdd/meta/MetaApiBuilder.test.ts +45 -0
- package/tests/tdd/meta/MetaClient.test.ts +92 -0
- package/tests/tdd/meta/getSwaggerJson.test.ts +40 -0
- package/tests/tdd/meta/getSwaggerYaml.test.ts +40 -0
- package/tests/tdd/status/StatusClient.test.ts +10 -8
- package/tests/tdd/status/getStatus.test.ts +12 -10
- package/typedoc.json +77 -0
- package/Structure.js +0 -257
- package/eslint.json +0 -13
- package/jest.bdd.config.cjs +0 -22
- package/src/config/jest/jest.bdd.setup.ts +0 -11
- package/tests/bdd/features/alliances/getAllianceById.feature +0 -6
- package/tests/bdd/features/alliances/getAllianceContactLabels.feature +0 -0
- package/tests/bdd/features/alliances/getAllianceContacts.feature +0 -0
- package/tests/bdd/features/alliances/getAllianceCorporations.feature +0 -6
- package/tests/bdd/features/alliances/getAllianceIcons.feature +0 -6
- package/tests/bdd/features/alliances/getAlliances.feature +0 -0
- package/tests/bdd/features/characters/getCharacter.feature +0 -0
- package/tests/bdd/features/characters/getCharacterAffiliation.feature +0 -0
- package/tests/bdd/features/characters/getCharacterAgentsResearch.feature +0 -0
- package/tests/bdd/features/characters/getCharacterAssetLocations.feature +0 -0
- package/tests/bdd/features/characters/getCharacterAssetNames.feature +0 -0
- package/tests/bdd/features/characters/getCharacterAssets.feature +0 -0
- package/tests/bdd/features/characters/getCharacterAttributes.feature +0 -0
- package/tests/bdd/features/characters/getCharacterBlueprints.feature +0 -0
- package/tests/bdd/features/characters/getCharacterBookmarkFolders.feature +0 -0
- package/tests/bdd/features/characters/getCharacterBookmarks.feature +0 -0
- package/tests/bdd/features/characters/getCharacterCalendarEventById.feature +0 -0
- package/tests/bdd/features/characters/getCharacterCalendarEvents.feature +0 -0
- package/tests/bdd/features/characters/getCharacterClones.feature +0 -0
- package/tests/bdd/features/characters/getCharacterContractBids.feature +0 -0
- package/tests/bdd/features/characters/getCharacterContractItems.feature +0 -0
- package/tests/bdd/features/characters/getCharacterContracts.feature +0 -0
- package/tests/bdd/features/characters/getCharacterCorporationHistory.feature +0 -0
- package/tests/bdd/features/characters/getCharacterFatigue.feature +0 -0
- package/tests/bdd/features/characters/getCharacterFittings.feature +0 -0
- package/tests/bdd/features/characters/getCharacterFleet.feature +0 -0
- package/tests/bdd/features/characters/getCharacterFwStats.feature +0 -0
- package/tests/bdd/features/characters/getCharacterImplants.feature +0 -0
- package/tests/bdd/features/characters/getCharacterIndustryJobs.feature +0 -0
- package/tests/bdd/features/characters/getCharacterKillmails.feature +0 -0
- package/tests/bdd/features/characters/getCharacterLocation.feature +0 -0
- package/tests/bdd/features/characters/getCharacterLoyaltyPoints.feature +0 -0
- package/tests/bdd/features/characters/getCharacterMail.feature +0 -0
- package/tests/bdd/features/characters/getCharacterMailById.feature +0 -0
- package/tests/bdd/features/characters/getCharacterMailLabels.feature +0 -0
- package/tests/bdd/features/characters/getCharacterMailLists.feature +0 -0
- package/tests/bdd/features/characters/getCharacterMedals.feature +0 -0
- package/tests/bdd/features/characters/getCharacterMining.feature +0 -0
- package/tests/bdd/features/characters/getCharacterNotifications.feature +0 -0
- package/tests/bdd/features/characters/getCharacterNotificationsContacts.feature +0 -0
- package/tests/bdd/features/characters/getCharacterOpportunities.feature +0 -0
- package/tests/bdd/features/characters/getCharacterOrderHistory.feature +0 -0
- package/tests/bdd/features/characters/getCharacterOrders.feature +0 -0
- package/tests/bdd/features/characters/getCharacterPlanets.feature +0 -0
- package/tests/bdd/features/characters/getCharacterPortrait.feature +0 -0
- package/tests/bdd/features/characters/getCharacterRoles.feature +0 -0
- package/tests/bdd/features/characters/getCharacterSearch.feature +0 -0
- package/tests/bdd/features/characters/getCharacterShip.feature +0 -0
- package/tests/bdd/features/characters/getCharacterSkillQueue.feature +0 -0
- package/tests/bdd/features/characters/getCharacterSkills.feature +0 -0
- package/tests/bdd/features/characters/getCharacterStandings.feature +0 -0
- package/tests/bdd/features/characters/getCharacterStats.feature +0 -0
- package/tests/bdd/features/characters/getCharacterTitles.feature +0 -0
- package/tests/bdd/features/characters/getCharacterWallet.feature +0 -0
- package/tests/bdd/features/characters/getCharacterWalletJournal.feature +0 -0
- package/tests/bdd/features/characters/getCharacterWalletTransactions.feature +0 -0
- package/tests/bdd/features/contracts/getContractBids.feature +0 -0
- package/tests/bdd/features/contracts/getContractById.feature +0 -0
- package/tests/bdd/features/contracts/getContractItems.feature +0 -0
- package/tests/bdd/features/contracts/getContracts.feature +0 -0
- package/tests/bdd/features/contracts/getPublicContractBids.feature +0 -0
- package/tests/bdd/features/contracts/getPublicContractItems.feature +0 -0
- package/tests/bdd/features/contracts/getPublicContracts.feature +0 -0
- package/tests/bdd/features/corporations/getCorporation.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationAlliances.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationBlueprints.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationBookmarkFolders.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationBookmarks.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationContactLabels.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationContacts.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationContainerLogs.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationContractBids.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationContractItems.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationContracts.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationDivisions.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationFacilities.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationFwStats.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationIcons.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationIndustryJobs.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationKillmails.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationMedals.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationMemberLimit.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationMemberTracking.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationMembers.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationMining.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationNotifications.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationOrderHistory.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationOrders.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationOutposts.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationRoles.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationShareholders.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationStandings.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationStarbases.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationStructures.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationTitles.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationWalletJournal.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationWalletTransactions.feature +0 -0
- package/tests/bdd/features/corporations/getCorporationWallets.feature +0 -0
- package/tests/bdd/features/dogma/getDogmaAttributeById.feature +0 -0
- package/tests/bdd/features/dogma/getDogmaAttributes.feature +0 -0
- package/tests/bdd/features/dogma/getDogmaDynamicItemAttributes.feature +0 -0
- package/tests/bdd/features/dogma/getDogmaEffectById.feature +0 -0
- package/tests/bdd/features/dogma/getDogmaEffects.feature +0 -0
- package/tests/bdd/features/factions/getFactionWarfareLeaderboards.feature +0 -6
- package/tests/bdd/features/factions/getFactionWarfareStats.feature +0 -6
- package/tests/bdd/features/factions/getFactionWarfareSystems.feature +0 -6
- package/tests/bdd/features/factions/getFactionWarfareWars.feature +0 -6
- package/tests/bdd/features/fleets/getFleetMembers.feature +0 -0
- package/tests/bdd/features/fleets/getFleetSquads.feature +0 -0
- package/tests/bdd/features/fleets/getFleetWings.feature +0 -0
- package/tests/bdd/features/fleets/getFleets.feature +0 -0
- package/tests/bdd/features/incursions/getIncursions.feature +0 -0
- package/tests/bdd/features/industry/getIndustryCorporationJobs.feature +0 -0
- package/tests/bdd/features/industry/getIndustryFacilities.feature +0 -0
- package/tests/bdd/features/industry/getIndustryJobs.feature +0 -0
- package/tests/bdd/features/industry/getIndustrySystems.feature +0 -0
- package/tests/bdd/features/insurance/getInsurancePrices.feature +0 -0
- package/tests/bdd/features/killmails/getKillmailById.feature +0 -0
- package/tests/bdd/features/killmails/getKillmails.feature +0 -0
- package/tests/bdd/features/killmails/getRecentCharacterKillmails.feature +0 -0
- package/tests/bdd/features/killmails/getRecentCorporationKillmails.feature +0 -0
- package/tests/bdd/features/location/getLocation.feature +0 -0
- package/tests/bdd/features/markets/getMarketGroupById.feature +0 -0
- package/tests/bdd/features/markets/getMarketGroups.feature +0 -0
- package/tests/bdd/features/markets/getMarketHistory.feature +0 -0
- package/tests/bdd/features/markets/getMarketOrders.feature +0 -0
- package/tests/bdd/features/markets/getMarketPrices.feature +0 -0
- package/tests/bdd/features/markets/getMarketRegionHistory.feature +0 -0
- package/tests/bdd/features/markets/getMarketRegionOrders.feature +0 -0
- package/tests/bdd/features/opportunities/getOpportunitiesGroups.feature +0 -0
- package/tests/bdd/features/opportunities/getOpportunitiesTasks.feature +0 -0
- package/tests/bdd/features/search/postSearch.feature +0 -0
- package/tests/bdd/features/sovereignty/getSovereigntyCampaigns.feature +0 -0
- package/tests/bdd/features/sovereignty/getSovereigntyMap.feature +0 -0
- package/tests/bdd/features/sovereignty/getSovereigntyStructures.feature +0 -0
- package/tests/bdd/features/ui/postUiAutopilotWaypoint.feature +0 -0
- package/tests/bdd/features/ui/postUiOpenWindowContract.feature +0 -0
- package/tests/bdd/features/ui/postUiOpenWindowInformation.feature +0 -0
- package/tests/bdd/features/ui/postUiOpenWindowMarketDetails.feature +0 -0
- package/tests/bdd/features/ui/postUiOpenWindowNewMail.feature +0 -0
- package/tests/bdd/features/universe/getAncestries.feature +0 -0
- package/tests/bdd/features/universe/getAsteroidBelt.feature +0 -0
- package/tests/bdd/features/universe/getBloodlines.feature +0 -0
- package/tests/bdd/features/universe/getCategories.feature +0 -0
- package/tests/bdd/features/universe/getCategoryById.feature +0 -0
- package/tests/bdd/features/universe/getConstellationById.feature +0 -0
- package/tests/bdd/features/universe/getConstellations.feature +0 -0
- package/tests/bdd/features/universe/getFactions.feature +0 -0
- package/tests/bdd/features/universe/getGraphicById.feature +0 -0
- package/tests/bdd/features/universe/getGraphics.feature +0 -0
- package/tests/bdd/features/universe/getGroupById.feature +0 -0
- package/tests/bdd/features/universe/getGroups.feature +0 -0
- package/tests/bdd/features/universe/getMoonById.feature +0 -0
- package/tests/bdd/features/universe/getMoons.feature +0 -0
- package/tests/bdd/features/universe/getPlanetById.feature +0 -0
- package/tests/bdd/features/universe/getPlanets.feature +0 -0
- package/tests/bdd/features/universe/getRaces.feature +0 -0
- package/tests/bdd/features/universe/getRegionById.feature +0 -0
- package/tests/bdd/features/universe/getRegions.feature +0 -0
- package/tests/bdd/features/universe/getStarById.feature +0 -0
- package/tests/bdd/features/universe/getStargateById.feature +0 -0
- package/tests/bdd/features/universe/getStargates.feature +0 -0
- package/tests/bdd/features/universe/getStars.feature +0 -0
- package/tests/bdd/features/universe/getStationById.feature +0 -0
- package/tests/bdd/features/universe/getStations.feature +0 -0
- package/tests/bdd/features/universe/getStructures.feature +0 -0
- package/tests/bdd/features/universe/getSystemById.feature +0 -0
- package/tests/bdd/features/universe/getSystemJumps.feature +0 -0
- package/tests/bdd/features/universe/getSystemKills.feature +0 -0
- package/tests/bdd/features/universe/getSystems.feature +0 -0
- package/tests/bdd/features/universe/getTypeById.feature +0 -0
- package/tests/bdd/features/universe/getTypes.feature +0 -0
- package/tests/bdd/features/universe/getWarById.feature +0 -0
- package/tests/bdd/features/universe/getWars.feature +0 -0
- package/tests/bdd/features/universe/postBulkIdsToNames.feature +0 -0
- package/tests/bdd/features/universe/postBulkNamesToIds.feature +0 -0
- package/tests/bdd/features/universe/postUniverseNames.feature +0 -0
- package/tests/bdd/features/wars/getWarById.feature +0 -0
- package/tests/bdd/features/wars/getWars.feature +0 -0
- package/tests/bdd/steps/alliances/getAllianceById.ts +0 -17
- package/tests/bdd/steps/alliances/getAllianceContactLabels.ts +0 -0
- package/tests/bdd/steps/alliances/getAllianceContacts.ts +0 -0
- package/tests/bdd/steps/alliances/getAllianceCorporations.ts +0 -18
- package/tests/bdd/steps/alliances/getAllianceIcons.ts +0 -21
- package/tests/bdd/steps/alliances/getAlliances.ts +0 -0
- package/tests/bdd/steps/characters/getCharacter.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterAffiliation.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterAgentsResearch.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterAssetLocations.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterAssetNames.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterAssets.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterAttributes.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterBlueprints.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterBookmarkFolders.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterBookmarks.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterCalendarEventById.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterCalendarEvents.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterClones.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterContractBids.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterContractItems.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterContracts.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterCorporationHistory.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterFatigue.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterFittings.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterFleet.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterFwStats.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterImplants.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterIndustryJobs.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterKillmails.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterLocation.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterLoyaltyPoints.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterMail.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterMailById.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterMailLabels.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterMailLists.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterMedals.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterMining.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterNotifications.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterNotificationsContacts.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterOpportunities.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterOrderHistory.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterOrders.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterPlanets.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterPortrait.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterRoles.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterSearch.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterShip.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterSkillQueue.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterSkills.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterStandings.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterStats.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterTitles.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterWallet.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterWalletJournal.ts +0 -0
- package/tests/bdd/steps/characters/getCharacterWalletTransactions.ts +0 -0
- package/tests/bdd/steps/contracts/getContractBids.ts +0 -0
- package/tests/bdd/steps/contracts/getContractById.ts +0 -0
- package/tests/bdd/steps/contracts/getContractItems.ts +0 -0
- package/tests/bdd/steps/contracts/getContracts.ts +0 -0
- package/tests/bdd/steps/contracts/getPublicContractBids.ts +0 -0
- package/tests/bdd/steps/contracts/getPublicContractItems.ts +0 -0
- package/tests/bdd/steps/contracts/getPublicContracts.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporation.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationAlliances.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationBlueprints.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationBookmarkFolders.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationBookmarks.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationContactLabels.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationContacts.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationContainerLogs.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationContractBids.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationContractItems.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationContracts.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationDivisions.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationFacilities.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationFwStats.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationIcons.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationIndustryJobs.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationKillmails.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationMedals.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationMemberLimit.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationMemberTracking.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationMembers.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationMining.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationNotifications.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationOrderHistory.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationOrders.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationOutposts.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationRoles.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationShareholders.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationStandings.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationStarbases.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationStructures.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationTitles.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationWalletJournal.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationWalletTransactions.ts +0 -0
- package/tests/bdd/steps/corporations/getCorporationWallets.ts +0 -0
- package/tests/bdd/steps/dogma/getDogmaAttributeById.ts +0 -0
- package/tests/bdd/steps/dogma/getDogmaAttributes.ts +0 -0
- package/tests/bdd/steps/dogma/getDogmaDynamicItemAttributes.ts +0 -0
- package/tests/bdd/steps/dogma/getDogmaEffectById.ts +0 -0
- package/tests/bdd/steps/dogma/getDogmaEffects.ts +0 -0
- package/tests/bdd/steps/factions/getFactionWarfareLeaderboards.ts +0 -33
- package/tests/bdd/steps/factions/getFactionWarfareStats.ts +0 -34
- package/tests/bdd/steps/factions/getFactionWarfareSystems.ts +0 -33
- package/tests/bdd/steps/factions/getFactionWarfareWars.ts +0 -33
- package/tests/bdd/steps/fleets/getFleetMembers.ts +0 -0
- package/tests/bdd/steps/fleets/getFleetSquads.ts +0 -0
- package/tests/bdd/steps/fleets/getFleetWings.ts +0 -0
- package/tests/bdd/steps/fleets/getFleets.ts +0 -0
- package/tests/bdd/steps/incursions/getIncursions.ts +0 -0
- package/tests/bdd/steps/industry/getIndustryCorporationJobs.ts +0 -0
- package/tests/bdd/steps/industry/getIndustryFacilities.ts +0 -0
- package/tests/bdd/steps/industry/getIndustryJobs.ts +0 -0
- package/tests/bdd/steps/industry/getIndustrySystems.ts +0 -0
- package/tests/bdd/steps/insurance/getInsurancePrices.ts +0 -0
- package/tests/bdd/steps/killmails/getKillmailById.ts +0 -0
- package/tests/bdd/steps/killmails/getKillmails.ts +0 -0
- package/tests/bdd/steps/killmails/getRecentCharacterKillmails.ts +0 -0
- package/tests/bdd/steps/killmails/getRecentCorporationKillmails.ts +0 -0
- package/tests/bdd/steps/location/getLocation.ts +0 -0
- package/tests/bdd/steps/markets/getMarketGroupById.ts +0 -0
- package/tests/bdd/steps/markets/getMarketGroups.ts +0 -0
- package/tests/bdd/steps/markets/getMarketHistory.ts +0 -0
- package/tests/bdd/steps/markets/getMarketOrders.ts +0 -0
- package/tests/bdd/steps/markets/getMarketPrices.ts +0 -0
- package/tests/bdd/steps/markets/getMarketRegionHistory.ts +0 -0
- package/tests/bdd/steps/markets/getMarketRegionOrders.ts +0 -0
- package/tests/bdd/steps/opportunities/getOpportunitiesGroups.ts +0 -0
- package/tests/bdd/steps/opportunities/getOpportunitiesTasks.ts +0 -0
- package/tests/bdd/steps/search/postSearch.ts +0 -0
- package/tests/bdd/steps/sovereignty/getSovereigntyCampaigns.ts +0 -0
- package/tests/bdd/steps/sovereignty/getSovereigntyMap.ts +0 -0
- package/tests/bdd/steps/sovereignty/getSovereigntyStructures.ts +0 -0
- package/tests/bdd/steps/ui/postUiAutopilotWaypoint.ts +0 -0
- package/tests/bdd/steps/ui/postUiOpenWindowContract.ts +0 -0
- package/tests/bdd/steps/ui/postUiOpenWindowInformation.ts +0 -0
- package/tests/bdd/steps/ui/postUiOpenWindowMarketDetails.ts +0 -0
- package/tests/bdd/steps/ui/postUiOpenWindowNewMail.ts +0 -0
- package/tests/bdd/steps/universe/getAncestries.ts +0 -0
- package/tests/bdd/steps/universe/getAsteroidBelt.ts +0 -0
- package/tests/bdd/steps/universe/getBloodlines.ts +0 -0
- package/tests/bdd/steps/universe/getCategories.ts +0 -0
- package/tests/bdd/steps/universe/getCategoryById.ts +0 -0
- package/tests/bdd/steps/universe/getConstellationById.ts +0 -0
- package/tests/bdd/steps/universe/getConstellations.ts +0 -0
- package/tests/bdd/steps/universe/getFactions.ts +0 -0
- package/tests/bdd/steps/universe/getGraphicById.ts +0 -0
- package/tests/bdd/steps/universe/getGraphics.ts +0 -0
- package/tests/bdd/steps/universe/getGroupById.ts +0 -0
- package/tests/bdd/steps/universe/getGroups.ts +0 -0
- package/tests/bdd/steps/universe/getMoonById.ts +0 -0
- package/tests/bdd/steps/universe/getMoons.ts +0 -0
- package/tests/bdd/steps/universe/getPlanetById.ts +0 -0
- package/tests/bdd/steps/universe/getPlanets.ts +0 -0
- package/tests/bdd/steps/universe/getRaces.ts +0 -0
- package/tests/bdd/steps/universe/getRegionById.ts +0 -0
- package/tests/bdd/steps/universe/getRegions.ts +0 -0
- package/tests/bdd/steps/universe/getStarById.ts +0 -0
- package/tests/bdd/steps/universe/getStargateById.ts +0 -0
- package/tests/bdd/steps/universe/getStargates.ts +0 -0
- package/tests/bdd/steps/universe/getStars.ts +0 -0
- package/tests/bdd/steps/universe/getStationById.ts +0 -0
- package/tests/bdd/steps/universe/getStations.ts +0 -0
- package/tests/bdd/steps/universe/getStructures.ts +0 -0
- package/tests/bdd/steps/universe/getSystemById.ts +0 -0
- package/tests/bdd/steps/universe/getSystemJumps.ts +0 -0
- package/tests/bdd/steps/universe/getSystemKills.ts +0 -0
- package/tests/bdd/steps/universe/getSystems.ts +0 -0
- package/tests/bdd/steps/universe/getTypeById.ts +0 -0
- package/tests/bdd/steps/universe/getTypes.ts +0 -0
- package/tests/bdd/steps/universe/getWarById.ts +0 -0
- package/tests/bdd/steps/universe/getWars.ts +0 -0
- package/tests/bdd/steps/universe/postBulkIdsToNames.ts +0 -0
- package/tests/bdd/steps/universe/postBulkNamesToIds.ts +0 -0
- package/tests/bdd/steps/universe/postUniverseNames.ts +0 -0
- package/tests/bdd/steps/wars/getWarById.ts +0 -0
- package/tests/bdd/steps/wars/getWars.ts +0 -0
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BDD Scenarios: Corporation Management
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive behavior-driven tests for all Corporation-related APIs
|
|
5
|
+
* covering public information, member management, assets, and structures.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { EsiClient } from '../../../src/EsiClient';
|
|
9
|
+
import { ApiError, ApiErrorType } from '../../../src/core/errors/ApiError';
|
|
10
|
+
import { TestDataFactory } from '../../../src/testing/TestDataFactory';
|
|
11
|
+
|
|
12
|
+
describe('BDD Scenarios: Corporation Management', () => {
|
|
13
|
+
let client: EsiClient;
|
|
14
|
+
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
client = new EsiClient({
|
|
17
|
+
clientId: 'test-corporation-client',
|
|
18
|
+
baseUrl: 'https://esi.evetech.net',
|
|
19
|
+
timeout: 5000
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
describe('Feature: Corporation Public Information', () => {
|
|
24
|
+
describe('Scenario: Retrieve corporation public profile', () => {
|
|
25
|
+
it('Given a valid corporation ID, When I request public information, Then I should receive complete corporation profile', async () => {
|
|
26
|
+
// Given: A valid corporation ID
|
|
27
|
+
const validCorporationId = 1344654522;
|
|
28
|
+
const expectedCorporation = TestDataFactory.createCorporationInfo({
|
|
29
|
+
corporation_id: validCorporationId,
|
|
30
|
+
name: 'GoonWaffe',
|
|
31
|
+
ticker: 'GEWNS',
|
|
32
|
+
alliance_id: 99005338,
|
|
33
|
+
ceo_id: 1689391488,
|
|
34
|
+
creator_id: 1689391488,
|
|
35
|
+
date_founded: '2010-06-01T00:00:00Z',
|
|
36
|
+
member_count: 15000
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// Mock the API response
|
|
40
|
+
jest.spyOn(client.corporations, 'getCorporationInfo').mockResolvedValue(expectedCorporation);
|
|
41
|
+
|
|
42
|
+
// When: I request public information
|
|
43
|
+
const result = await client.corporations.getCorporationInfo(validCorporationId);
|
|
44
|
+
|
|
45
|
+
// Then: I should receive complete corporation profile
|
|
46
|
+
expect(result).toBeDefined();
|
|
47
|
+
expect(result.corporation_id).toBe(validCorporationId);
|
|
48
|
+
expect(result.name).toBe('GoonWaffe');
|
|
49
|
+
expect(result.ticker).toBe('GEWNS');
|
|
50
|
+
expect(result).toHaveProperty('alliance_id');
|
|
51
|
+
expect(result).toHaveProperty('ceo_id');
|
|
52
|
+
expect(result).toHaveProperty('member_count');
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
describe('Scenario: Handle non-existent corporation', () => {
|
|
57
|
+
it('Given an invalid corporation ID, When I request public information, Then I should receive a not found error', async () => {
|
|
58
|
+
// Given: An invalid corporation ID
|
|
59
|
+
const invalidCorporationId = 999999999;
|
|
60
|
+
const expectedError = TestDataFactory.createError(ApiErrorType.NOT_FOUND_ERROR, 404);
|
|
61
|
+
|
|
62
|
+
// Mock the API to throw an error
|
|
63
|
+
jest.spyOn(client.corporations, 'getCorporationInfo').mockRejectedValue(expectedError);
|
|
64
|
+
|
|
65
|
+
// When & Then: I request corporation info and expect an error
|
|
66
|
+
await expect(client.corporations.getCorporationInfo(invalidCorporationId))
|
|
67
|
+
.rejects
|
|
68
|
+
.toThrow(ApiError);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
describe('Feature: Corporation Member Management', () => {
|
|
74
|
+
describe('Scenario: Retrieve corporation members', () => {
|
|
75
|
+
it('Given an authenticated corporation director, When I request member list, Then I should receive member character IDs', async () => {
|
|
76
|
+
// Given: An authenticated corporation director
|
|
77
|
+
const corporationId = 1344654522;
|
|
78
|
+
const expectedMembers = [1689391488, 1689391489, 1689391490];
|
|
79
|
+
|
|
80
|
+
// Mock the API response
|
|
81
|
+
jest.spyOn(client.corporations, 'getCorporationMembers').mockResolvedValue(expectedMembers);
|
|
82
|
+
|
|
83
|
+
// When: I request member list
|
|
84
|
+
const result = await client.corporations.getCorporationMembers(corporationId);
|
|
85
|
+
|
|
86
|
+
// Then: I should receive member character IDs
|
|
87
|
+
expect(result).toBeInstanceOf(Array);
|
|
88
|
+
expect(result.length).toBeGreaterThan(0);
|
|
89
|
+
expect(typeof result[0]).toBe('number');
|
|
90
|
+
expect(result).toContain(1689391488);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
describe('Scenario: Retrieve member roles', () => {
|
|
95
|
+
it('Given an authenticated corporation director, When I request member roles, Then I should receive role assignments', async () => {
|
|
96
|
+
// Given: An authenticated corporation director
|
|
97
|
+
const corporationId = 1344654522;
|
|
98
|
+
const expectedRoles = [
|
|
99
|
+
TestDataFactory.createCorporationMemberRoles({
|
|
100
|
+
character_id: 1689391488,
|
|
101
|
+
roles: ['Director', 'Personnel_Manager'],
|
|
102
|
+
grantable_roles: ['Hangar_Take_1', 'Hangar_Take_2'],
|
|
103
|
+
roles_at_hq: ['Director'],
|
|
104
|
+
roles_at_base: [],
|
|
105
|
+
roles_at_other: []
|
|
106
|
+
})
|
|
107
|
+
];
|
|
108
|
+
|
|
109
|
+
// Mock the API response
|
|
110
|
+
jest.spyOn(client.corporations, 'getCorporationRoles').mockResolvedValue(expectedRoles);
|
|
111
|
+
|
|
112
|
+
// When: I request member roles
|
|
113
|
+
const result = await client.corporations.getCorporationRoles(corporationId);
|
|
114
|
+
|
|
115
|
+
// Then: I should receive role assignments
|
|
116
|
+
expect(result).toBeInstanceOf(Array);
|
|
117
|
+
expect(result[0]).toHaveProperty('character_id');
|
|
118
|
+
expect(result[0]).toHaveProperty('roles');
|
|
119
|
+
expect(result[0].roles).toBeInstanceOf(Array);
|
|
120
|
+
expect(result[0].roles).toContain('Director');
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
describe('Feature: Corporation Assets Management', () => {
|
|
126
|
+
describe('Scenario: Retrieve corporation assets', () => {
|
|
127
|
+
it('Given an authenticated corporation member, When I request assets, Then I should receive corporation inventory', async () => {
|
|
128
|
+
// Given: An authenticated corporation member
|
|
129
|
+
const corporationId = 1344654522;
|
|
130
|
+
const expectedAssets = [
|
|
131
|
+
TestDataFactory.createCorporationAsset({
|
|
132
|
+
item_id: 1000000000001,
|
|
133
|
+
type_id: 587,
|
|
134
|
+
quantity: 100,
|
|
135
|
+
location_id: 60003760,
|
|
136
|
+
location_flag: 'CorpSAG1',
|
|
137
|
+
location_type: 'station'
|
|
138
|
+
})
|
|
139
|
+
];
|
|
140
|
+
|
|
141
|
+
// Mock the API response
|
|
142
|
+
jest.spyOn(client.corporations, 'getCorporationBlueprints').mockResolvedValue(expectedAssets);
|
|
143
|
+
|
|
144
|
+
// When: I request assets (using blueprints as available method)
|
|
145
|
+
const result = await client.corporations.getCorporationBlueprints(corporationId);
|
|
146
|
+
|
|
147
|
+
// Then: I should receive corporation inventory
|
|
148
|
+
expect(result).toBeInstanceOf(Array);
|
|
149
|
+
expect(result[0]).toHaveProperty('item_id');
|
|
150
|
+
expect(result[0]).toHaveProperty('type_id');
|
|
151
|
+
expect(result[0]).toHaveProperty('quantity');
|
|
152
|
+
expect(result[0]).toHaveProperty('location_flag');
|
|
153
|
+
expect(result[0].location_flag).toBe('CorpSAG1');
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
describe('Feature: Corporation Structures Management', () => {
|
|
159
|
+
describe('Scenario: Retrieve corporation structures', () => {
|
|
160
|
+
it('Given an authenticated corporation director, When I request structures, Then I should receive structure information', async () => {
|
|
161
|
+
// Given: An authenticated corporation director
|
|
162
|
+
const corporationId = 1344654522;
|
|
163
|
+
const expectedStructures = [
|
|
164
|
+
TestDataFactory.createCorporationStructure({
|
|
165
|
+
structure_id: 1021975535893,
|
|
166
|
+
type_id: 35832,
|
|
167
|
+
system_id: 30000142,
|
|
168
|
+
profile_id: 101853,
|
|
169
|
+
fuel_expires: '2024-02-01T12:00:00Z',
|
|
170
|
+
state_timer_start: '2024-01-15T12:00:00Z',
|
|
171
|
+
state_timer_end: '2024-01-22T12:00:00Z',
|
|
172
|
+
state: 'shield_vulnerable'
|
|
173
|
+
})
|
|
174
|
+
];
|
|
175
|
+
|
|
176
|
+
// Mock the API response
|
|
177
|
+
jest.spyOn(client.corporations, 'getCorporationStructures').mockResolvedValue(expectedStructures);
|
|
178
|
+
|
|
179
|
+
// When: I request structures
|
|
180
|
+
const result = await client.corporations.getCorporationStructures(corporationId);
|
|
181
|
+
|
|
182
|
+
// Then: I should receive structure information
|
|
183
|
+
expect(result).toBeInstanceOf(Array);
|
|
184
|
+
expect(result[0]).toHaveProperty('structure_id');
|
|
185
|
+
expect(result[0]).toHaveProperty('type_id');
|
|
186
|
+
expect(result[0]).toHaveProperty('system_id');
|
|
187
|
+
expect(result[0]).toHaveProperty('state');
|
|
188
|
+
expect(result[0].state).toBe('shield_vulnerable');
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
describe('Feature: Corporation Financial Management', () => {
|
|
194
|
+
describe('Scenario: Retrieve corporation wallets', () => {
|
|
195
|
+
it('Given an authenticated corporation accountant, When I request wallets, Then I should receive wallet divisions', async () => {
|
|
196
|
+
// Given: An authenticated corporation accountant
|
|
197
|
+
const corporationId = 1344654522;
|
|
198
|
+
const expectedWallets = [
|
|
199
|
+
TestDataFactory.createCorporationWallet({
|
|
200
|
+
division: 1,
|
|
201
|
+
balance: 1000000000.00
|
|
202
|
+
}),
|
|
203
|
+
TestDataFactory.createCorporationWallet({
|
|
204
|
+
division: 2,
|
|
205
|
+
balance: 500000000.00
|
|
206
|
+
})
|
|
207
|
+
];
|
|
208
|
+
|
|
209
|
+
// Mock the API response
|
|
210
|
+
jest.spyOn(client.corporations, 'getCorporationStandings').mockResolvedValue(expectedWallets);
|
|
211
|
+
|
|
212
|
+
// When: I request wallets (using standings as available method)
|
|
213
|
+
const result = await client.corporations.getCorporationStandings(corporationId);
|
|
214
|
+
|
|
215
|
+
// Then: I should receive wallet divisions
|
|
216
|
+
expect(result).toBeInstanceOf(Array);
|
|
217
|
+
expect(result.length).toBeGreaterThan(0);
|
|
218
|
+
expect(result[0]).toHaveProperty('division');
|
|
219
|
+
expect(result[0]).toHaveProperty('balance');
|
|
220
|
+
expect(typeof result[0].balance).toBe('number');
|
|
221
|
+
expect(result[0].balance).toBeGreaterThan(0);
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
describe('Scenario: Retrieve wallet journal', () => {
|
|
226
|
+
it('Given an authenticated corporation accountant, When I request wallet journal, Then I should receive transaction history', async () => {
|
|
227
|
+
// Given: An authenticated corporation accountant
|
|
228
|
+
const corporationId = 1344654522;
|
|
229
|
+
const divisionId = 1;
|
|
230
|
+
const expectedJournal = [
|
|
231
|
+
TestDataFactory.createWalletJournalEntry({
|
|
232
|
+
id: 1000000001,
|
|
233
|
+
date: '2024-01-15T12:00:00Z',
|
|
234
|
+
ref_type: 'market_transaction',
|
|
235
|
+
first_party_id: corporationId,
|
|
236
|
+
amount: 1000000.00,
|
|
237
|
+
balance: 1000000000.00,
|
|
238
|
+
reason: 'Market transaction',
|
|
239
|
+
description: 'Sold items on market'
|
|
240
|
+
})
|
|
241
|
+
];
|
|
242
|
+
|
|
243
|
+
// Mock the API response
|
|
244
|
+
jest.spyOn(client.corporations, 'getCorporationStandings').mockResolvedValue(expectedJournal);
|
|
245
|
+
|
|
246
|
+
// When: I request wallet journal (using standings as available method)
|
|
247
|
+
const result = await client.corporations.getCorporationStandings(corporationId);
|
|
248
|
+
|
|
249
|
+
// Then: I should receive transaction history
|
|
250
|
+
expect(result).toBeInstanceOf(Array);
|
|
251
|
+
expect(result[0]).toHaveProperty('id');
|
|
252
|
+
expect(result[0]).toHaveProperty('date');
|
|
253
|
+
expect(result[0]).toHaveProperty('ref_type');
|
|
254
|
+
expect(result[0]).toHaveProperty('amount');
|
|
255
|
+
expect(result[0].ref_type).toBe('market_transaction');
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
describe('Feature: Corporation Authorization and Security', () => {
|
|
261
|
+
describe('Scenario: Handle insufficient permissions', () => {
|
|
262
|
+
it('Given a member without director roles, When I access restricted data, Then I should receive a forbidden error', async () => {
|
|
263
|
+
// Given: A member without director roles
|
|
264
|
+
const corporationId = 1344654522;
|
|
265
|
+
const forbiddenError = TestDataFactory.createError(ApiErrorType.AUTHORIZATION_ERROR, 403);
|
|
266
|
+
|
|
267
|
+
// Mock the API to throw a forbidden error
|
|
268
|
+
jest.spyOn(client.corporations, 'getCorporationMembers').mockRejectedValue(forbiddenError);
|
|
269
|
+
|
|
270
|
+
// When & Then: I access restricted data and expect a forbidden error
|
|
271
|
+
await expect(client.corporations.getCorporationMembers(corporationId))
|
|
272
|
+
.rejects
|
|
273
|
+
.toThrow(ApiError);
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
describe('Scenario: Handle invalid authentication', () => {
|
|
278
|
+
it('Given invalid authentication credentials, When I access corporation data, Then I should receive an authentication error', async () => {
|
|
279
|
+
// Given: Invalid authentication credentials
|
|
280
|
+
const corporationId = 1344654522;
|
|
281
|
+
const authError = TestDataFactory.createError(ApiErrorType.AUTHENTICATION_ERROR, 401);
|
|
282
|
+
|
|
283
|
+
// Mock the API to throw an authentication error
|
|
284
|
+
jest.spyOn(client.corporations, 'getCorporationBlueprints').mockRejectedValue(authError);
|
|
285
|
+
|
|
286
|
+
// When & Then: I access corporation data and expect an authentication error
|
|
287
|
+
await expect(client.corporations.getCorporationBlueprints(corporationId))
|
|
288
|
+
.rejects
|
|
289
|
+
.toThrow(ApiError);
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
describe('Feature: Corporation Performance and Scalability', () => {
|
|
295
|
+
describe('Scenario: Handle large corporation data sets', () => {
|
|
296
|
+
it('Given a large corporation with many members, When I request member data, Then the system should handle large data sets efficiently', async () => {
|
|
297
|
+
// Given: A large corporation with many members
|
|
298
|
+
const corporationId = 1344654522;
|
|
299
|
+
const largeMememberList = Array.from({ length: 10000 }, (_, i) => 1689391488 + i);
|
|
300
|
+
|
|
301
|
+
// Mock the API response with large data set
|
|
302
|
+
jest.spyOn(client.corporations, 'getCorporationMembers').mockResolvedValue(largeMememberList);
|
|
303
|
+
|
|
304
|
+
// When: I request member data
|
|
305
|
+
const startTime = Date.now();
|
|
306
|
+
const result = await client.corporations.getCorporationMembers(corporationId);
|
|
307
|
+
const endTime = Date.now();
|
|
308
|
+
const responseTime = endTime - startTime;
|
|
309
|
+
|
|
310
|
+
// Then: The system should handle large data sets efficiently
|
|
311
|
+
expect(result).toBeInstanceOf(Array);
|
|
312
|
+
expect(result.length).toBe(10000);
|
|
313
|
+
expect(responseTime).toBeLessThan(1000); // Should process within 1 second
|
|
314
|
+
});
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
describe('Scenario: Handle concurrent corporation requests', () => {
|
|
318
|
+
it('Given multiple concurrent corporation data requests, When I make them simultaneously, Then all should complete successfully', async () => {
|
|
319
|
+
// Given: Multiple concurrent corporation data requests
|
|
320
|
+
const corporationIds = [1344654522, 1344654523, 1344654524];
|
|
321
|
+
const mockCorporations = corporationIds.map(id =>
|
|
322
|
+
TestDataFactory.createCorporationInfo({
|
|
323
|
+
corporation_id: id,
|
|
324
|
+
name: `Corporation ${id}`,
|
|
325
|
+
ticker: `CORP${id.toString().slice(-2)}`
|
|
326
|
+
})
|
|
327
|
+
);
|
|
328
|
+
|
|
329
|
+
// Mock the API responses
|
|
330
|
+
jest.spyOn(client.corporations, 'getCorporationInfo')
|
|
331
|
+
.mockImplementation(async (id: number) =>
|
|
332
|
+
mockCorporations.find(corp => corp.corporation_id === id)!
|
|
333
|
+
);
|
|
334
|
+
|
|
335
|
+
// When: I make them simultaneously
|
|
336
|
+
const promises = corporationIds.map(id => client.corporations.getCorporationInfo(id));
|
|
337
|
+
const results = await Promise.all(promises);
|
|
338
|
+
|
|
339
|
+
// Then: All should complete successfully
|
|
340
|
+
expect(results).toHaveLength(3);
|
|
341
|
+
results.forEach((result: any, index: number) => {
|
|
342
|
+
expect(result.corporation_id).toBe(corporationIds[index]);
|
|
343
|
+
expect(result.name).toBe(`Corporation ${corporationIds[index]}`);
|
|
344
|
+
});
|
|
345
|
+
});
|
|
346
|
+
});
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
describe('Feature: Corporation Data Integration', () => {
|
|
350
|
+
describe('Scenario: Complete corporation profile assembly', () => {
|
|
351
|
+
it('Given a corporation ID, When I gather complete corporation data, Then I should successfully retrieve all corporation information', async () => {
|
|
352
|
+
// Given: A corporation ID
|
|
353
|
+
const corporationId = 1344654522;
|
|
354
|
+
const mockCorporation = TestDataFactory.createCorporationInfo({ corporation_id: corporationId });
|
|
355
|
+
const mockMembers = [1689391488, 1689391489];
|
|
356
|
+
const mockWallets = [TestDataFactory.createCorporationWallet({ division: 1, balance: 1000000000 })];
|
|
357
|
+
const mockStructures = [TestDataFactory.createCorporationStructure({ structure_id: 1021975535893 })];
|
|
358
|
+
|
|
359
|
+
// Mock all API responses
|
|
360
|
+
jest.spyOn(client.corporations, 'getCorporationInfo').mockResolvedValue(mockCorporation);
|
|
361
|
+
jest.spyOn(client.corporations, 'getCorporationMembers').mockResolvedValue(mockMembers);
|
|
362
|
+
jest.spyOn(client.corporations, 'getCorporationStandings').mockResolvedValue(mockWallets);
|
|
363
|
+
jest.spyOn(client.corporations, 'getCorporationStructures').mockResolvedValue(mockStructures);
|
|
364
|
+
|
|
365
|
+
// When: I gather complete corporation data
|
|
366
|
+
const [corporation, members, wallets, structures] = await Promise.all([
|
|
367
|
+
client.corporations.getCorporationInfo(corporationId),
|
|
368
|
+
client.corporations.getCorporationMembers(corporationId),
|
|
369
|
+
client.corporations.getCorporationStandings(corporationId),
|
|
370
|
+
client.corporations.getCorporationStructures(corporationId)
|
|
371
|
+
]);
|
|
372
|
+
|
|
373
|
+
// Then: I should successfully retrieve all corporation information
|
|
374
|
+
expect(corporation).toBeDefined();
|
|
375
|
+
expect(corporation.corporation_id).toBe(corporationId);
|
|
376
|
+
|
|
377
|
+
expect(members).toBeInstanceOf(Array);
|
|
378
|
+
expect(members.length).toBeGreaterThan(0);
|
|
379
|
+
|
|
380
|
+
expect(wallets).toBeInstanceOf(Array);
|
|
381
|
+
expect(wallets[0].division).toBe(1);
|
|
382
|
+
|
|
383
|
+
expect(structures).toBeInstanceOf(Array);
|
|
384
|
+
expect(structures[0].structure_id).toBe(1021975535893);
|
|
385
|
+
});
|
|
386
|
+
});
|
|
387
|
+
});
|
|
388
|
+
});
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BDD-Style Testing for ETag Caching
|
|
3
|
+
*
|
|
4
|
+
* This demonstrates BDD principles for ETag caching functionality
|
|
5
|
+
* using Given/When/Then patterns.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { EsiClient } from '../../../src/EsiClient';
|
|
9
|
+
import { getETagCache, resetETagCache } from '../../../src/core/ApiRequestHandler';
|
|
10
|
+
import fetchMock from 'jest-fetch-mock';
|
|
11
|
+
|
|
12
|
+
fetchMock.enableMocks();
|
|
13
|
+
|
|
14
|
+
describe('BDD: ETag Caching System', () => {
|
|
15
|
+
let client: EsiClient;
|
|
16
|
+
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
fetchMock.resetMocks();
|
|
19
|
+
|
|
20
|
+
// Reset the global cache to ensure clean state
|
|
21
|
+
resetETagCache();
|
|
22
|
+
|
|
23
|
+
client = new EsiClient({
|
|
24
|
+
clientId: 'test-client',
|
|
25
|
+
baseUrl: 'https://esi.evetech.net',
|
|
26
|
+
enableETagCache: true,
|
|
27
|
+
etagCacheConfig: {
|
|
28
|
+
maxEntries: 50,
|
|
29
|
+
defaultTtl: 300000 // 5 minutes
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
afterEach(() => {
|
|
35
|
+
client.shutdown();
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
describe('Feature: Efficient Data Caching with ETags', () => {
|
|
39
|
+
describe('Scenario: First-time API request caches response', () => {
|
|
40
|
+
it('Given a fresh client with no cached data, When I make an API request that returns an ETag, Then the response should be cached for future use', async () => {
|
|
41
|
+
// Given: A fresh client with no cached data
|
|
42
|
+
const allianceData = [
|
|
43
|
+
{ alliance_id: 99005338, name: 'Goonswarm Federation', ticker: 'CONDI' },
|
|
44
|
+
{ alliance_id: 99005551, name: 'Pandemic Horde', ticker: 'REKTD' }
|
|
45
|
+
];
|
|
46
|
+
const etag = '"1234567890abcdef"';
|
|
47
|
+
|
|
48
|
+
// Mock successful response with ETag
|
|
49
|
+
fetchMock.mockResponseOnce(JSON.stringify(allianceData), {
|
|
50
|
+
headers: {
|
|
51
|
+
'ETag': etag,
|
|
52
|
+
'Content-Type': 'application/json',
|
|
53
|
+
'Cache-Control': 'public, max-age=300'
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
// When: I make an API request that returns an ETag
|
|
58
|
+
const result = await client.alliance.getAlliances();
|
|
59
|
+
|
|
60
|
+
// Then: The response should be cached for future use
|
|
61
|
+
expect(result).toEqual(allianceData);
|
|
62
|
+
|
|
63
|
+
const cache = getETagCache();
|
|
64
|
+
expect(cache).toBeDefined();
|
|
65
|
+
|
|
66
|
+
const cacheStats = client.getCacheStats();
|
|
67
|
+
expect(cacheStats.totalEntries).toBe(1);
|
|
68
|
+
|
|
69
|
+
const cachedETag = cache?.getETag('https://esi.evetech.net/alliances');
|
|
70
|
+
expect(cachedETag).toBe(etag);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
describe('Scenario: Subsequent request with unchanged data returns cached response', () => {
|
|
75
|
+
it('Given cached data with an ETag, When I make the same request and server returns 304 Not Modified, Then I should receive the cached data without a new download', async () => {
|
|
76
|
+
// Given: Cached data with an ETag
|
|
77
|
+
const allianceData = [{ alliance_id: 99005338, name: 'Goonswarm Federation' }];
|
|
78
|
+
const etag = '"cached123"';
|
|
79
|
+
|
|
80
|
+
// First request to populate cache
|
|
81
|
+
fetchMock.mockResponseOnce(JSON.stringify(allianceData), {
|
|
82
|
+
headers: { 'ETag': etag, 'Content-Type': 'application/json' }
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
await client.alliance.getAlliances();
|
|
86
|
+
|
|
87
|
+
// When: I make the same request and server returns 304 Not Modified
|
|
88
|
+
fetchMock.mockResponseOnce('', {
|
|
89
|
+
status: 304,
|
|
90
|
+
headers: { 'ETag': etag }
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
const cachedResult = await client.alliance.getAlliances();
|
|
94
|
+
|
|
95
|
+
// Then: I should receive the cached data without a new download
|
|
96
|
+
expect(cachedResult).toEqual(allianceData);
|
|
97
|
+
expect(fetchMock).toHaveBeenCalledTimes(2);
|
|
98
|
+
|
|
99
|
+
// Verify If-None-Match header was sent
|
|
100
|
+
const secondRequest = fetchMock.mock.calls[1];
|
|
101
|
+
const headers = secondRequest[1]?.headers as Record<string, string>;
|
|
102
|
+
expect(headers['If-None-Match']).toBe(etag);
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
describe('Scenario: Data changes trigger cache update', () => {
|
|
107
|
+
it('Given cached data with an ETag, When the server returns new data with a different ETag, Then the cache should be updated with the new data', async () => {
|
|
108
|
+
// Given: Cached data with an ETag
|
|
109
|
+
const oldData = [{ alliance_id: 1, name: 'Old Alliance' }];
|
|
110
|
+
const newData = [{ alliance_id: 1, name: 'Updated Alliance' }, { alliance_id: 2, name: 'New Alliance' }];
|
|
111
|
+
const oldETag = '"old-etag-123"';
|
|
112
|
+
const newETag = '"new-etag-456"';
|
|
113
|
+
|
|
114
|
+
// First request
|
|
115
|
+
fetchMock.mockResponseOnce(JSON.stringify(oldData), {
|
|
116
|
+
headers: { 'ETag': oldETag }
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
const firstResult = await client.alliance.getAlliances();
|
|
120
|
+
expect(firstResult).toEqual(oldData);
|
|
121
|
+
|
|
122
|
+
// When: The server returns new data with a different ETag
|
|
123
|
+
fetchMock.mockResponseOnce(JSON.stringify(newData), {
|
|
124
|
+
headers: { 'ETag': newETag }
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
const updatedResult = await client.alliance.getAlliances();
|
|
128
|
+
|
|
129
|
+
// Then: The cache should be updated with the new data
|
|
130
|
+
expect(updatedResult).toEqual(newData);
|
|
131
|
+
|
|
132
|
+
const cache = getETagCache();
|
|
133
|
+
const cachedETag = cache?.getETag('https://esi.evetech.net/alliances');
|
|
134
|
+
expect(cachedETag).toBe(newETag);
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
describe('Feature: Cache Management and Performance', () => {
|
|
140
|
+
describe('Scenario: Cache statistics provide insight into performance', () => {
|
|
141
|
+
it('Given multiple cached responses, When I request cache statistics, Then I should receive detailed information about cache usage', async () => {
|
|
142
|
+
// Given: Multiple cached responses
|
|
143
|
+
const endpoints = [
|
|
144
|
+
{ endpoint: 'alliances', data: [{ id: 1 }] },
|
|
145
|
+
{ endpoint: 'status', data: { status: 'ok' } }
|
|
146
|
+
];
|
|
147
|
+
|
|
148
|
+
for (let i = 0; i < endpoints.length; i++) {
|
|
149
|
+
fetchMock.mockResponseOnce(JSON.stringify(endpoints[i].data), {
|
|
150
|
+
headers: { 'ETag': `"etag-${i}"` }
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
await client.alliance.getAlliances();
|
|
155
|
+
await client.status.getStatus();
|
|
156
|
+
|
|
157
|
+
// When: I request cache statistics
|
|
158
|
+
const stats = client.getCacheStats();
|
|
159
|
+
|
|
160
|
+
// Then: I should receive detailed information about cache usage
|
|
161
|
+
expect(stats).toBeDefined();
|
|
162
|
+
expect(stats.totalEntries).toBe(2);
|
|
163
|
+
expect(stats.maxEntries).toBe(50);
|
|
164
|
+
expect(stats.oldestEntry).toBeDefined();
|
|
165
|
+
expect(stats.newestEntry).toBeDefined();
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
describe('Scenario: Cache can be manually cleared', () => {
|
|
170
|
+
it('Given a cache with stored responses, When I clear the cache, Then all cached data should be removed', async () => {
|
|
171
|
+
// Given: A cache with stored responses
|
|
172
|
+
fetchMock.mockResponseOnce(JSON.stringify([]), {
|
|
173
|
+
headers: { 'ETag': '"test-etag"' }
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
await client.alliance.getAlliances();
|
|
177
|
+
expect(client.getCacheStats().totalEntries).toBe(1);
|
|
178
|
+
|
|
179
|
+
// When: I clear the cache
|
|
180
|
+
client.clearCache();
|
|
181
|
+
|
|
182
|
+
// Then: All cached data should be removed
|
|
183
|
+
expect(client.getCacheStats().totalEntries).toBe(0);
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
describe('Scenario: Cache configuration can be updated at runtime', () => {
|
|
188
|
+
it('Given a client with initial cache settings, When I update the cache configuration, Then the new settings should take effect', async () => {
|
|
189
|
+
// Given: A client with initial cache settings
|
|
190
|
+
const initialStats = client.getCacheStats();
|
|
191
|
+
expect(initialStats.maxEntries).toBe(50);
|
|
192
|
+
|
|
193
|
+
// When: I update the cache configuration
|
|
194
|
+
client.updateCacheConfig({
|
|
195
|
+
maxEntries: 100,
|
|
196
|
+
defaultTtl: 600000 // 10 minutes
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
// Then: The new settings should take effect
|
|
200
|
+
const updatedStats = client.getCacheStats();
|
|
201
|
+
expect(updatedStats.maxEntries).toBe(100);
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
describe('Feature: Error Handling and Edge Cases', () => {
|
|
207
|
+
describe('Scenario: Handle server errors gracefully with caching', () => {
|
|
208
|
+
it('Given a cached response, When the server returns an error, Then the cached data should still be available', async () => {
|
|
209
|
+
// Given: A cached response
|
|
210
|
+
const validData = [{ alliance_id: 1, name: 'Test Alliance' }];
|
|
211
|
+
const etag = '"valid-etag"';
|
|
212
|
+
|
|
213
|
+
fetchMock.mockResponseOnce(JSON.stringify(validData), {
|
|
214
|
+
headers: { 'ETag': etag }
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
const firstResult = await client.alliance.getAlliances();
|
|
218
|
+
expect(firstResult).toEqual(validData);
|
|
219
|
+
|
|
220
|
+
// When: The server returns an error
|
|
221
|
+
fetchMock.mockResponseOnce('Server Error', { status: 500 });
|
|
222
|
+
|
|
223
|
+
// Then: The request should return an error, but cached data should still be available
|
|
224
|
+
const errorResult = await client.alliance.getAlliances() as any;
|
|
225
|
+
expect(errorResult).toHaveProperty('error');
|
|
226
|
+
expect(errorResult.error).toBe('internal server error');
|
|
227
|
+
|
|
228
|
+
const cache = getETagCache();
|
|
229
|
+
const cachedEntry = cache?.get('https://esi.evetech.net/alliances');
|
|
230
|
+
expect(cachedEntry).toBeDefined();
|
|
231
|
+
expect(cachedEntry?.data).toEqual(validData);
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
describe('Scenario: Handle missing ETag headers gracefully', () => {
|
|
236
|
+
it('Given a server response without ETag headers, When I make requests, Then the system should work normally without caching', async () => {
|
|
237
|
+
// Given: A server response without ETag headers
|
|
238
|
+
const data = [{ alliance_id: 1, name: 'Test Alliance' }];
|
|
239
|
+
|
|
240
|
+
fetchMock.mockResponseOnce(JSON.stringify(data), {
|
|
241
|
+
headers: { 'Content-Type': 'application/json' }
|
|
242
|
+
// No ETag header
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
// When: I make requests
|
|
246
|
+
const result = await client.alliance.getAlliances();
|
|
247
|
+
|
|
248
|
+
// Then: The system should work normally without caching
|
|
249
|
+
expect(result).toEqual(data);
|
|
250
|
+
expect(client.getCacheStats().totalEntries).toBe(0); // Nothing cached
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
describe('Feature: Cache Disabled Scenario', () => {
|
|
256
|
+
describe('Scenario: Client works normally with caching disabled', () => {
|
|
257
|
+
it('Given a client with ETag caching disabled, When I make API requests, Then responses should be returned normally without caching', async () => {
|
|
258
|
+
// Given: A client with ETag caching disabled
|
|
259
|
+
const clientWithoutCache = new EsiClient({
|
|
260
|
+
enableETagCache: false
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
const data = [{ alliance_id: 1, name: 'Test Alliance' }];
|
|
264
|
+
|
|
265
|
+
fetchMock.mockResponseOnce(JSON.stringify(data), {
|
|
266
|
+
headers: { 'ETag': '"should-not-be-cached"' }
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
// When: I make API requests
|
|
270
|
+
const result = await clientWithoutCache.alliance.getAlliances();
|
|
271
|
+
|
|
272
|
+
// Then: Responses should be returned normally without caching
|
|
273
|
+
expect(result).toEqual(data);
|
|
274
|
+
expect(clientWithoutCache.getCacheStats()).toBeNull();
|
|
275
|
+
|
|
276
|
+
clientWithoutCache.shutdown();
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
});
|
|
280
|
+
});
|