@looker/api-explorer 0.9.54 → 0.9.57
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/CHANGELOG.md +583 -632
- package/CODE_OF_CONDUCT.md +10 -10
- package/dist/bundle.js +3 -0
- package/dist/bundle.js.LICENSE.txt +115 -0
- package/dist/bundle.js.map +1 -0
- package/e2e/MethodScene.spec.ts +23 -23
- package/e2e/diffScene.spec.ts +115 -115
- package/e2e/e2e.spec.ts +134 -134
- package/e2e/helpers.ts +11 -11
- package/jest-puppeteer.config.js +2 -2
- package/jest.config.js +4 -7
- package/lib/ApiExplorer.js +5 -3
- package/lib/ApiExplorer.js.map +1 -1
- package/lib/App.js +3 -1
- package/lib/App.js.map +1 -1
- package/lib/StandaloneApiExplorer.js +2 -2
- package/lib/StandaloneApiExplorer.js.map +1 -1
- package/lib/components/Banner/Banner.js +2 -2
- package/lib/components/Banner/Banner.js.map +1 -1
- package/lib/components/Banner/index.js.map +1 -1
- package/lib/components/DocActivityType/DocActivityType.js.map +1 -1
- package/lib/components/DocActivityType/index.js.map +1 -1
- package/lib/components/DocCode/DocCode.js.map +1 -1
- package/lib/components/DocCode/index.js.map +1 -1
- package/lib/components/DocMarkdown/DocMarkdown.js.map +1 -1
- package/lib/components/DocMarkdown/index.js.map +1 -1
- package/lib/components/DocMarkdown/utils.js.map +1 -1
- package/lib/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
- package/lib/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
- package/lib/components/DocMethodSummary/index.js.map +1 -1
- package/lib/components/DocMethodSummary/utils.d.ts +2 -2
- package/lib/components/DocMethodSummary/utils.js +1 -1
- package/lib/components/DocMethodSummary/utils.js.map +1 -1
- package/lib/components/DocPseudo/DocParam.js.map +1 -1
- package/lib/components/DocPseudo/DocParams.js +2 -2
- package/lib/components/DocPseudo/DocParams.js.map +1 -1
- package/lib/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
- package/lib/components/DocPseudo/DocPseudo.js.map +1 -1
- package/lib/components/DocPseudo/index.js.map +1 -1
- package/lib/components/DocRateLimited/DocRateLimited.js.map +1 -1
- package/lib/components/DocRateLimited/index.js.map +1 -1
- package/lib/components/DocReferences/DocReferences.js.map +1 -1
- package/lib/components/DocReferences/index.js.map +1 -1
- package/lib/components/DocReferences/utils.d.ts +2 -2
- package/lib/components/DocReferences/utils.js.map +1 -1
- package/lib/components/DocSDKs/DocDeclarations.js.map +1 -1
- package/lib/components/DocSDKs/DocSDKs.d.ts +1 -1
- package/lib/components/DocSDKs/DocSDKs.js +2 -2
- package/lib/components/DocSDKs/DocSDKs.js.map +1 -1
- package/lib/components/DocSDKs/index.js.map +1 -1
- package/lib/components/DocSDKs/utils.js.map +1 -1
- package/lib/components/DocSchema/DocSchema.js.map +1 -1
- package/lib/components/DocSchema/index.js.map +1 -1
- package/lib/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
- package/lib/components/DocSdkUsage/DocSdkUsage.js +2 -2
- package/lib/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
- package/lib/components/DocSdkUsage/index.js.map +1 -1
- package/lib/components/DocSdkUsage/utils.js +3 -6
- package/lib/components/DocSdkUsage/utils.js.map +1 -1
- package/lib/components/DocSource/DocSource.js +0 -1
- package/lib/components/DocSource/DocSource.js.map +1 -1
- package/lib/components/DocSource/index.js.map +1 -1
- package/lib/components/DocStatus/DocStatus.js.map +1 -1
- package/lib/components/DocStatus/index.js.map +1 -1
- package/lib/components/DocTitle/DocTitle.js.map +1 -1
- package/lib/components/DocTitle/index.js.map +1 -1
- package/lib/components/DocTypeSummary/DocTypeSummary.js.map +1 -1
- package/lib/components/DocTypeSummary/index.js.map +1 -1
- package/lib/components/ErrorBoundary/ErrorBoundary.d.ts +1 -1
- package/lib/components/ErrorBoundary/ErrorBoundary.js +2 -2
- package/lib/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +1 -2
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/index.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/index.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/index.js.map +1 -1
- package/lib/components/ErrorBoundary/index.js.map +1 -1
- package/lib/components/ExploreType/ExploreProperty.d.ts +1 -1
- package/lib/components/ExploreType/ExploreProperty.js.map +1 -1
- package/lib/components/ExploreType/ExploreType.d.ts +1 -1
- package/lib/components/ExploreType/ExploreType.js.map +1 -1
- package/lib/components/ExploreType/exploreUtils.js +1 -2
- package/lib/components/ExploreType/exploreUtils.js.map +1 -1
- package/lib/components/ExploreType/index.js.map +1 -1
- package/lib/components/Header/Header.js +3 -6
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/index.js.map +1 -1
- package/lib/components/Link/Link.js +2 -3
- package/lib/components/Link/Link.js.map +1 -1
- package/lib/components/Link/index.js.map +1 -1
- package/lib/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
- package/lib/components/SelectorContainer/SdkLanguageSelector.js +2 -2
- package/lib/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
- package/lib/components/SelectorContainer/SelectorContainer.js +1 -2
- package/lib/components/SelectorContainer/SelectorContainer.js.map +1 -1
- package/lib/components/SelectorContainer/index.js.map +1 -1
- package/lib/components/SelectorContainer/utils.js.map +1 -1
- package/lib/components/SideNav/SearchMessage.js.map +1 -1
- package/lib/components/SideNav/SideNav.js +2 -11
- package/lib/components/SideNav/SideNav.js.map +1 -1
- package/lib/components/SideNav/SideNavMethodTags.d.ts +2 -2
- package/lib/components/SideNav/SideNavMethodTags.js +2 -3
- package/lib/components/SideNav/SideNavMethodTags.js.map +1 -1
- package/lib/components/SideNav/SideNavMethods.d.ts +2 -2
- package/lib/components/SideNav/SideNavMethods.js +3 -4
- package/lib/components/SideNav/SideNavMethods.js.map +1 -1
- package/lib/components/SideNav/SideNavTypeTags.d.ts +2 -2
- package/lib/components/SideNav/SideNavTypeTags.js +2 -3
- package/lib/components/SideNav/SideNavTypeTags.js.map +1 -1
- package/lib/components/SideNav/SideNavTypes.d.ts +2 -2
- package/lib/components/SideNav/SideNavTypes.js +4 -5
- package/lib/components/SideNav/SideNavTypes.js.map +1 -1
- package/lib/components/SideNav/index.js.map +1 -1
- package/lib/components/SideNav/searchUtils.js.map +1 -1
- package/lib/components/common/Loader.js.map +1 -1
- package/lib/components/common/common.js +3 -4
- package/lib/components/common/common.js.map +1 -1
- package/lib/components/common/index.js.map +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/custom.d.js.map +1 -1
- package/lib/esm/ApiExplorer.js +7 -5
- package/lib/esm/ApiExplorer.js.map +1 -1
- package/lib/esm/App.js +3 -1
- package/lib/esm/App.js.map +1 -1
- package/lib/esm/StandaloneApiExplorer.js +2 -2
- package/lib/esm/StandaloneApiExplorer.js.map +1 -1
- package/lib/esm/components/Banner/Banner.js +1 -1
- package/lib/esm/components/Banner/Banner.js.map +1 -1
- package/lib/esm/components/Banner/index.js.map +1 -1
- package/lib/esm/components/DocActivityType/DocActivityType.js +1 -1
- package/lib/esm/components/DocActivityType/DocActivityType.js.map +1 -1
- package/lib/esm/components/DocActivityType/index.js.map +1 -1
- package/lib/esm/components/DocCode/DocCode.js.map +1 -1
- package/lib/esm/components/DocCode/index.js.map +1 -1
- package/lib/esm/components/DocMarkdown/DocMarkdown.js.map +1 -1
- package/lib/esm/components/DocMarkdown/index.js.map +1 -1
- package/lib/esm/components/DocMarkdown/utils.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/index.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/utils.js +1 -1
- package/lib/esm/components/DocMethodSummary/utils.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocParam.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocParams.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocPseudo.js.map +1 -1
- package/lib/esm/components/DocPseudo/index.js.map +1 -1
- package/lib/esm/components/DocRateLimited/DocRateLimited.js.map +1 -1
- package/lib/esm/components/DocRateLimited/index.js.map +1 -1
- package/lib/esm/components/DocReferences/DocReferences.js.map +1 -1
- package/lib/esm/components/DocReferences/index.js.map +1 -1
- package/lib/esm/components/DocReferences/utils.js.map +1 -1
- package/lib/esm/components/DocSDKs/DocDeclarations.js.map +1 -1
- package/lib/esm/components/DocSDKs/DocSDKs.js +1 -1
- package/lib/esm/components/DocSDKs/DocSDKs.js.map +1 -1
- package/lib/esm/components/DocSDKs/index.js.map +1 -1
- package/lib/esm/components/DocSDKs/utils.js.map +1 -1
- package/lib/esm/components/DocSchema/DocSchema.js.map +1 -1
- package/lib/esm/components/DocSchema/index.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/DocSdkUsage.js +4 -4
- package/lib/esm/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/index.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/utils.js.map +1 -1
- package/lib/esm/components/DocSource/DocSource.js +0 -1
- package/lib/esm/components/DocSource/DocSource.js.map +1 -1
- package/lib/esm/components/DocSource/index.js.map +1 -1
- package/lib/esm/components/DocStatus/DocStatus.js.map +1 -1
- package/lib/esm/components/DocStatus/index.js.map +1 -1
- package/lib/esm/components/DocTitle/DocTitle.js.map +1 -1
- package/lib/esm/components/DocTitle/index.js.map +1 -1
- package/lib/esm/components/DocTypeSummary/DocTypeSummary.js.map +1 -1
- package/lib/esm/components/DocTypeSummary/index.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/index.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/index.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/index.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/index.js.map +1 -1
- package/lib/esm/components/ExploreType/ExploreProperty.js +2 -2
- package/lib/esm/components/ExploreType/ExploreProperty.js.map +1 -1
- package/lib/esm/components/ExploreType/ExploreType.js.map +1 -1
- package/lib/esm/components/ExploreType/exploreUtils.js.map +1 -1
- package/lib/esm/components/ExploreType/index.js.map +1 -1
- package/lib/esm/components/Header/Header.js +1 -1
- package/lib/esm/components/Header/Header.js.map +1 -1
- package/lib/esm/components/Header/index.js.map +1 -1
- package/lib/esm/components/Link/Link.js +1 -1
- package/lib/esm/components/Link/Link.js.map +1 -1
- package/lib/esm/components/Link/index.js.map +1 -1
- package/lib/esm/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
- package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
- package/lib/esm/components/SelectorContainer/SelectorContainer.js +1 -1
- package/lib/esm/components/SelectorContainer/SelectorContainer.js.map +1 -1
- package/lib/esm/components/SelectorContainer/index.js.map +1 -1
- package/lib/esm/components/SelectorContainer/utils.js +1 -1
- package/lib/esm/components/SelectorContainer/utils.js.map +1 -1
- package/lib/esm/components/SideNav/SearchMessage.js +1 -1
- package/lib/esm/components/SideNav/SearchMessage.js.map +1 -1
- package/lib/esm/components/SideNav/SideNav.js +3 -12
- package/lib/esm/components/SideNav/SideNav.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavMethodTags.js +1 -1
- package/lib/esm/components/SideNav/SideNavMethodTags.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavMethods.js +1 -1
- package/lib/esm/components/SideNav/SideNavMethods.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavTypeTags.js +1 -1
- package/lib/esm/components/SideNav/SideNavTypeTags.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavTypes.js +2 -2
- package/lib/esm/components/SideNav/SideNavTypes.js.map +1 -1
- package/lib/esm/components/SideNav/index.js.map +1 -1
- package/lib/esm/components/SideNav/searchUtils.js +1 -1
- package/lib/esm/components/SideNav/searchUtils.js.map +1 -1
- package/lib/esm/components/common/Loader.js.map +1 -1
- package/lib/esm/components/common/common.js.map +1 -1
- package/lib/esm/components/common/index.js.map +1 -1
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/routes/AppRouter.js.map +1 -1
- package/lib/esm/routes/index.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DiffScene.js +1 -1
- package/lib/esm/scenes/DiffScene/DiffScene.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffBanner.js +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/docDiffUtils.js +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/index.js.map +1 -1
- package/lib/esm/scenes/DiffScene/diffUtils.js.map +1 -1
- package/lib/esm/scenes/DiffScene/index.js.map +1 -1
- package/lib/esm/scenes/ErrorDetailScene/ErrorDetailScene.js +2 -1
- package/lib/esm/scenes/ErrorDetailScene/ErrorDetailScene.js.map +1 -1
- package/lib/esm/scenes/ErrorDetailScene/index.js.map +1 -1
- package/lib/esm/scenes/HomeScene/HomeScene.js.map +1 -1
- package/lib/esm/scenes/HomeScene/index.js.map +1 -1
- package/lib/esm/scenes/MethodScene/MethodScene.js +3 -3
- package/lib/esm/scenes/MethodScene/MethodScene.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocOperation.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponseTypes.js +2 -2
- package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponseTypes.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponses.js +2 -2
- package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponses.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocResponses/index.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocResponses/utils.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/index.js.map +1 -1
- package/lib/esm/scenes/MethodScene/index.js.map +1 -1
- package/lib/esm/scenes/MethodTagScene/MethodTagScene.js +2 -2
- package/lib/esm/scenes/MethodTagScene/MethodTagScene.js.map +1 -1
- package/lib/esm/scenes/MethodTagScene/index.js.map +1 -1
- package/lib/esm/scenes/MethodTagScene/utils.js.map +1 -1
- package/lib/esm/scenes/TypeScene/TypeScene.js +3 -3
- package/lib/esm/scenes/TypeScene/TypeScene.js.map +1 -1
- package/lib/esm/scenes/TypeScene/index.js.map +1 -1
- package/lib/esm/scenes/TypeTagScene/TypeTagScene.js +1 -1
- package/lib/esm/scenes/TypeTagScene/TypeTagScene.js.map +1 -1
- package/lib/esm/scenes/TypeTagScene/index.js.map +1 -1
- package/lib/esm/scenes/TypeTagScene/utils.js.map +1 -1
- package/lib/esm/scenes/index.js.map +1 -1
- package/lib/esm/scenes/utils/hooks/index.js.map +1 -1
- package/lib/esm/scenes/utils/hooks/tagStoreSync.js.map +1 -1
- package/lib/esm/scenes/utils/index.js.map +1 -1
- package/lib/esm/state/index.js.map +1 -1
- package/lib/esm/state/lodes/index.js.map +1 -1
- package/lib/esm/state/lodes/sagas.js.map +1 -1
- package/lib/esm/state/lodes/selectors.js.map +1 -1
- package/lib/esm/state/lodes/slice.js.map +1 -1
- package/lib/esm/state/settings/index.js.map +1 -1
- package/lib/esm/state/settings/sagas.js +6 -6
- package/lib/esm/state/settings/sagas.js.map +1 -1
- package/lib/esm/state/settings/selectors.js.map +1 -1
- package/lib/esm/state/settings/slice.js +4 -4
- package/lib/esm/state/settings/slice.js.map +1 -1
- package/lib/esm/state/specs/index.js.map +1 -1
- package/lib/esm/state/specs/sagas.js +1 -1
- package/lib/esm/state/specs/sagas.js.map +1 -1
- package/lib/esm/state/specs/selectors.js.map +1 -1
- package/lib/esm/state/specs/slice.js.map +1 -1
- package/lib/esm/state/store.js +5 -5
- package/lib/esm/state/store.js.map +1 -1
- package/lib/esm/test-data/declarations.js.map +1 -1
- package/lib/esm/test-data/examples.js.map +1 -1
- package/lib/esm/test-data/index.js.map +1 -1
- package/lib/esm/test-data/sdkLanguages.js.map +1 -1
- package/lib/esm/test-data/specs.js +4 -4
- package/lib/esm/test-data/specs.js.map +1 -1
- package/lib/esm/test-utils/index.js.map +1 -1
- package/lib/esm/test-utils/lodes.js.map +1 -1
- package/lib/esm/test-utils/redux.js +5 -5
- package/lib/esm/test-utils/redux.js.map +1 -1
- package/lib/esm/test-utils/router.js.map +1 -1
- package/lib/esm/utils/adaptorUtils.js.map +1 -1
- package/lib/esm/utils/apixAdaptor.js +1 -1
- package/lib/esm/utils/apixAdaptor.js.map +1 -1
- package/lib/esm/utils/highlight.js.map +1 -1
- package/lib/esm/utils/hooks/globalStoreSync.js.map +1 -1
- package/lib/esm/utils/hooks/index.js.map +1 -1
- package/lib/esm/utils/hooks/navigation.js +2 -1
- package/lib/esm/utils/hooks/navigation.js.map +1 -1
- package/lib/esm/utils/hooks/useQuery.js.map +1 -1
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/lodeUtils.js.map +1 -1
- package/lib/esm/utils/path.js +1 -1
- package/lib/esm/utils/path.js.map +1 -1
- package/lib/esm/utils/sdkLanguage.js +4 -4
- package/lib/esm/utils/sdkLanguage.js.map +1 -1
- package/lib/esm/utils/useWindowSize.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/routes/AppRouter.js.map +1 -1
- package/lib/routes/index.js.map +1 -1
- package/lib/scenes/DiffScene/DiffScene.js +2 -2
- package/lib/scenes/DiffScene/DiffScene.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffItem.js +2 -2
- package/lib/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DocDiff.js +2 -2
- package/lib/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/index.js.map +1 -1
- package/lib/scenes/DiffScene/diffUtils.js +2 -4
- package/lib/scenes/DiffScene/diffUtils.js.map +1 -1
- package/lib/scenes/DiffScene/index.js.map +1 -1
- package/lib/scenes/ErrorDetailScene/ErrorDetailScene.d.ts +2 -2
- package/lib/scenes/ErrorDetailScene/ErrorDetailScene.js +2 -1
- package/lib/scenes/ErrorDetailScene/ErrorDetailScene.js.map +1 -1
- package/lib/scenes/ErrorDetailScene/index.js.map +1 -1
- package/lib/scenes/HomeScene/HomeScene.js.map +1 -1
- package/lib/scenes/HomeScene/index.js.map +1 -1
- package/lib/scenes/MethodScene/MethodScene.js +2 -2
- package/lib/scenes/MethodScene/MethodScene.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocOperation.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocResponses/DocResponseTypes.d.ts +3 -3
- package/lib/scenes/MethodScene/components/DocResponses/DocResponseTypes.js +2 -2
- package/lib/scenes/MethodScene/components/DocResponses/DocResponseTypes.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocResponses/DocResponses.d.ts +2 -2
- package/lib/scenes/MethodScene/components/DocResponses/DocResponses.js +2 -2
- package/lib/scenes/MethodScene/components/DocResponses/DocResponses.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocResponses/index.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocResponses/utils.js.map +1 -1
- package/lib/scenes/MethodScene/components/index.js.map +1 -1
- package/lib/scenes/MethodScene/index.js.map +1 -1
- package/lib/scenes/MethodTagScene/MethodTagScene.js +2 -2
- package/lib/scenes/MethodTagScene/MethodTagScene.js.map +1 -1
- package/lib/scenes/MethodTagScene/index.js.map +1 -1
- package/lib/scenes/MethodTagScene/utils.js.map +1 -1
- package/lib/scenes/TypeScene/TypeScene.js +2 -2
- package/lib/scenes/TypeScene/TypeScene.js.map +1 -1
- package/lib/scenes/TypeScene/index.js.map +1 -1
- package/lib/scenes/TypeTagScene/TypeTagScene.js +2 -2
- package/lib/scenes/TypeTagScene/TypeTagScene.js.map +1 -1
- package/lib/scenes/TypeTagScene/index.js.map +1 -1
- package/lib/scenes/TypeTagScene/utils.js.map +1 -1
- package/lib/scenes/index.js.map +1 -1
- package/lib/scenes/utils/hooks/index.js.map +1 -1
- package/lib/scenes/utils/hooks/tagStoreSync.js.map +1 -1
- package/lib/scenes/utils/index.js.map +1 -1
- package/lib/state/index.js.map +1 -1
- package/lib/state/lodes/index.js.map +1 -1
- package/lib/state/lodes/sagas.js.map +1 -1
- package/lib/state/lodes/selectors.js.map +1 -1
- package/lib/state/lodes/slice.d.ts +1 -1
- package/lib/state/lodes/slice.js +3 -6
- package/lib/state/lodes/slice.js.map +1 -1
- package/lib/state/settings/index.js.map +1 -1
- package/lib/state/settings/sagas.js +4 -4
- package/lib/state/settings/sagas.js.map +1 -1
- package/lib/state/settings/selectors.js.map +1 -1
- package/lib/state/settings/slice.d.ts +4 -4
- package/lib/state/settings/slice.js +8 -12
- package/lib/state/settings/slice.js.map +1 -1
- package/lib/state/specs/index.js.map +1 -1
- package/lib/state/specs/sagas.js.map +1 -1
- package/lib/state/specs/selectors.js.map +1 -1
- package/lib/state/specs/slice.js +3 -6
- package/lib/state/specs/slice.js.map +1 -1
- package/lib/state/store.js +5 -6
- package/lib/state/store.js.map +1 -1
- package/lib/test-data/declarations.js +1 -2
- package/lib/test-data/declarations.js.map +1 -1
- package/lib/test-data/examples.js +1 -2
- package/lib/test-data/examples.js.map +1 -1
- package/lib/test-data/index.js.map +1 -1
- package/lib/test-data/sdkLanguages.js +2 -4
- package/lib/test-data/sdkLanguages.js.map +1 -1
- package/lib/test-data/specs.js +8 -12
- package/lib/test-data/specs.js.map +1 -1
- package/lib/test-utils/index.js.map +1 -1
- package/lib/test-utils/lodes.d.ts +1 -1
- package/lib/test-utils/lodes.js.map +1 -1
- package/lib/test-utils/redux.d.ts +6 -5
- package/lib/test-utils/redux.js +7 -10
- package/lib/test-utils/redux.js.map +1 -1
- package/lib/test-utils/router.d.ts +3 -2
- package/lib/test-utils/router.js +1 -2
- package/lib/test-utils/router.js.map +1 -1
- package/lib/utils/adaptorUtils.d.ts +3 -3
- package/lib/utils/adaptorUtils.js +3 -6
- package/lib/utils/adaptorUtils.js.map +1 -1
- package/lib/utils/apixAdaptor.js.map +1 -1
- package/lib/utils/highlight.d.ts +2 -2
- package/lib/utils/highlight.js.map +1 -1
- package/lib/utils/hooks/globalStoreSync.js.map +1 -1
- package/lib/utils/hooks/index.js.map +1 -1
- package/lib/utils/hooks/navigation.d.ts +1 -1
- package/lib/utils/hooks/navigation.js +2 -1
- package/lib/utils/hooks/navigation.js.map +1 -1
- package/lib/utils/hooks/useQuery.js.map +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/lodeUtils.d.ts +1 -1
- package/lib/utils/lodeUtils.js +2 -4
- package/lib/utils/lodeUtils.js.map +1 -1
- package/lib/utils/path.d.ts +2 -2
- package/lib/utils/path.js +5 -9
- package/lib/utils/path.js.map +1 -1
- package/lib/utils/sdkLanguage.js +5 -6
- package/lib/utils/sdkLanguage.js.map +1 -1
- package/lib/utils/useWindowSize.js.map +1 -1
- package/package.json +38 -38
- package/src/ApiExplorer.tsx +72 -72
- package/src/App.tsx +9 -9
- package/src/StandaloneApiExplorer.tsx +24 -24
- package/src/components/Banner/Banner.spec.tsx +27 -25
- package/src/components/Banner/Banner.tsx +20 -20
- package/src/components/Banner/index.ts +1 -1
- package/src/components/DocActivityType/DocActivityType.spec.tsx +17 -16
- package/src/components/DocActivityType/DocActivityType.tsx +6 -6
- package/src/components/DocActivityType/index.ts +1 -1
- package/src/components/DocCode/DocCode.tsx +16 -14
- package/src/components/DocCode/index.ts +1 -1
- package/src/components/DocMarkdown/DocMarkdown.spec.tsx +41 -41
- package/src/components/DocMarkdown/DocMarkdown.tsx +19 -19
- package/src/components/DocMarkdown/index.ts +1 -1
- package/src/components/DocMarkdown/utils.spec.ts +26 -26
- package/src/components/DocMarkdown/utils.ts +4 -4
- package/src/components/DocMethodSummary/DocMethodSummary.spec.tsx +18 -17
- package/src/components/DocMethodSummary/DocMethodSummary.tsx +9 -9
- package/src/components/DocMethodSummary/DocSummaryStatus.spec.tsx +12 -12
- package/src/components/DocMethodSummary/DocSummaryStatus.tsx +6 -6
- package/src/components/DocMethodSummary/index.tsx +3 -3
- package/src/components/DocMethodSummary/utils.spec.tsx +5 -5
- package/src/components/DocMethodSummary/utils.tsx +23 -23
- package/src/components/DocPseudo/DocParam.spec.tsx +22 -22
- package/src/components/DocPseudo/DocParam.tsx +7 -7
- package/src/components/DocPseudo/DocParams.spec.tsx +27 -27
- package/src/components/DocPseudo/DocParams.tsx +6 -6
- package/src/components/DocPseudo/DocPrimaryResponse.spec.tsx +16 -16
- package/src/components/DocPseudo/DocPrimaryResponse.tsx +6 -6
- package/src/components/DocPseudo/DocPseudo.spec.tsx +15 -13
- package/src/components/DocPseudo/DocPseudo.tsx +11 -11
- package/src/components/DocPseudo/index.tsx +1 -1
- package/src/components/DocRateLimited/DocRateLimited.spec.tsx +16 -16
- package/src/components/DocRateLimited/DocRateLimited.tsx +6 -6
- package/src/components/DocRateLimited/index.ts +1 -1
- package/src/components/DocReferences/DocReferences.spec.tsx +29 -26
- package/src/components/DocReferences/DocReferences.tsx +16 -16
- package/src/components/DocReferences/index.ts +1 -1
- package/src/components/DocReferences/utils.spec.tsx +2 -2
- package/src/components/DocReferences/utils.tsx +8 -8
- package/src/components/DocSDKs/DocDeclarations.tsx +7 -7
- package/src/components/DocSDKs/DocSDKs.spec.tsx +22 -22
- package/src/components/DocSDKs/DocSDKs.tsx +36 -36
- package/src/components/DocSDKs/index.ts +1 -1
- package/src/components/DocSDKs/utils.spec.ts +8 -8
- package/src/components/DocSDKs/utils.ts +6 -6
- package/src/components/DocSchema/DocSchema.tsx +9 -9
- package/src/components/DocSchema/index.ts +1 -1
- package/src/components/DocSdkUsage/DocSdkExampleCell.tsx +5 -5
- package/src/components/DocSdkUsage/DocSdkUsage.spec.tsx +22 -22
- package/src/components/DocSdkUsage/DocSdkUsage.tsx +35 -34
- package/src/components/DocSdkUsage/index.ts +1 -1
- package/src/components/DocSdkUsage/utils.ts +29 -30
- package/src/components/DocSource/DocSource.spec.tsx +33 -37
- package/src/components/DocSource/DocSource.tsx +17 -17
- package/src/components/DocSource/index.ts +1 -1
- package/src/components/DocStatus/DocStatus.spec.tsx +12 -12
- package/src/components/DocStatus/DocStatus.tsx +8 -8
- package/src/components/DocStatus/index.ts +1 -1
- package/src/components/DocTitle/DocTitle.spec.tsx +9 -9
- package/src/components/DocTitle/DocTitle.tsx +4 -4
- package/src/components/DocTitle/index.ts +1 -1
- package/src/components/DocTypeSummary/DocTypeSummary.spec.tsx +11 -11
- package/src/components/DocTypeSummary/DocTypeSummary.tsx +11 -11
- package/src/components/DocTypeSummary/index.tsx +1 -1
- package/src/components/ErrorBoundary/ErrorBoundary.spec.tsx +29 -29
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +16 -16
- package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.spec.tsx +17 -17
- package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.tsx +11 -11
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.tsx +4 -4
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/index.ts +1 -1
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/index.ts +1 -1
- package/src/components/ErrorBoundary/components/SomethingWentWrong/index.ts +2 -2
- package/src/components/ErrorBoundary/index.ts +1 -1
- package/src/components/ExploreType/ExploreProperty.spec.tsx +60 -58
- package/src/components/ExploreType/ExploreProperty.tsx +53 -53
- package/src/components/ExploreType/ExploreType.spec.tsx +41 -39
- package/src/components/ExploreType/ExploreType.tsx +33 -33
- package/src/components/ExploreType/exploreUtils.spec.tsx +38 -38
- package/src/components/ExploreType/exploreUtils.tsx +44 -44
- package/src/components/ExploreType/index.ts +3 -3
- package/src/components/Header/Header.spec.tsx +38 -44
- package/src/components/Header/Header.tsx +18 -18
- package/src/components/Header/index.ts +1 -1
- package/src/components/Link/Link.tsx +3 -3
- package/src/components/Link/index.ts +1 -1
- package/src/components/SelectorContainer/ApiSpecSelector.spec.tsx +31 -31
- package/src/components/SelectorContainer/ApiSpecSelector.tsx +18 -18
- package/src/components/SelectorContainer/SdkLanguageSelector.spec.tsx +42 -42
- package/src/components/SelectorContainer/SdkLanguageSelector.tsx +19 -19
- package/src/components/SelectorContainer/SelectorContainer.spec.tsx +31 -39
- package/src/components/SelectorContainer/SelectorContainer.tsx +15 -15
- package/src/components/SelectorContainer/index.ts +1 -1
- package/src/components/SelectorContainer/utils.ts +10 -10
- package/src/components/SideNav/SearchMessage.tsx +7 -7
- package/src/components/SideNav/SideNav.spec.tsx +70 -70
- package/src/components/SideNav/SideNav.tsx +77 -83
- package/src/components/SideNav/SideNavMethodTags.spec.tsx +35 -35
- package/src/components/SideNav/SideNavMethodTags.tsx +9 -9
- package/src/components/SideNav/SideNavMethods.spec.tsx +52 -52
- package/src/components/SideNav/SideNavMethods.tsx +28 -28
- package/src/components/SideNav/SideNavTypeTags.spec.tsx +36 -36
- package/src/components/SideNav/SideNavTypeTags.tsx +9 -9
- package/src/components/SideNav/SideNavTypes.spec.tsx +36 -36
- package/src/components/SideNav/SideNavTypes.tsx +28 -28
- package/src/components/SideNav/index.ts +1 -1
- package/src/components/SideNav/searchUtils.ts +16 -16
- package/src/components/common/Loader.tsx +7 -7
- package/src/components/common/common.tsx +13 -13
- package/src/components/common/index.ts +2 -2
- package/src/components/index.ts +22 -22
- package/src/custom.d.ts +2 -2
- package/src/index.ts +5 -5
- package/src/routes/AppRouter.tsx +11 -11
- package/src/routes/index.ts +1 -1
- package/src/scenes/DiffScene/DiffScene.tsx +54 -54
- package/src/scenes/DiffScene/DocDiff/DiffBanner.tsx +8 -8
- package/src/scenes/DiffScene/DocDiff/DiffItem.spec.tsx +26 -26
- package/src/scenes/DiffScene/DocDiff/DiffItem.tsx +47 -47
- package/src/scenes/DiffScene/DocDiff/DiffLegend.tsx +10 -10
- package/src/scenes/DiffScene/DocDiff/DocDiff.spec.tsx +62 -66
- package/src/scenes/DiffScene/DocDiff/DocDiff.tsx +18 -18
- package/src/scenes/DiffScene/DocDiff/docDiffUtils.tsx +23 -23
- package/src/scenes/DiffScene/DocDiff/index.ts +1 -1
- package/src/scenes/DiffScene/diffUtils.spec.ts +11 -11
- package/src/scenes/DiffScene/diffUtils.ts +26 -26
- package/src/scenes/DiffScene/index.ts +1 -1
- package/src/scenes/ErrorDetailScene/ErrorDetailScene.tsx +25 -25
- package/src/scenes/ErrorDetailScene/index.ts +1 -1
- package/src/scenes/HomeScene/HomeScene.tsx +12 -12
- package/src/scenes/HomeScene/index.ts +1 -1
- package/src/scenes/MethodScene/MethodScene.tsx +54 -54
- package/src/scenes/MethodScene/components/DocOperation.spec.tsx +17 -17
- package/src/scenes/MethodScene/components/DocOperation.tsx +8 -8
- package/src/scenes/MethodScene/components/DocRequestBody.spec.tsx +14 -14
- package/src/scenes/MethodScene/components/DocRequestBody.tsx +12 -12
- package/src/scenes/MethodScene/components/DocResponses/DocResponseTypes.tsx +15 -15
- package/src/scenes/MethodScene/components/DocResponses/DocResponses.spec.tsx +51 -51
- package/src/scenes/MethodScene/components/DocResponses/DocResponses.tsx +34 -34
- package/src/scenes/MethodScene/components/DocResponses/index.ts +1 -1
- package/src/scenes/MethodScene/components/DocResponses/utils.spec.ts +19 -14
- package/src/scenes/MethodScene/components/DocResponses/utils.ts +8 -8
- package/src/scenes/MethodScene/components/index.ts +3 -3
- package/src/scenes/MethodScene/index.ts +1 -1
- package/src/scenes/MethodTagScene/MethodTagScene.spec.tsx +31 -31
- package/src/scenes/MethodTagScene/MethodTagScene.tsx +44 -39
- package/src/scenes/MethodTagScene/index.ts +1 -1
- package/src/scenes/MethodTagScene/utils.spec.ts +6 -6
- package/src/scenes/MethodTagScene/utils.ts +6 -6
- package/src/scenes/TypeScene/TypeScene.tsx +25 -25
- package/src/scenes/TypeScene/index.ts +1 -1
- package/src/scenes/TypeTagScene/TypeTagScene.spec.tsx +34 -32
- package/src/scenes/TypeTagScene/TypeTagScene.tsx +40 -38
- package/src/scenes/TypeTagScene/index.ts +1 -1
- package/src/scenes/TypeTagScene/utils.spec.ts +6 -6
- package/src/scenes/TypeTagScene/utils.ts +6 -6
- package/src/scenes/index.ts +6 -6
- package/src/scenes/utils/hooks/index.ts +1 -1
- package/src/scenes/utils/hooks/tagStoreSync.spec.ts +37 -37
- package/src/scenes/utils/hooks/tagStoreSync.ts +18 -18
- package/src/scenes/utils/index.ts +1 -1
- package/src/state/index.ts +4 -4
- package/src/state/lodes/index.ts +2 -2
- package/src/state/lodes/sagas.spec.ts +32 -32
- package/src/state/lodes/sagas.ts +11 -11
- package/src/state/lodes/selectors.spec.ts +10 -10
- package/src/state/lodes/selectors.ts +4 -4
- package/src/state/lodes/slice.ts +18 -18
- package/src/state/settings/index.ts +2 -2
- package/src/state/settings/sagas.spec.ts +49 -49
- package/src/state/settings/sagas.ts +18 -18
- package/src/state/settings/selectors.spec.ts +11 -11
- package/src/state/settings/selectors.ts +7 -7
- package/src/state/settings/slice.ts +28 -28
- package/src/state/specs/index.ts +2 -2
- package/src/state/specs/sagas.spec.ts +60 -60
- package/src/state/specs/sagas.ts +27 -27
- package/src/state/specs/selectors.ts +7 -7
- package/src/state/specs/slice.ts +36 -36
- package/src/state/store.ts +24 -24
- package/src/test-data/declarations.ts +2 -2
- package/src/test-data/examples.ts +1 -1
- package/src/test-data/index.ts +4 -4
- package/src/test-data/sdkLanguages.ts +2 -2
- package/src/test-data/specs.ts +13 -13
- package/src/test-utils/index.ts +3 -3
- package/src/test-utils/lodes.tsx +9 -9
- package/src/test-utils/redux.tsx +30 -26
- package/src/test-utils/router.tsx +8 -8
- package/src/utils/adaptorUtils.ts +55 -55
- package/src/utils/apixAdaptor.ts +31 -25
- package/src/utils/highlight.spec.tsx +13 -13
- package/src/utils/highlight.tsx +11 -11
- package/src/utils/hooks/globalStoreSync.spec.tsx +54 -54
- package/src/utils/hooks/globalStoreSync.ts +21 -21
- package/src/utils/hooks/index.ts +3 -3
- package/src/utils/hooks/navigation.spec.ts +47 -45
- package/src/utils/hooks/navigation.ts +33 -30
- package/src/utils/hooks/useQuery.ts +5 -5
- package/src/utils/index.ts +8 -8
- package/src/utils/lodeUtils.ts +17 -17
- package/src/utils/path.spec.ts +57 -55
- package/src/utils/path.ts +42 -42
- package/src/utils/sdkLanguage.spec.ts +24 -24
- package/src/utils/sdkLanguage.ts +15 -14
- package/src/utils/useWindowSize.tsx +8 -8
- package/webpack.dev.config.js +5 -5
- package/webpack.prod.config.js +5 -5
|
@@ -23,99 +23,99 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import ReduxSagaTester from 'redux-saga-tester'
|
|
26
|
+
import ReduxSagaTester from 'redux-saga-tester';
|
|
27
27
|
|
|
28
|
-
import { getEnvAdaptor, registerTestEnvAdaptor } from '@looker/extension-utils'
|
|
29
|
-
import { StoreConstants } from '@looker/run-it'
|
|
30
|
-
import * as sagas from './sagas'
|
|
31
|
-
import {
|
|
28
|
+
import { getEnvAdaptor, registerTestEnvAdaptor } from '@looker/extension-utils';
|
|
29
|
+
import { StoreConstants } from '@looker/run-it';
|
|
30
|
+
import * as sagas from './sagas';
|
|
31
|
+
import { defaultSettings, settingActions, settingsSlice } from './slice';
|
|
32
32
|
|
|
33
33
|
describe('Settings Sagas', () => {
|
|
34
|
-
let sagaTester: ReduxSagaTester<any
|
|
35
|
-
registerTestEnvAdaptor()
|
|
34
|
+
let sagaTester: ReduxSagaTester<any>;
|
|
35
|
+
registerTestEnvAdaptor();
|
|
36
36
|
|
|
37
37
|
beforeEach(() => {
|
|
38
|
-
jest.resetAllMocks()
|
|
38
|
+
jest.resetAllMocks();
|
|
39
39
|
sagaTester = new ReduxSagaTester({
|
|
40
40
|
initialState: { settings: { sdkLanguage: 'Go' } },
|
|
41
41
|
reducers: {
|
|
42
42
|
settings: settingsSlice.reducer,
|
|
43
43
|
},
|
|
44
|
-
})
|
|
45
|
-
localStorage.clear()
|
|
46
|
-
sagaTester.start(sagas.saga)
|
|
47
|
-
})
|
|
44
|
+
});
|
|
45
|
+
localStorage.clear();
|
|
46
|
+
sagaTester.start(sagas.saga);
|
|
47
|
+
});
|
|
48
48
|
|
|
49
49
|
describe('setSdkLanguageSaga', () => {
|
|
50
|
-
const setSdkLanguageAction = settingActions.setSdkLanguageAction
|
|
50
|
+
const setSdkLanguageAction = settingActions.setSdkLanguageAction;
|
|
51
51
|
|
|
52
52
|
test('persists value sdkLanguage in localstorage', async () => {
|
|
53
|
-
sagaTester.dispatch(setSdkLanguageAction({ sdkLanguage: 'Kotlin' }))
|
|
54
|
-
await sagaTester.waitFor('settings/setSdkLanguageAction')
|
|
55
|
-
const calledActions = sagaTester.getCalledActions()
|
|
56
|
-
expect(calledActions).toHaveLength(1)
|
|
53
|
+
sagaTester.dispatch(setSdkLanguageAction({ sdkLanguage: 'Kotlin' }));
|
|
54
|
+
await sagaTester.waitFor('settings/setSdkLanguageAction');
|
|
55
|
+
const calledActions = sagaTester.getCalledActions();
|
|
56
|
+
expect(calledActions).toHaveLength(1);
|
|
57
57
|
expect(calledActions[0]).toEqual(
|
|
58
58
|
setSdkLanguageAction({
|
|
59
59
|
sdkLanguage: 'Kotlin',
|
|
60
60
|
})
|
|
61
|
-
)
|
|
61
|
+
);
|
|
62
62
|
expect(localStorage.setItem).toHaveBeenLastCalledWith(
|
|
63
63
|
StoreConstants.LOCALSTORAGE_SETTINGS_KEY,
|
|
64
64
|
JSON.stringify({ sdkLanguage: 'Kotlin' })
|
|
65
|
-
)
|
|
66
|
-
})
|
|
67
|
-
})
|
|
65
|
+
);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
68
|
|
|
69
69
|
describe('initSaga', () => {
|
|
70
70
|
const {
|
|
71
71
|
initSettingsAction,
|
|
72
72
|
initSettingsSuccessAction,
|
|
73
73
|
initSettingsFailureAction,
|
|
74
|
-
} = settingActions
|
|
74
|
+
} = settingActions;
|
|
75
75
|
|
|
76
76
|
test('sends initSuccess action with defaults on success if no persisted settings are found', async () => {
|
|
77
|
-
sagaTester.dispatch(initSettingsAction())
|
|
78
|
-
await sagaTester.waitFor('settings/initSettingsSuccessAction')
|
|
79
|
-
const calledActions = sagaTester.getCalledActions()
|
|
80
|
-
expect(calledActions).toHaveLength(2)
|
|
81
|
-
expect(calledActions[0]).toEqual(initSettingsAction())
|
|
77
|
+
sagaTester.dispatch(initSettingsAction());
|
|
78
|
+
await sagaTester.waitFor('settings/initSettingsSuccessAction');
|
|
79
|
+
const calledActions = sagaTester.getCalledActions();
|
|
80
|
+
expect(calledActions).toHaveLength(2);
|
|
81
|
+
expect(calledActions[0]).toEqual(initSettingsAction());
|
|
82
82
|
expect(calledActions[1]).toEqual(
|
|
83
83
|
initSettingsSuccessAction({
|
|
84
84
|
...defaultSettings,
|
|
85
85
|
})
|
|
86
|
-
)
|
|
87
|
-
})
|
|
86
|
+
);
|
|
87
|
+
});
|
|
88
88
|
|
|
89
89
|
test('sends initSettingsSuccessAction with persisted language on success', async () => {
|
|
90
90
|
jest
|
|
91
91
|
.spyOn(getEnvAdaptor(), 'localStorageGetItem')
|
|
92
|
-
.mockResolvedValueOnce(JSON.stringify({ sdkLanguage: 'Go' }))
|
|
92
|
+
.mockResolvedValueOnce(JSON.stringify({ sdkLanguage: 'Go' }));
|
|
93
93
|
|
|
94
|
-
sagaTester.dispatch(initSettingsAction())
|
|
95
|
-
await sagaTester.waitFor('settings/initSettingsSuccessAction')
|
|
96
|
-
const calledActions = sagaTester.getCalledActions()
|
|
97
|
-
expect(calledActions).toHaveLength(2)
|
|
98
|
-
expect(calledActions[0]).toEqual(initSettingsAction())
|
|
94
|
+
sagaTester.dispatch(initSettingsAction());
|
|
95
|
+
await sagaTester.waitFor('settings/initSettingsSuccessAction');
|
|
96
|
+
const calledActions = sagaTester.getCalledActions();
|
|
97
|
+
expect(calledActions).toHaveLength(2);
|
|
98
|
+
expect(calledActions[0]).toEqual(initSettingsAction());
|
|
99
99
|
expect(calledActions[1]).toEqual(
|
|
100
100
|
initSettingsSuccessAction({
|
|
101
101
|
...defaultSettings,
|
|
102
102
|
sdkLanguage: 'Go',
|
|
103
103
|
})
|
|
104
|
-
)
|
|
105
|
-
})
|
|
104
|
+
);
|
|
105
|
+
});
|
|
106
106
|
|
|
107
107
|
test('sends initSettingsFailureAction on error', async () => {
|
|
108
|
-
const error = new Error('boom')
|
|
108
|
+
const error = new Error('boom');
|
|
109
109
|
jest
|
|
110
110
|
.spyOn(getEnvAdaptor(), 'localStorageGetItem')
|
|
111
|
-
.mockRejectedValueOnce(error)
|
|
112
|
-
|
|
113
|
-
sagaTester.dispatch(initSettingsAction())
|
|
114
|
-
await sagaTester.waitFor('settings/initSettingsFailureAction')
|
|
115
|
-
const calledActions = sagaTester.getCalledActions()
|
|
116
|
-
expect(calledActions).toHaveLength(2)
|
|
117
|
-
expect(calledActions[0]).toEqual(initSettingsAction())
|
|
118
|
-
expect(calledActions[1]).toEqual(initSettingsFailureAction(error))
|
|
119
|
-
})
|
|
120
|
-
})
|
|
121
|
-
})
|
|
111
|
+
.mockRejectedValueOnce(error);
|
|
112
|
+
|
|
113
|
+
sagaTester.dispatch(initSettingsAction());
|
|
114
|
+
await sagaTester.waitFor('settings/initSettingsFailureAction');
|
|
115
|
+
const calledActions = sagaTester.getCalledActions();
|
|
116
|
+
expect(calledActions).toHaveLength(2);
|
|
117
|
+
expect(calledActions[0]).toEqual(initSettingsAction());
|
|
118
|
+
expect(calledActions[1]).toEqual(initSettingsFailureAction(error));
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
});
|
|
@@ -23,38 +23,38 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import {
|
|
26
|
+
import { call, put, select, takeEvery } from 'typed-redux-saga';
|
|
27
27
|
|
|
28
|
-
import { getEnvAdaptor } from '@looker/extension-utils'
|
|
29
|
-
import { StoreConstants } from '@looker/run-it'
|
|
30
|
-
import type { RootState } from '../store'
|
|
31
|
-
import {
|
|
28
|
+
import { getEnvAdaptor } from '@looker/extension-utils';
|
|
29
|
+
import { StoreConstants } from '@looker/run-it';
|
|
30
|
+
import type { RootState } from '../store';
|
|
31
|
+
import { defaultSettings, settingActions } from './slice';
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Serializes state to local storage
|
|
35
35
|
*/
|
|
36
36
|
function* serializeToLocalStorageSaga() {
|
|
37
|
-
const adaptor = getEnvAdaptor()
|
|
37
|
+
const adaptor = getEnvAdaptor();
|
|
38
38
|
const settings = yield* select((state: RootState) => ({
|
|
39
39
|
sdkLanguage: state.settings.sdkLanguage,
|
|
40
|
-
}))
|
|
40
|
+
}));
|
|
41
41
|
adaptor.localStorageSetItem(
|
|
42
42
|
StoreConstants.LOCALSTORAGE_SETTINGS_KEY,
|
|
43
43
|
JSON.stringify(settings)
|
|
44
|
-
)
|
|
44
|
+
);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* Returns default settings overridden with any persisted state in local storage
|
|
49
49
|
*/
|
|
50
50
|
async function deserializeLocalStorage() {
|
|
51
|
-
const adaptor = getEnvAdaptor()
|
|
51
|
+
const adaptor = getEnvAdaptor();
|
|
52
52
|
const settings = await adaptor.localStorageGetItem(
|
|
53
53
|
StoreConstants.LOCALSTORAGE_SETTINGS_KEY
|
|
54
|
-
)
|
|
54
|
+
);
|
|
55
55
|
return settings
|
|
56
56
|
? { ...defaultSettings, ...JSON.parse(settings) }
|
|
57
|
-
: defaultSettings
|
|
57
|
+
: defaultSettings;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
/**
|
|
@@ -62,18 +62,18 @@ async function deserializeLocalStorage() {
|
|
|
62
62
|
*/
|
|
63
63
|
function* initSaga() {
|
|
64
64
|
const { initSettingsSuccessAction, initSettingsFailureAction } =
|
|
65
|
-
settingActions
|
|
65
|
+
settingActions;
|
|
66
66
|
try {
|
|
67
|
-
const settings = yield* call(deserializeLocalStorage)
|
|
68
|
-
yield* put(initSettingsSuccessAction(settings))
|
|
67
|
+
const settings = yield* call(deserializeLocalStorage);
|
|
68
|
+
yield* put(initSettingsSuccessAction(settings));
|
|
69
69
|
} catch (error: any) {
|
|
70
|
-
yield* put(initSettingsFailureAction(error))
|
|
70
|
+
yield* put(initSettingsFailureAction(error));
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
export function* saga() {
|
|
75
|
-
const { initSettingsAction, setSdkLanguageAction } = settingActions
|
|
75
|
+
const { initSettingsAction, setSdkLanguageAction } = settingActions;
|
|
76
76
|
|
|
77
|
-
yield* takeEvery(initSettingsAction, initSaga)
|
|
78
|
-
yield* takeEvery(setSdkLanguageAction, serializeToLocalStorageSaga)
|
|
77
|
+
yield* takeEvery(initSettingsAction, initSaga);
|
|
78
|
+
yield* takeEvery(setSdkLanguageAction, serializeToLocalStorageSaga);
|
|
79
79
|
}
|
|
@@ -23,25 +23,25 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import { createTestStore, preloadedState } from '../../test-utils'
|
|
27
|
-
import {
|
|
26
|
+
import { createTestStore, preloadedState } from '../../test-utils';
|
|
27
|
+
import { isInitialized, selectSdkLanguage, selectTagFilter } from './selectors';
|
|
28
28
|
|
|
29
|
-
const testStore = createTestStore()
|
|
29
|
+
const testStore = createTestStore();
|
|
30
30
|
|
|
31
31
|
describe('Settings selectors', () => {
|
|
32
|
-
const state = testStore.getState()
|
|
32
|
+
const state = testStore.getState();
|
|
33
33
|
|
|
34
34
|
test('selectSdkLanguage selects', () => {
|
|
35
35
|
expect(selectSdkLanguage(state)).toEqual(
|
|
36
36
|
preloadedState.settings.sdkLanguage
|
|
37
|
-
)
|
|
38
|
-
})
|
|
37
|
+
);
|
|
38
|
+
});
|
|
39
39
|
|
|
40
40
|
test('selectTagFilter selects', () => {
|
|
41
|
-
expect(selectTagFilter(state)).toEqual(preloadedState.settings.tagFilter)
|
|
42
|
-
})
|
|
41
|
+
expect(selectTagFilter(state)).toEqual(preloadedState.settings.tagFilter);
|
|
42
|
+
});
|
|
43
43
|
|
|
44
44
|
test('isInitialized selects', () => {
|
|
45
|
-
expect(isInitialized(state)).toEqual(preloadedState.settings.initialized)
|
|
46
|
-
})
|
|
47
|
-
})
|
|
45
|
+
expect(isInitialized(state)).toEqual(preloadedState.settings.initialized);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
@@ -23,21 +23,21 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import type { RootState } from '../store'
|
|
26
|
+
import type { RootState } from '../store';
|
|
27
27
|
|
|
28
|
-
const selectSettingsState = (state: RootState) => state.settings
|
|
28
|
+
const selectSettingsState = (state: RootState) => state.settings;
|
|
29
29
|
|
|
30
30
|
export const selectSdkLanguage = (state: RootState) =>
|
|
31
|
-
selectSettingsState(state).sdkLanguage
|
|
31
|
+
selectSettingsState(state).sdkLanguage;
|
|
32
32
|
|
|
33
33
|
export const selectSearchPattern = (state: RootState) =>
|
|
34
|
-
selectSettingsState(state).searchPattern
|
|
34
|
+
selectSettingsState(state).searchPattern;
|
|
35
35
|
|
|
36
36
|
export const selectSearchCriteria = (state: RootState) =>
|
|
37
|
-
selectSettingsState(state).searchCriteria
|
|
37
|
+
selectSettingsState(state).searchCriteria;
|
|
38
38
|
|
|
39
39
|
export const selectTagFilter = (state: RootState) =>
|
|
40
|
-
selectSettingsState(state).tagFilter
|
|
40
|
+
selectSettingsState(state).tagFilter;
|
|
41
41
|
|
|
42
42
|
export const isInitialized = (state: RootState) =>
|
|
43
|
-
selectSettingsState(state).initialized
|
|
43
|
+
selectSettingsState(state).initialized;
|
|
@@ -23,24 +23,24 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import { createSlice } from '@reduxjs/toolkit'
|
|
27
|
-
import type { PayloadAction } from '@reduxjs/toolkit'
|
|
28
|
-
import { createSliceHooks } from '@looker/redux'
|
|
29
|
-
import type { SearchCriterionTerm } from '@looker/sdk-codegen'
|
|
30
|
-
import { SearchAll, setToCriteria } from '@looker/sdk-codegen'
|
|
26
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
27
|
+
import type { PayloadAction } from '@reduxjs/toolkit';
|
|
28
|
+
import { createSliceHooks } from '@looker/redux';
|
|
29
|
+
import type { SearchCriterionTerm } from '@looker/sdk-codegen';
|
|
30
|
+
import { SearchAll, setToCriteria } from '@looker/sdk-codegen';
|
|
31
31
|
|
|
32
|
-
import { saga } from './sagas'
|
|
32
|
+
import { saga } from './sagas';
|
|
33
33
|
|
|
34
34
|
export interface UserDefinedSettings {
|
|
35
|
-
sdkLanguage: string
|
|
35
|
+
sdkLanguage: string;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
export interface SettingState extends UserDefinedSettings {
|
|
39
|
-
searchPattern: string
|
|
40
|
-
searchCriteria: SearchCriterionTerm[]
|
|
41
|
-
tagFilter: string
|
|
42
|
-
initialized: boolean
|
|
43
|
-
error?: Error
|
|
39
|
+
searchPattern: string;
|
|
40
|
+
searchCriteria: SearchCriterionTerm[];
|
|
41
|
+
tagFilter: string;
|
|
42
|
+
initialized: boolean;
|
|
43
|
+
error?: Error;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
export const defaultSettings = {
|
|
@@ -48,18 +48,18 @@ export const defaultSettings = {
|
|
|
48
48
|
searchPattern: '',
|
|
49
49
|
searchCriteria: setToCriteria(SearchAll) as SearchCriterionTerm[],
|
|
50
50
|
tagFilter: 'ALL',
|
|
51
|
-
}
|
|
51
|
+
};
|
|
52
52
|
|
|
53
53
|
export const defaultSettingsState: SettingState = {
|
|
54
54
|
...defaultSettings,
|
|
55
55
|
initialized: false,
|
|
56
|
-
}
|
|
56
|
+
};
|
|
57
57
|
|
|
58
|
-
type SetSearchPatternAction = Pick<SettingState, 'searchPattern'
|
|
59
|
-
type SetSdkLanguageAction = Pick<SettingState, 'sdkLanguage'
|
|
60
|
-
type SetTagFilterAction = Pick<SettingState, 'tagFilter'
|
|
58
|
+
type SetSearchPatternAction = Pick<SettingState, 'searchPattern'>;
|
|
59
|
+
type SetSdkLanguageAction = Pick<SettingState, 'sdkLanguage'>;
|
|
60
|
+
type SetTagFilterAction = Pick<SettingState, 'tagFilter'>;
|
|
61
61
|
|
|
62
|
-
export type InitSuccessPayload = UserDefinedSettings
|
|
62
|
+
export type InitSuccessPayload = UserDefinedSettings;
|
|
63
63
|
|
|
64
64
|
export const settingsSlice = createSlice({
|
|
65
65
|
name: 'settings',
|
|
@@ -71,30 +71,30 @@ export const settingsSlice = createSlice({
|
|
|
71
71
|
state,
|
|
72
72
|
action: PayloadAction<InitSuccessPayload>
|
|
73
73
|
) {
|
|
74
|
-
state.sdkLanguage = action.payload.sdkLanguage
|
|
75
|
-
state.initialized = true
|
|
74
|
+
state.sdkLanguage = action.payload.sdkLanguage;
|
|
75
|
+
state.initialized = true;
|
|
76
76
|
},
|
|
77
77
|
initSettingsFailureAction(state, action: PayloadAction<Error>) {
|
|
78
|
-
state.error = action.payload
|
|
79
|
-
state.initialized = false
|
|
78
|
+
state.error = action.payload;
|
|
79
|
+
state.initialized = false;
|
|
80
80
|
},
|
|
81
81
|
setSdkLanguageAction(state, action: PayloadAction<SetSdkLanguageAction>) {
|
|
82
|
-
state.sdkLanguage = action.payload.sdkLanguage
|
|
82
|
+
state.sdkLanguage = action.payload.sdkLanguage;
|
|
83
83
|
},
|
|
84
84
|
setSearchPatternAction(
|
|
85
85
|
state,
|
|
86
86
|
action: PayloadAction<SetSearchPatternAction>
|
|
87
87
|
) {
|
|
88
|
-
state.searchPattern = action.payload.searchPattern
|
|
88
|
+
state.searchPattern = action.payload.searchPattern;
|
|
89
89
|
},
|
|
90
90
|
setTagFilterAction(state, action: PayloadAction<SetTagFilterAction>) {
|
|
91
|
-
state.tagFilter = action.payload.tagFilter
|
|
91
|
+
state.tagFilter = action.payload.tagFilter;
|
|
92
92
|
},
|
|
93
93
|
},
|
|
94
|
-
})
|
|
94
|
+
});
|
|
95
95
|
|
|
96
|
-
export const settingActions = settingsSlice.actions
|
|
96
|
+
export const settingActions = settingsSlice.actions;
|
|
97
97
|
export const {
|
|
98
98
|
useActions: useSettingActions,
|
|
99
99
|
useStoreState: useSettingStoreState,
|
|
100
|
-
} = createSliceHooks(settingsSlice, saga)
|
|
100
|
+
} = createSliceHooks(settingsSlice, saga);
|
package/src/state/specs/index.ts
CHANGED
|
@@ -23,113 +23,113 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import ReduxSagaTester from 'redux-saga-tester'
|
|
27
|
-
import { registerTestEnvAdaptor } from '@looker/extension-utils'
|
|
28
|
-
import { initRunItSdk } from '@looker/run-it'
|
|
29
|
-
import cloneDeep from 'lodash/cloneDeep'
|
|
30
|
-
import { ApixAdaptor } from '../../utils'
|
|
26
|
+
import ReduxSagaTester from 'redux-saga-tester';
|
|
27
|
+
import { registerTestEnvAdaptor } from '@looker/extension-utils';
|
|
28
|
+
import { initRunItSdk } from '@looker/run-it';
|
|
29
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
30
|
+
import { ApixAdaptor } from '../../utils';
|
|
31
31
|
|
|
32
|
-
import { getLoadedSpecs } from '../../test-data'
|
|
33
|
-
import { specActions, specsSlice } from './slice'
|
|
34
|
-
import * as sagas from './sagas'
|
|
32
|
+
import { getLoadedSpecs } from '../../test-data';
|
|
33
|
+
import { specActions, specsSlice } from './slice';
|
|
34
|
+
import * as sagas from './sagas';
|
|
35
35
|
|
|
36
36
|
describe('Specs Sagas', () => {
|
|
37
|
-
let sagaTester: ReduxSagaTester<any
|
|
38
|
-
const adaptor = new ApixAdaptor(initRunItSdk(), '')
|
|
39
|
-
registerTestEnvAdaptor(adaptor)
|
|
40
|
-
const specState = getLoadedSpecs()
|
|
41
|
-
const mockError = new Error('boom')
|
|
37
|
+
let sagaTester: ReduxSagaTester<any>;
|
|
38
|
+
const adaptor = new ApixAdaptor(initRunItSdk(), '');
|
|
39
|
+
registerTestEnvAdaptor(adaptor);
|
|
40
|
+
const specState = getLoadedSpecs();
|
|
41
|
+
const mockError = new Error('boom');
|
|
42
42
|
|
|
43
43
|
beforeEach(() => {
|
|
44
|
-
jest.resetAllMocks()
|
|
44
|
+
jest.resetAllMocks();
|
|
45
45
|
sagaTester = new ReduxSagaTester({
|
|
46
46
|
initialState: { specs: { specs: specState } },
|
|
47
47
|
reducers: {
|
|
48
48
|
specs: specsSlice.reducer,
|
|
49
49
|
},
|
|
50
|
-
})
|
|
51
|
-
sagaTester.start(sagas.saga)
|
|
52
|
-
})
|
|
50
|
+
});
|
|
51
|
+
sagaTester.start(sagas.saga);
|
|
52
|
+
});
|
|
53
53
|
|
|
54
54
|
describe('initSaga', () => {
|
|
55
55
|
const { initSpecsAction, initSpecsFailureAction, initSpecsSuccessAction } =
|
|
56
|
-
specActions
|
|
56
|
+
specActions;
|
|
57
57
|
|
|
58
58
|
it('sends initSpecsFailureAction on error', async () => {
|
|
59
|
-
jest.spyOn(adaptor, 'fetchSpecList').mockRejectedValueOnce(mockError)
|
|
59
|
+
jest.spyOn(adaptor, 'fetchSpecList').mockRejectedValueOnce(mockError);
|
|
60
60
|
|
|
61
|
-
sagaTester.dispatch(initSpecsAction({ specKey: null }))
|
|
62
|
-
await sagaTester.waitFor('specs/initSpecsFailureAction')
|
|
63
|
-
const calledActions = sagaTester.getCalledActions()
|
|
64
|
-
expect(calledActions).toHaveLength(2)
|
|
65
|
-
expect(calledActions[0]).toEqual(initSpecsAction({ specKey: null }))
|
|
66
|
-
expect(calledActions[1]).toEqual(initSpecsFailureAction(mockError))
|
|
67
|
-
})
|
|
61
|
+
sagaTester.dispatch(initSpecsAction({ specKey: null }));
|
|
62
|
+
await sagaTester.waitFor('specs/initSpecsFailureAction');
|
|
63
|
+
const calledActions = sagaTester.getCalledActions();
|
|
64
|
+
expect(calledActions).toHaveLength(2);
|
|
65
|
+
expect(calledActions[0]).toEqual(initSpecsAction({ specKey: null }));
|
|
66
|
+
expect(calledActions[1]).toEqual(initSpecsFailureAction(mockError));
|
|
67
|
+
});
|
|
68
68
|
|
|
69
69
|
it('sends initSpecsSuccessAction on success', async () => {
|
|
70
70
|
// fetchSpecList returns the test specs
|
|
71
71
|
jest
|
|
72
72
|
.spyOn(adaptor, 'fetchSpecList')
|
|
73
|
-
.mockResolvedValueOnce(cloneDeep(specState))
|
|
73
|
+
.mockResolvedValueOnce(cloneDeep(specState));
|
|
74
74
|
|
|
75
|
-
const currentSpec = specState['3.1']
|
|
76
|
-
jest.spyOn(adaptor, 'fetchSpec').mockResolvedValueOnce(currentSpec!)
|
|
75
|
+
const currentSpec = specState['3.1'];
|
|
76
|
+
jest.spyOn(adaptor, 'fetchSpec').mockResolvedValueOnce(currentSpec!);
|
|
77
77
|
|
|
78
78
|
// expected state is all the specs with the current spec containing the ApiModel
|
|
79
|
-
const expected = cloneDeep(specState)
|
|
80
|
-
expected[currentSpec.key] = currentSpec
|
|
81
|
-
|
|
82
|
-
sagaTester.dispatch(initSpecsAction({ specKey: null }))
|
|
83
|
-
await sagaTester.waitFor('specs/initSpecsSuccessAction')
|
|
84
|
-
const calledActions = sagaTester.getCalledActions()
|
|
85
|
-
expect(calledActions).toHaveLength(2)
|
|
86
|
-
expect(calledActions[0]).toEqual(initSpecsAction({ specKey: null }))
|
|
79
|
+
const expected = cloneDeep(specState);
|
|
80
|
+
expected[currentSpec.key] = currentSpec;
|
|
81
|
+
|
|
82
|
+
sagaTester.dispatch(initSpecsAction({ specKey: null }));
|
|
83
|
+
await sagaTester.waitFor('specs/initSpecsSuccessAction');
|
|
84
|
+
const calledActions = sagaTester.getCalledActions();
|
|
85
|
+
expect(calledActions).toHaveLength(2);
|
|
86
|
+
expect(calledActions[0]).toEqual(initSpecsAction({ specKey: null }));
|
|
87
87
|
expect(calledActions[1]).toEqual(
|
|
88
88
|
initSpecsSuccessAction({
|
|
89
89
|
specs: expected,
|
|
90
90
|
currentSpecKey: currentSpec.key,
|
|
91
91
|
})
|
|
92
|
-
)
|
|
93
|
-
})
|
|
94
|
-
})
|
|
92
|
+
);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
95
|
|
|
96
96
|
describe('setCurrentSpecSaga', () => {
|
|
97
97
|
const {
|
|
98
98
|
setCurrentSpecAction,
|
|
99
99
|
setCurrentSpecSuccessAction,
|
|
100
100
|
setCurrentSpecFailureAction,
|
|
101
|
-
} = specActions
|
|
102
|
-
const spec = specState['4.0']
|
|
101
|
+
} = specActions;
|
|
102
|
+
const spec = specState['4.0'];
|
|
103
103
|
|
|
104
104
|
it('sends setCurrentSpecSuccessAction on success', async () => {
|
|
105
|
-
jest.spyOn(adaptor, 'fetchSpec').mockResolvedValueOnce(spec)
|
|
105
|
+
jest.spyOn(adaptor, 'fetchSpec').mockResolvedValueOnce(spec);
|
|
106
106
|
|
|
107
|
-
sagaTester.dispatch(setCurrentSpecAction({ currentSpecKey: spec.key }))
|
|
108
|
-
await sagaTester.waitFor('specs/setCurrentSpecAction')
|
|
109
|
-
const calledActions = sagaTester.getCalledActions()
|
|
110
|
-
expect(calledActions).toHaveLength(2)
|
|
107
|
+
sagaTester.dispatch(setCurrentSpecAction({ currentSpecKey: spec.key }));
|
|
108
|
+
await sagaTester.waitFor('specs/setCurrentSpecAction');
|
|
109
|
+
const calledActions = sagaTester.getCalledActions();
|
|
110
|
+
expect(calledActions).toHaveLength(2);
|
|
111
111
|
expect(calledActions[0]).toEqual(
|
|
112
112
|
setCurrentSpecAction({ currentSpecKey: spec.key })
|
|
113
|
-
)
|
|
113
|
+
);
|
|
114
114
|
expect(calledActions[1]).toEqual(
|
|
115
115
|
setCurrentSpecSuccessAction({
|
|
116
116
|
api: spec.api!,
|
|
117
117
|
currentSpecKey: spec.key,
|
|
118
118
|
})
|
|
119
|
-
)
|
|
120
|
-
})
|
|
119
|
+
);
|
|
120
|
+
});
|
|
121
121
|
|
|
122
122
|
it('sends setCurrentSpecFailureAction on failure', async () => {
|
|
123
|
-
jest.spyOn(adaptor, 'fetchSpec').mockRejectedValueOnce(mockError)
|
|
123
|
+
jest.spyOn(adaptor, 'fetchSpec').mockRejectedValueOnce(mockError);
|
|
124
124
|
|
|
125
|
-
sagaTester.dispatch(setCurrentSpecAction({ currentSpecKey: spec.key }))
|
|
126
|
-
await sagaTester.waitFor('specs/setCurrentSpecAction')
|
|
127
|
-
const calledActions = sagaTester.getCalledActions()
|
|
128
|
-
expect(calledActions).toHaveLength(2)
|
|
125
|
+
sagaTester.dispatch(setCurrentSpecAction({ currentSpecKey: spec.key }));
|
|
126
|
+
await sagaTester.waitFor('specs/setCurrentSpecAction');
|
|
127
|
+
const calledActions = sagaTester.getCalledActions();
|
|
128
|
+
expect(calledActions).toHaveLength(2);
|
|
129
129
|
expect(calledActions[0]).toEqual(
|
|
130
130
|
setCurrentSpecAction({ currentSpecKey: spec.key })
|
|
131
|
-
)
|
|
132
|
-
expect(calledActions[1]).toEqual(setCurrentSpecFailureAction(mockError))
|
|
133
|
-
})
|
|
134
|
-
})
|
|
135
|
-
})
|
|
131
|
+
);
|
|
132
|
+
expect(calledActions[1]).toEqual(setCurrentSpecFailureAction(mockError));
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
});
|