@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,346 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BDD Scenarios: Character Management
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive behavior-driven tests for Character-related APIs
|
|
5
|
+
* covering public information, portraits, roles, and other available endpoints.
|
|
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: Character Management', () => {
|
|
13
|
+
let client: EsiClient;
|
|
14
|
+
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
client = new EsiClient({
|
|
17
|
+
clientId: 'test-character-client',
|
|
18
|
+
baseUrl: 'https://esi.evetech.net',
|
|
19
|
+
timeout: 5000
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
describe('Feature: Character Public Information', () => {
|
|
24
|
+
describe('Scenario: Retrieve character public profile', () => {
|
|
25
|
+
it('Given a valid character ID, When I request public information, Then I should receive complete character profile', async () => {
|
|
26
|
+
// Given: A valid character ID
|
|
27
|
+
const validCharacterId = 1689391488;
|
|
28
|
+
const expectedCharacter = TestDataFactory.createCharacterInfo({
|
|
29
|
+
character_id: validCharacterId,
|
|
30
|
+
name: 'Test Character',
|
|
31
|
+
corporation_id: 1344654522,
|
|
32
|
+
alliance_id: 99005338
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// Mock the API response
|
|
36
|
+
jest.spyOn(client.characters, 'getCharacterPublicInfo').mockResolvedValue(expectedCharacter);
|
|
37
|
+
|
|
38
|
+
// When: I request public information
|
|
39
|
+
const result = await client.characters.getCharacterPublicInfo(validCharacterId);
|
|
40
|
+
|
|
41
|
+
// Then: I should receive complete character profile
|
|
42
|
+
expect(result).toBeDefined();
|
|
43
|
+
expect(result.character_id).toBe(validCharacterId);
|
|
44
|
+
expect(result.name).toBe('Test Character');
|
|
45
|
+
expect(result).toHaveProperty('corporation_id');
|
|
46
|
+
expect(result).toHaveProperty('alliance_id');
|
|
47
|
+
expect(result).toHaveProperty('birthday');
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
describe('Scenario: Handle non-existent character', () => {
|
|
52
|
+
it('Given an invalid character ID, When I request public information, Then I should receive a not found error', async () => {
|
|
53
|
+
// Given: An invalid character ID
|
|
54
|
+
const invalidCharacterId = 999999999;
|
|
55
|
+
const expectedError = TestDataFactory.createError(ApiErrorType.NOT_FOUND_ERROR, 404);
|
|
56
|
+
|
|
57
|
+
// Mock the API to throw an error
|
|
58
|
+
jest.spyOn(client.characters, 'getCharacterPublicInfo').mockRejectedValue(expectedError);
|
|
59
|
+
|
|
60
|
+
// When & Then: I request character info and expect an error
|
|
61
|
+
await expect(client.characters.getCharacterPublicInfo(invalidCharacterId))
|
|
62
|
+
.rejects
|
|
63
|
+
.toThrow(ApiError);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
describe('Feature: Character Portrait Management', () => {
|
|
69
|
+
describe('Scenario: Retrieve character portraits', () => {
|
|
70
|
+
it('Given a valid character ID, When I request portraits, Then I should receive image URLs in different sizes', async () => {
|
|
71
|
+
// Given: A valid character ID
|
|
72
|
+
const characterId = 1689391488;
|
|
73
|
+
const expectedPortrait = TestDataFactory.createCharacterPortrait();
|
|
74
|
+
|
|
75
|
+
// Mock the API response
|
|
76
|
+
jest.spyOn(client.characters, 'getCharacterPortrait').mockResolvedValue(expectedPortrait);
|
|
77
|
+
|
|
78
|
+
// When: I request portraits
|
|
79
|
+
const result = await client.characters.getCharacterPortrait(characterId);
|
|
80
|
+
|
|
81
|
+
// Then: I should receive image URLs in different sizes
|
|
82
|
+
expect(result).toBeDefined();
|
|
83
|
+
expect(result).toHaveProperty('px64x64');
|
|
84
|
+
expect(result).toHaveProperty('px128x128');
|
|
85
|
+
expect(result).toHaveProperty('px256x256');
|
|
86
|
+
expect(result).toHaveProperty('px512x512');
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
describe('Feature: Character Roles and Permissions', () => {
|
|
92
|
+
describe('Scenario: Retrieve character roles', () => {
|
|
93
|
+
it('Given an authenticated character, When I request roles, Then I should receive role information', async () => {
|
|
94
|
+
// Given: An authenticated character
|
|
95
|
+
const characterId = 1689391488;
|
|
96
|
+
const expectedRoles = TestDataFactory.createCharacterRoles({
|
|
97
|
+
roles: ['Director', 'Personnel_Manager'],
|
|
98
|
+
roles_at_base: ['Station_Manager'],
|
|
99
|
+
roles_at_hq: ['Director'],
|
|
100
|
+
roles_at_other: []
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// Mock the API response
|
|
104
|
+
jest.spyOn(client.characters, 'getCharacterRoles').mockResolvedValue(expectedRoles);
|
|
105
|
+
|
|
106
|
+
// When: I request roles
|
|
107
|
+
const result = await client.characters.getCharacterRoles(characterId);
|
|
108
|
+
|
|
109
|
+
// Then: I should receive role information
|
|
110
|
+
expect(result).toBeDefined();
|
|
111
|
+
expect(result).toHaveProperty('roles');
|
|
112
|
+
expect(result.roles).toBeInstanceOf(Array);
|
|
113
|
+
expect(result.roles).toContain('Director');
|
|
114
|
+
expect(result.roles).toContain('Personnel_Manager');
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
describe('Feature: Character History and Records', () => {
|
|
120
|
+
describe('Scenario: Retrieve corporation history', () => {
|
|
121
|
+
it('Given a character ID, When I request corporation history, Then I should receive employment history', async () => {
|
|
122
|
+
// Given: A character ID
|
|
123
|
+
const characterId = 1689391488;
|
|
124
|
+
const expectedHistory = [
|
|
125
|
+
TestDataFactory.createCorporationHistoryEntry({
|
|
126
|
+
corporation_id: 1344654522,
|
|
127
|
+
is_deleted: false,
|
|
128
|
+
record_id: 1,
|
|
129
|
+
start_date: '2020-01-01T00:00:00Z'
|
|
130
|
+
}),
|
|
131
|
+
TestDataFactory.createCorporationHistoryEntry({
|
|
132
|
+
corporation_id: 1000001,
|
|
133
|
+
is_deleted: false,
|
|
134
|
+
record_id: 2,
|
|
135
|
+
start_date: '2015-01-01T00:00:00Z'
|
|
136
|
+
})
|
|
137
|
+
];
|
|
138
|
+
|
|
139
|
+
// Mock the API response
|
|
140
|
+
jest.spyOn(client.characters, 'getCharacterCorporationHistory').mockResolvedValue(expectedHistory);
|
|
141
|
+
|
|
142
|
+
// When: I request corporation history
|
|
143
|
+
const result = await client.characters.getCharacterCorporationHistory(characterId);
|
|
144
|
+
|
|
145
|
+
// Then: I should receive employment history
|
|
146
|
+
expect(result).toBeInstanceOf(Array);
|
|
147
|
+
expect(result.length).toBeGreaterThan(0);
|
|
148
|
+
expect(result[0]).toHaveProperty('corporation_id');
|
|
149
|
+
expect(result[0]).toHaveProperty('start_date');
|
|
150
|
+
expect(result[0]).toHaveProperty('record_id');
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
describe('Scenario: Retrieve character medals', () => {
|
|
155
|
+
it('Given a character ID, When I request medals, Then I should receive medal information', async () => {
|
|
156
|
+
// Given: A character ID
|
|
157
|
+
const characterId = 1689391488;
|
|
158
|
+
const expectedMedals = [
|
|
159
|
+
TestDataFactory.createCharacterMedal({
|
|
160
|
+
medal_id: 1,
|
|
161
|
+
title: 'Test Medal',
|
|
162
|
+
description: 'A test medal for demonstration',
|
|
163
|
+
corporation_id: 1344654522,
|
|
164
|
+
date: '2023-01-01T00:00:00Z',
|
|
165
|
+
issuer_id: 1689391489,
|
|
166
|
+
reason: 'Outstanding service'
|
|
167
|
+
})
|
|
168
|
+
];
|
|
169
|
+
|
|
170
|
+
// Mock the API response
|
|
171
|
+
jest.spyOn(client.characters, 'getCharacterMedals').mockResolvedValue(expectedMedals);
|
|
172
|
+
|
|
173
|
+
// When: I request medals
|
|
174
|
+
const result = await client.characters.getCharacterMedals(characterId);
|
|
175
|
+
|
|
176
|
+
// Then: I should receive medal information
|
|
177
|
+
expect(result).toBeInstanceOf(Array);
|
|
178
|
+
expect(result[0]).toHaveProperty('medal_id');
|
|
179
|
+
expect(result[0]).toHaveProperty('title');
|
|
180
|
+
expect(result[0]).toHaveProperty('description');
|
|
181
|
+
expect(result[0]).toHaveProperty('date');
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
describe('Feature: Character Notifications', () => {
|
|
187
|
+
describe('Scenario: Retrieve character notifications', () => {
|
|
188
|
+
it('Given an authenticated character, When I request notifications, Then I should receive notification list', async () => {
|
|
189
|
+
// Given: An authenticated character
|
|
190
|
+
const characterId = 1689391488;
|
|
191
|
+
const expectedNotifications = [
|
|
192
|
+
TestDataFactory.createCharacterNotification({
|
|
193
|
+
notification_id: 1000001,
|
|
194
|
+
sender_id: 1689391489,
|
|
195
|
+
sender_type: 'character',
|
|
196
|
+
text: 'Test notification',
|
|
197
|
+
timestamp: '2024-01-15T12:00:00Z',
|
|
198
|
+
type: 'AllWarDeclaredMsg',
|
|
199
|
+
is_read: false
|
|
200
|
+
})
|
|
201
|
+
];
|
|
202
|
+
|
|
203
|
+
// Mock the API response
|
|
204
|
+
jest.spyOn(client.characters, 'getCharacterNotifications').mockResolvedValue(expectedNotifications);
|
|
205
|
+
|
|
206
|
+
// When: I request notifications
|
|
207
|
+
const result = await client.characters.getCharacterNotifications(characterId);
|
|
208
|
+
|
|
209
|
+
// Then: I should receive notification list
|
|
210
|
+
expect(result).toBeInstanceOf(Array);
|
|
211
|
+
expect(result[0]).toHaveProperty('notification_id');
|
|
212
|
+
expect(result[0]).toHaveProperty('sender_id');
|
|
213
|
+
expect(result[0]).toHaveProperty('type');
|
|
214
|
+
expect(result[0]).toHaveProperty('timestamp');
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
describe('Feature: Character Authentication and Authorization', () => {
|
|
220
|
+
describe('Scenario: Handle unauthorized access', () => {
|
|
221
|
+
it('Given an unauthenticated request, When I access private data, Then I should receive an authorization error', async () => {
|
|
222
|
+
// Given: An unauthenticated request
|
|
223
|
+
const characterId = 1689391488;
|
|
224
|
+
const authError = TestDataFactory.createError(ApiErrorType.AUTHORIZATION_ERROR, 403);
|
|
225
|
+
|
|
226
|
+
// Mock the API to throw an authorization error
|
|
227
|
+
jest.spyOn(client.characters, 'getCharacterRoles').mockRejectedValue(authError);
|
|
228
|
+
|
|
229
|
+
// When & Then: I access private data and expect an authorization error
|
|
230
|
+
await expect(client.characters.getCharacterRoles(characterId))
|
|
231
|
+
.rejects
|
|
232
|
+
.toThrow(ApiError);
|
|
233
|
+
});
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
describe('Scenario: Handle expired authentication', () => {
|
|
237
|
+
it('Given an expired token, When I access private data, Then I should receive an authentication error', async () => {
|
|
238
|
+
// Given: An expired token
|
|
239
|
+
const characterId = 1689391488;
|
|
240
|
+
const authError = TestDataFactory.createError(ApiErrorType.AUTHENTICATION_ERROR, 401);
|
|
241
|
+
|
|
242
|
+
// Mock the API to throw an authentication error
|
|
243
|
+
jest.spyOn(client.characters, 'getCharacterNotifications').mockRejectedValue(authError);
|
|
244
|
+
|
|
245
|
+
// When & Then: I access private data and expect an authentication error
|
|
246
|
+
await expect(client.characters.getCharacterNotifications(characterId))
|
|
247
|
+
.rejects
|
|
248
|
+
.toThrow(ApiError);
|
|
249
|
+
});
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
describe('Feature: Character Performance and Reliability', () => {
|
|
254
|
+
describe('Scenario: Handle high-frequency character requests', () => {
|
|
255
|
+
it('Given multiple concurrent character requests, When I make them simultaneously, Then all should complete successfully', async () => {
|
|
256
|
+
// Given: Multiple concurrent character requests
|
|
257
|
+
const characterIds = [1689391488, 1689391489, 1689391490];
|
|
258
|
+
const mockCharacters = characterIds.map(id =>
|
|
259
|
+
TestDataFactory.createCharacterInfo({ character_id: id, name: `Character ${id}` })
|
|
260
|
+
);
|
|
261
|
+
|
|
262
|
+
// Mock the API responses
|
|
263
|
+
jest.spyOn(client.characters, 'getCharacterPublicInfo')
|
|
264
|
+
.mockImplementation(async (id: number) =>
|
|
265
|
+
mockCharacters.find(char => char.character_id === id)!
|
|
266
|
+
);
|
|
267
|
+
|
|
268
|
+
// When: I make them simultaneously
|
|
269
|
+
const promises = characterIds.map(id => client.characters.getCharacterPublicInfo(id));
|
|
270
|
+
const results = await Promise.all(promises);
|
|
271
|
+
|
|
272
|
+
// Then: All should complete successfully
|
|
273
|
+
expect(results).toHaveLength(3);
|
|
274
|
+
results.forEach((result: any, index: number) => {
|
|
275
|
+
expect(result.character_id).toBe(characterIds[index]);
|
|
276
|
+
expect(result.name).toBe(`Character ${characterIds[index]}`);
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
describe('Scenario: Measure character API response times', () => {
|
|
282
|
+
it('Given normal API conditions, When I request character data, Then response should be within acceptable limits', async () => {
|
|
283
|
+
// Given: Normal API conditions
|
|
284
|
+
const characterId = 1689391488;
|
|
285
|
+
const mockCharacter = TestDataFactory.createCharacterInfo({ character_id: characterId });
|
|
286
|
+
|
|
287
|
+
// Mock with simulated network delay
|
|
288
|
+
jest.spyOn(client.characters, 'getCharacterPublicInfo').mockImplementation(async () => {
|
|
289
|
+
await new Promise(resolve => setTimeout(resolve, 150)); // 150ms delay
|
|
290
|
+
return mockCharacter;
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
// When: I request character data and measure time
|
|
294
|
+
const startTime = Date.now();
|
|
295
|
+
const result = await client.characters.getCharacterPublicInfo(characterId);
|
|
296
|
+
const endTime = Date.now();
|
|
297
|
+
const responseTime = endTime - startTime;
|
|
298
|
+
|
|
299
|
+
// Then: Response should be within acceptable limits
|
|
300
|
+
expect(result).toBeDefined();
|
|
301
|
+
expect(responseTime).toBeLessThan(5000); // Should complete within 5 seconds
|
|
302
|
+
expect(responseTime).toBeGreaterThan(100); // Should take at least 100ms (due to mock delay)
|
|
303
|
+
});
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
|
|
307
|
+
describe('Feature: Character Data Integration', () => {
|
|
308
|
+
describe('Scenario: Complete character profile assembly', () => {
|
|
309
|
+
it('Given a character ID, When I gather complete profile data, Then I should successfully retrieve all available character information', async () => {
|
|
310
|
+
// Given: A character ID
|
|
311
|
+
const characterId = 1689391488;
|
|
312
|
+
const mockCharacter = TestDataFactory.createCharacterInfo({ character_id: characterId });
|
|
313
|
+
const mockPortrait = TestDataFactory.createCharacterPortrait();
|
|
314
|
+
const mockRoles = TestDataFactory.createCharacterRoles({ roles: ['Director'] });
|
|
315
|
+
const mockNotifications = [TestDataFactory.createCharacterNotification({ notification_id: 1000001 })];
|
|
316
|
+
|
|
317
|
+
// Mock all API responses
|
|
318
|
+
jest.spyOn(client.characters, 'getCharacterPublicInfo').mockResolvedValue(mockCharacter);
|
|
319
|
+
jest.spyOn(client.characters, 'getCharacterPortrait').mockResolvedValue(mockPortrait);
|
|
320
|
+
jest.spyOn(client.characters, 'getCharacterRoles').mockResolvedValue(mockRoles);
|
|
321
|
+
jest.spyOn(client.characters, 'getCharacterNotifications').mockResolvedValue(mockNotifications);
|
|
322
|
+
|
|
323
|
+
// When: I gather complete profile data
|
|
324
|
+
const [character, portrait, roles, notifications] = await Promise.all([
|
|
325
|
+
client.characters.getCharacterPublicInfo(characterId),
|
|
326
|
+
client.characters.getCharacterPortrait(characterId),
|
|
327
|
+
client.characters.getCharacterRoles(characterId),
|
|
328
|
+
client.characters.getCharacterNotifications(characterId)
|
|
329
|
+
]);
|
|
330
|
+
|
|
331
|
+
// Then: I should successfully retrieve all available character information
|
|
332
|
+
expect(character).toBeDefined();
|
|
333
|
+
expect(character.character_id).toBe(characterId);
|
|
334
|
+
|
|
335
|
+
expect(portrait).toBeDefined();
|
|
336
|
+
expect(portrait.px64x64).toBeDefined();
|
|
337
|
+
|
|
338
|
+
expect(roles).toBeDefined();
|
|
339
|
+
expect(roles.roles).toContain('Director');
|
|
340
|
+
|
|
341
|
+
expect(notifications).toBeInstanceOf(Array);
|
|
342
|
+
expect(notifications[0].notification_id).toBe(1000001);
|
|
343
|
+
});
|
|
344
|
+
});
|
|
345
|
+
});
|
|
346
|
+
});
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BDD-Style Testing for Clones API (Jump Clone Activation)
|
|
3
|
+
*
|
|
4
|
+
* This demonstrates BDD principles for the Clones API jump activation
|
|
5
|
+
* using Given/When/Then patterns.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { EsiClient } from '../../../src/EsiClient';
|
|
9
|
+
import { ApiError, ApiErrorType } from '../../../src/core/errors/ApiError';
|
|
10
|
+
|
|
11
|
+
describe('BDD: Clone Management', () => {
|
|
12
|
+
let client: EsiClient;
|
|
13
|
+
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
client = new EsiClient({
|
|
16
|
+
clientId: 'test-client',
|
|
17
|
+
baseUrl: 'https://esi.evetech.net',
|
|
18
|
+
accessToken: 'mock-access-token',
|
|
19
|
+
timeout: 5000
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
describe('Feature: Jump Clone Activation', () => {
|
|
24
|
+
describe('Scenario: Activate a valid jump clone', () => {
|
|
25
|
+
it('Given a valid character with available jump clones, When I activate a specific jump clone, Then the jump should be successful', async () => {
|
|
26
|
+
// Given: A valid character with available jump clones
|
|
27
|
+
const characterId = 90000001;
|
|
28
|
+
const jumpCloneId = 12345;
|
|
29
|
+
const expectedResponse = {
|
|
30
|
+
success: true,
|
|
31
|
+
jump_clone_id: jumpCloneId,
|
|
32
|
+
location_id: 60003760,
|
|
33
|
+
location_name: 'Jita IV - Moon 4 - Caldari Navy Assembly Plant'
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// Mock the API response
|
|
37
|
+
jest.spyOn(client.clones, 'activateJumpClone').mockResolvedValue(expectedResponse);
|
|
38
|
+
|
|
39
|
+
// When: I activate a specific jump clone
|
|
40
|
+
const result = await client.clones.activateJumpClone(characterId, jumpCloneId);
|
|
41
|
+
|
|
42
|
+
// Then: The jump should be successful
|
|
43
|
+
expect(result).toBeDefined();
|
|
44
|
+
expect(result.success).toBe(true);
|
|
45
|
+
expect(result.jump_clone_id).toBe(jumpCloneId);
|
|
46
|
+
expect(result).toHaveProperty('location_id');
|
|
47
|
+
expect(result).toHaveProperty('location_name');
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
describe('Scenario: Handle jump clone cooldown', () => {
|
|
52
|
+
it('Given a character with jump clone cooldown active, When I attempt to activate a jump clone, Then I should receive a cooldown error', async () => {
|
|
53
|
+
// Given: A character with jump clone cooldown active
|
|
54
|
+
const characterId = 90000001;
|
|
55
|
+
const jumpCloneId = 12345;
|
|
56
|
+
const cooldownError = new ApiError('Jump clone cooldown active', ApiErrorType.RATE_LIMIT_ERROR, 429);
|
|
57
|
+
|
|
58
|
+
// Mock the API error
|
|
59
|
+
jest.spyOn(client.clones, 'activateJumpClone').mockRejectedValue(cooldownError);
|
|
60
|
+
|
|
61
|
+
// When & Then: I attempt to activate and should receive an error
|
|
62
|
+
await expect(client.clones.activateJumpClone(characterId, jumpCloneId)).rejects.toThrow('Jump clone cooldown active');
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
describe('Scenario: Handle non-existent jump clone', () => {
|
|
67
|
+
it('Given a non-existent jump clone ID, When I attempt to activate it, Then I should receive a not found error', async () => {
|
|
68
|
+
// Given: A non-existent jump clone ID
|
|
69
|
+
const characterId = 90000001;
|
|
70
|
+
const invalidJumpCloneId = 99999999;
|
|
71
|
+
const notFoundError = new ApiError('Jump clone not found', ApiErrorType.NOT_FOUND_ERROR, 404);
|
|
72
|
+
|
|
73
|
+
// Mock the API error
|
|
74
|
+
jest.spyOn(client.clones, 'activateJumpClone').mockRejectedValue(notFoundError);
|
|
75
|
+
|
|
76
|
+
// When & Then: I attempt to activate and should receive an error
|
|
77
|
+
await expect(client.clones.activateJumpClone(characterId, invalidJumpCloneId)).rejects.toThrow('Jump clone not found');
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
describe('Scenario: Handle character in space', () => {
|
|
82
|
+
it('Given a character currently in space, When I attempt to activate a jump clone, Then I should receive an invalid location error', async () => {
|
|
83
|
+
// Given: A character currently in space
|
|
84
|
+
const characterId = 90000001;
|
|
85
|
+
const jumpCloneId = 12345;
|
|
86
|
+
const locationError = new ApiError('Cannot jump clone while in space', ApiErrorType.CLIENT_ERROR, 400);
|
|
87
|
+
|
|
88
|
+
// Mock the API error
|
|
89
|
+
jest.spyOn(client.clones, 'activateJumpClone').mockRejectedValue(locationError);
|
|
90
|
+
|
|
91
|
+
// When & Then: I attempt to activate and should receive an error
|
|
92
|
+
await expect(client.clones.activateJumpClone(characterId, jumpCloneId)).rejects.toThrow('Cannot jump clone while in space');
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
describe('Feature: Authentication and Authorization', () => {
|
|
98
|
+
describe('Scenario: Verify proper character ownership', () => {
|
|
99
|
+
it('Given a character ID that I do not own, When I attempt to activate their jump clone, Then I should receive an unauthorized error', async () => {
|
|
100
|
+
// Given: A character ID that I do not own
|
|
101
|
+
const unauthorizedCharacterId = 90000002;
|
|
102
|
+
const jumpCloneId = 12345;
|
|
103
|
+
const unauthorizedError = new ApiError('Character not owned by token', ApiErrorType.AUTHORIZATION_ERROR, 403);
|
|
104
|
+
|
|
105
|
+
// Mock the API error
|
|
106
|
+
jest.spyOn(client.clones, 'activateJumpClone').mockRejectedValue(unauthorizedError);
|
|
107
|
+
|
|
108
|
+
// When & Then: I attempt to activate and should receive an error
|
|
109
|
+
await expect(client.clones.activateJumpClone(unauthorizedCharacterId, jumpCloneId)).rejects.toThrow('Character not owned by token');
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
describe('Scenario: Verify required scopes', () => {
|
|
114
|
+
it('Given an access token without required scopes, When I attempt to activate a jump clone, Then I should receive a scope error', async () => {
|
|
115
|
+
// Given: An access token without required scopes
|
|
116
|
+
const characterId = 90000001;
|
|
117
|
+
const jumpCloneId = 12345;
|
|
118
|
+
const scopeError = new ApiError('Required scope missing: esi-clones.jump_clones.v1', ApiErrorType.AUTHORIZATION_ERROR, 403);
|
|
119
|
+
|
|
120
|
+
// Mock the API error
|
|
121
|
+
jest.spyOn(client.clones, 'activateJumpClone').mockRejectedValue(scopeError);
|
|
122
|
+
|
|
123
|
+
// When & Then: I attempt to activate and should receive an error
|
|
124
|
+
await expect(client.clones.activateJumpClone(characterId, jumpCloneId)).rejects.toThrow('Required scope missing: esi-clones.jump_clones.v1');
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
describe('Feature: Jump Clone Workflow', () => {
|
|
130
|
+
describe('Scenario: Complete jump clone workflow', () => {
|
|
131
|
+
it('Given a character with multiple jump clones, When I list clones and then activate one, Then the workflow should complete successfully', async () => {
|
|
132
|
+
// Given: A character with multiple jump clones
|
|
133
|
+
const characterId = 90000001;
|
|
134
|
+
const availableClones = [
|
|
135
|
+
{ jump_clone_id: 12345, location_id: 60003760, name: 'Jita Clone' },
|
|
136
|
+
{ jump_clone_id: 12346, location_id: 60008494, name: 'Amarr Clone' }
|
|
137
|
+
];
|
|
138
|
+
const selectedCloneId = 12345;
|
|
139
|
+
const activationResponse = { success: true, jump_clone_id: selectedCloneId };
|
|
140
|
+
|
|
141
|
+
// Mock both API responses
|
|
142
|
+
jest.spyOn(client.clones, 'getClones').mockResolvedValue({ jump_clones: availableClones });
|
|
143
|
+
jest.spyOn(client.clones, 'activateJumpClone').mockResolvedValue(activationResponse);
|
|
144
|
+
|
|
145
|
+
// When: I list clones and then activate one
|
|
146
|
+
const clones = await client.clones.getClones(characterId);
|
|
147
|
+
const selectedClone = clones.jump_clones.find((clone: any) => clone.jump_clone_id === selectedCloneId);
|
|
148
|
+
const result = await client.clones.activateJumpClone(characterId, selectedCloneId);
|
|
149
|
+
|
|
150
|
+
// Then: The workflow should complete successfully
|
|
151
|
+
expect(clones.jump_clones).toHaveLength(2);
|
|
152
|
+
expect(selectedClone).toBeDefined();
|
|
153
|
+
expect(selectedClone.name).toBe('Jita Clone');
|
|
154
|
+
expect(result.success).toBe(true);
|
|
155
|
+
expect(result.jump_clone_id).toBe(selectedCloneId);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
});
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BDD-Style Testing for Corporation Projects API
|
|
3
|
+
*
|
|
4
|
+
* This demonstrates BDD principles for the Corporation Projects API
|
|
5
|
+
* using Given/When/Then patterns.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { EsiClient } from '../../../src/EsiClient';
|
|
9
|
+
import { ApiError, ApiErrorType } from '../../../src/core/errors/ApiError';
|
|
10
|
+
|
|
11
|
+
describe('BDD: Corporation Projects Management', () => {
|
|
12
|
+
let client: EsiClient;
|
|
13
|
+
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
client = new EsiClient({
|
|
16
|
+
clientId: 'test-client',
|
|
17
|
+
baseUrl: 'https://esi.evetech.net',
|
|
18
|
+
accessToken: 'mock-access-token',
|
|
19
|
+
timeout: 5000
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
describe('Feature: Retrieve Corporation Projects', () => {
|
|
24
|
+
describe('Scenario: Get projects for a valid corporation', () => {
|
|
25
|
+
it('Given a valid corporation ID and proper authentication, When I request corporation projects, Then I should receive a list of active projects', async () => {
|
|
26
|
+
// Given: A valid corporation ID and proper authentication
|
|
27
|
+
const corporationId = 98000001;
|
|
28
|
+
const expectedProjects = [
|
|
29
|
+
{
|
|
30
|
+
project_id: 1,
|
|
31
|
+
name: 'Mining Operation Alpha',
|
|
32
|
+
description: 'Large-scale mining operation in nullsec',
|
|
33
|
+
status: 'active',
|
|
34
|
+
created_date: '2024-01-15T10:00:00Z',
|
|
35
|
+
completion_date: null,
|
|
36
|
+
participants: 15
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
project_id: 2,
|
|
40
|
+
name: 'Defense Infrastructure',
|
|
41
|
+
description: 'Establishing defensive structures',
|
|
42
|
+
status: 'in_progress',
|
|
43
|
+
created_date: '2024-01-10T14:30:00Z',
|
|
44
|
+
completion_date: null,
|
|
45
|
+
participants: 8
|
|
46
|
+
}
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
// Mock the API response
|
|
50
|
+
jest.spyOn(client.corporations, 'getCorporationProjects').mockResolvedValue(expectedProjects);
|
|
51
|
+
|
|
52
|
+
// When: I request corporation projects
|
|
53
|
+
const result = await client.corporations.getCorporationProjects(corporationId);
|
|
54
|
+
|
|
55
|
+
// Then: I should receive a list of active projects
|
|
56
|
+
expect(result).toBeDefined();
|
|
57
|
+
expect(Array.isArray(result)).toBe(true);
|
|
58
|
+
expect(result).toHaveLength(2);
|
|
59
|
+
expect(result[0]).toHaveProperty('project_id');
|
|
60
|
+
expect(result[0]).toHaveProperty('name');
|
|
61
|
+
expect(result[0]).toHaveProperty('status');
|
|
62
|
+
expect(result[0].name).toBe('Mining Operation Alpha');
|
|
63
|
+
expect(result[1].name).toBe('Defense Infrastructure');
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
describe('Scenario: Handle corporation with no projects', () => {
|
|
68
|
+
it('Given a corporation with no active projects, When I request corporation projects, Then I should receive an empty list', async () => {
|
|
69
|
+
// Given: A corporation with no active projects
|
|
70
|
+
const corporationId = 98000002;
|
|
71
|
+
const expectedProjects: any[] = [];
|
|
72
|
+
|
|
73
|
+
// Mock the API response
|
|
74
|
+
jest.spyOn(client.corporations, 'getCorporationProjects').mockResolvedValue(expectedProjects);
|
|
75
|
+
|
|
76
|
+
// When: I request corporation projects
|
|
77
|
+
const result = await client.corporations.getCorporationProjects(corporationId);
|
|
78
|
+
|
|
79
|
+
// Then: I should receive an empty list
|
|
80
|
+
expect(result).toBeDefined();
|
|
81
|
+
expect(Array.isArray(result)).toBe(true);
|
|
82
|
+
expect(result).toHaveLength(0);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
describe('Scenario: Handle unauthorized access', () => {
|
|
87
|
+
it('Given insufficient permissions for the corporation, When I request corporation projects, Then I should receive an unauthorized error', async () => {
|
|
88
|
+
// Given: Insufficient permissions for the corporation
|
|
89
|
+
const corporationId = 98000001;
|
|
90
|
+
const unauthorizedError = new ApiError('Insufficient permissions', ApiErrorType.AUTHORIZATION_ERROR, 403);
|
|
91
|
+
|
|
92
|
+
// Mock the API error
|
|
93
|
+
jest.spyOn(client.corporations, 'getCorporationProjects').mockRejectedValue(unauthorizedError);
|
|
94
|
+
|
|
95
|
+
// When & Then: I request projects and should receive an error
|
|
96
|
+
await expect(client.corporations.getCorporationProjects(corporationId)).rejects.toThrow('Insufficient permissions');
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
describe('Scenario: Handle non-existent corporation', () => {
|
|
101
|
+
it('Given a non-existent corporation ID, When I request corporation projects, Then I should receive a not found error', async () => {
|
|
102
|
+
// Given: A non-existent corporation ID
|
|
103
|
+
const invalidCorporationId = 99999999;
|
|
104
|
+
const notFoundError = new ApiError('Corporation not found', ApiErrorType.NOT_FOUND_ERROR, 404);
|
|
105
|
+
|
|
106
|
+
// Mock the API error
|
|
107
|
+
jest.spyOn(client.corporations, 'getCorporationProjects').mockRejectedValue(notFoundError);
|
|
108
|
+
|
|
109
|
+
// When & Then: I request projects and should receive an error
|
|
110
|
+
await expect(client.corporations.getCorporationProjects(invalidCorporationId)).rejects.toThrow('Corporation not found');
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
describe('Feature: Authentication Requirements', () => {
|
|
116
|
+
describe('Scenario: Verify authentication is required', () => {
|
|
117
|
+
it('Given no authentication token, When I request corporation projects, Then I should receive an authentication required error', async () => {
|
|
118
|
+
// Given: No authentication token
|
|
119
|
+
const unauthenticatedClient = new EsiClient({
|
|
120
|
+
clientId: 'test-client',
|
|
121
|
+
baseUrl: 'https://esi.evetech.net'
|
|
122
|
+
// No accessToken provided
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
const corporationId = 98000001;
|
|
126
|
+
const authError = new ApiError('Authentication required', ApiErrorType.AUTHENTICATION_ERROR, 401);
|
|
127
|
+
|
|
128
|
+
// Mock the API error
|
|
129
|
+
jest.spyOn(unauthenticatedClient.corporations, 'getCorporationProjects').mockRejectedValue(authError);
|
|
130
|
+
|
|
131
|
+
// When & Then: I request projects and should receive an error
|
|
132
|
+
await expect(unauthenticatedClient.corporations.getCorporationProjects(corporationId)).rejects.toThrow('Authentication required');
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
});
|