Adapt test setup to changes in preference navigation

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne SavolainenandMikko Aspiala committed 2022-10-21 08:23:16 +03:00
1 parent 852dee6c04
commit bdd901b3e0
1 file changed
+35 -44
@@ -10,7 +10,6 @@ import { getApplicationBuilder } from "../../renderer/components/test-utils/get-
import currentPathInjectable from "../../renderer/routes/current-path.injectable"; import currentPathInjectable from "../../renderer/routes/current-path.injectable";
import { frontEndRouteInjectionToken } from "../../common/front-end-routing/front-end-route-injection-token"; import { frontEndRouteInjectionToken } from "../../common/front-end-routing/front-end-route-injection-token";
import { computed, runInAction } from "mobx"; import { computed, runInAction } from "mobx";
import { preferenceNavigationItemInjectionToken } from "../../renderer/components/+preferences/preferences-navigation/preference-navigation-items.injectable";
import React from "react"; import React from "react";
import { routeSpecificComponentInjectionToken } from "../../renderer/routes/route-specific-component-injection-token"; import { routeSpecificComponentInjectionToken } from "../../renderer/routes/route-specific-component-injection-token";
import observableHistoryInjectable from "../../renderer/navigation/observable-history.injectable"; import observableHistoryInjectable from "../../renderer/navigation/observable-history.injectable";
@@ -19,8 +18,6 @@ import { createMemoryHistory } from "history";
import { createObservableHistory } from "mobx-observable-history"; import { createObservableHistory } from "mobx-observable-history";
import navigateToFrontPageInjectable from "../../common/front-end-routing/navigate-to-front-page.injectable"; import navigateToFrontPageInjectable from "../../common/front-end-routing/navigate-to-front-page.injectable";
import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token"; import { navigateToRouteInjectionToken } from "../../common/front-end-routing/navigate-to-route-injection-token";
import navigateToPreferenceTabInjectable from "./renderer/preference-navigation/navigate-to-preference-tab/navigate-to-preference-tab.injectable";
import preferenceTabIsActiveInjectable from "./renderer/preference-navigation/navigate-to-preference-tab/preference-tab-is-active.injectable";
import { preferenceItemInjectionToken } from "./renderer/preference-items/preference-item-injection-token"; import { preferenceItemInjectionToken } from "./renderer/preference-items/preference-item-injection-token";
describe("preferences - closing-preferences", () => { describe("preferences - closing-preferences", () => {
@@ -31,12 +28,14 @@ describe("preferences - closing-preferences", () => {
builder.beforeWindowStart((windowDi) => { builder.beforeWindowStart((windowDi) => {
runInAction(() => { runInAction(() => {
windowDi.register(testPreferenceTabInjectable); windowDi.register(
windowDi.register(testRouteInjectable); testPreferenceTabInjectable,
windowDi.register(testRouteComponentInjectable); testPreferenceItemInjectable,
windowDi.register(testFrontPageRouteInjectable); testRouteInjectable,
windowDi.register(testFrontPageRouteComponentInjectable); testRouteComponentInjectable,
windowDi.register(testNavigationItemInjectable); testFrontPageRouteInjectable,
testFrontPageRouteComponentInjectable,
);
}); });
windowDi.override(navigateToFrontPageInjectable, (di) => { windowDi.override(navigateToFrontPageInjectable, (di) => {
@@ -101,7 +100,7 @@ describe("preferences - closing-preferences", () => {
describe("when navigating to a tab in preferences", () => { describe("when navigating to a tab in preferences", () => {
beforeEach(() => { beforeEach(() => {
builder.preferences.navigation.click( builder.preferences.navigation.click(
"some-test-preference-navigation-item-id", "some-path-id-for-some-test-tab-id",
); );
}); });
@@ -181,7 +180,7 @@ describe("preferences - closing-preferences", () => {
describe("when navigating to a tab in preferences", () => { describe("when navigating to a tab in preferences", () => {
beforeEach(() => { beforeEach(() => {
builder.preferences.navigation.click( builder.preferences.navigation.click(
"some-test-preference-navigation-item-id", "some-path-id-for-some-test-tab-id",
); );
}); });
@@ -212,23 +211,6 @@ describe("preferences - closing-preferences", () => {
}); });
}); });
const testPreferenceTabInjectable = getInjectable({
id: "test-preference-tab",
instantiate: () => ({
kind: "tab" as const,
id: "test-tab",
pathId: "test-tab",
parentId: "general-tab-group" as const,
testId: "some-test-id-for-test-tab",
label: "Test",
orderNumber: 90,
}),
injectionToken: preferenceItemInjectionToken,
});
const testFrontPageRouteInjectable = getInjectable({ const testFrontPageRouteInjectable = getInjectable({
id: "some-front-page", id: "some-front-page",
@@ -275,23 +257,32 @@ const testRouteComponentInjectable = getInjectable({
injectionToken: routeSpecificComponentInjectionToken, injectionToken: routeSpecificComponentInjectionToken,
}); });
const testNavigationItemInjectable = getInjectable({ const testPreferenceTabInjectable = getInjectable({
id: "some-test-preference-navigation-item-id", id: "test-preference-tab",
instantiate: (di) => { instantiate: () => ({
const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable); kind: "tab" as const,
const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "test-tab"); id: "some-test-tab-id",
pathId: "some-path-id-for-some-test-tab-id",
parentId: "general-tab-group" as const,
testId: "some-test-id-for-some-test-tab-id",
label: "Test tab",
orderNumber: 90,
}),
return { injectionToken: preferenceItemInjectionToken,
id: "some-test-preference-navigation-item-id", });
label: "Some preference navigation item",
parent: "general",
isActive: preferenceTabIsActive,
isVisible: computed(() => true),
navigate: () => navigateToPreferenceTab("test-tab"),
orderNumber: 100,
};
},
injectionToken: preferenceNavigationItemInjectionToken, const testPreferenceItemInjectable = getInjectable({
id: "test-preference-item",
instantiate: () => ({
kind: "item" as const,
id: "test-item",
parentId: "some-test-tab-id" as const,
Component: () => <div>irrelevant</div>,
orderNumber: 0,
}),
injectionToken: preferenceItemInjectionToken,
}); });