1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Refactor to using Feature and auto-register to register injectables

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
This commit is contained in:
Iku-turso 2023-03-15 10:09:11 +02:00
parent 62cd2957cc
commit 5d424b45d9
10 changed files with 21 additions and 34 deletions

View File

@ -1,8 +1,8 @@
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import messageToPlayerInjectable from "./message-to-player"; import messageToPlayerInjectable from "./message-to-player.injectable";
import castDieInjectable from "./cast-die"; import castDieInjectable from "./cast-die.injectable";
import monsterInjectable from "./monster"; import monsterInjectable from "./monster.injectable";
import handleLandedHitOnMonsterInjectable from "./handle-landed-hit-on-monster-for"; import handleLandedHitOnMonsterInjectable from "./handle-landed-hit-on-monster.injectable";
const handleAttackOnMonsterInjectable = getInjectable({ const handleAttackOnMonsterInjectable = getInjectable({
id: "handle-attack-on-monster", id: "handle-attack-on-monster",

View File

@ -1,6 +1,6 @@
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import questionToPlayerInjectable from "./question-to-player"; import questionToPlayerInjectable from "./question-to-player.injectable";
import messageToPlayerInjectable from "./message-to-player"; import messageToPlayerInjectable from "./message-to-player.injectable";
const handleAttackingTheMonsterAgainInjectable = getInjectable({ const handleAttackingTheMonsterAgainInjectable = getInjectable({
id: "handle-attacking-the-monster-again", id: "handle-attacking-the-monster-again",

View File

@ -1,7 +1,7 @@
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import messageToPlayerInjectable from "./message-to-player"; import messageToPlayerInjectable from "./message-to-player.injectable";
import questionToPlayerInjectable from "./question-to-player"; import questionToPlayerInjectable from "./question-to-player.injectable";
import monsterInjectable from "./monster"; import monsterInjectable from "./monster.injectable";
const handleInitialMonsterEncounterInjectable = getInjectable({ const handleInitialMonsterEncounterInjectable = getInjectable({
id: "handle-initial-monster-encounter", id: "handle-initial-monster-encounter",

View File

@ -1,6 +1,6 @@
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import monsterInjectable from "./monster"; import monsterInjectable from "./monster.injectable";
import messageToPlayerInjectable from "./message-to-player"; import messageToPlayerInjectable from "./message-to-player.injectable";
const handleLandedHitOnMonsterInjectable = getInjectable({ const handleLandedHitOnMonsterInjectable = getInjectable({
id: "handle-landed-hit-on-monster", id: "handle-landed-hit-on-monster",

View File

@ -1,7 +1,7 @@
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import handleInitialMonsterEncounterInjectable from "./handle-initial-monster-encounter-for"; import handleInitialMonsterEncounterInjectable from "./handle-initial-monster-encounter.injectable";
import handleAttackOnMonsterInjectable from "./handle-attack-on-monster-for"; import handleAttackOnMonsterInjectable from "./handle-attack-on-monster.injectable";
import handleAttackingTheMonsterAgainInjectable from "./handle-attacking-the-monster-again-for"; import handleAttackingTheMonsterAgainInjectable from "./handle-attacking-the-monster-again.injectable";
export type Dependencies = { export type Dependencies = {
messageToPlayer: (message: string) => void; messageToPlayer: (message: string) => void;

View File

@ -1,15 +1,12 @@
import { Dependencies, gameInjectable } from "./monster-beatdown"; import { Dependencies, gameInjectable } from "./monster-beatdown.injectable";
import asyncFn, { AsyncFnMock } from "@async-fn/jest"; import asyncFn, { AsyncFnMock } from "@async-fn/jest";
import { getPromiseStatus } from "@k8slens/test-utils"; import { getPromiseStatus } from "@k8slens/test-utils";
import { createContainer } from "@ogre-tools/injectable"; import { createContainer } from "@ogre-tools/injectable";
import messageToPlayerInjectable from "./message-to-player"; import messageToPlayerInjectable from "./message-to-player.injectable";
import castDieInjectable from "./cast-die"; import castDieInjectable from "./cast-die.injectable";
import questionToPlayerInjectable from "./question-to-player"; import questionToPlayerInjectable from "./question-to-player.injectable";
import handleInitialMonsterEncounterInjectable from "./handle-initial-monster-encounter-for"; import { registerFeature } from "@k8slens/feature-core";
import monsterInjectable from "./monster"; import { gabrielFeature } from "./feature";
import handleAttackOnMonsterInjectable from "./handle-attack-on-monster-for";
import handleLandedHitOnMonsterInjectable from "./handle-landed-hit-on-monster-for";
import handleAttackingTheMonsterAgainInjectable from "./handle-attacking-the-monster-again-for";
describe("monster-beatdown", () => { describe("monster-beatdown", () => {
let game: { start: () => Promise<void> }; let game: { start: () => Promise<void> };
@ -21,17 +18,7 @@ describe("monster-beatdown", () => {
beforeEach(() => { beforeEach(() => {
const di = createContainer("monster-beatdown"); const di = createContainer("monster-beatdown");
di.register( registerFeature(di, gabrielFeature);
castDieInjectable,
gameInjectable,
handleAttackOnMonsterInjectable,
handleAttackingTheMonsterAgainInjectable,
handleInitialMonsterEncounterInjectable,
handleLandedHitOnMonsterInjectable,
messageToPlayerInjectable,
monsterInjectable,
questionToPlayerInjectable,
);
messageToPlayerMock = jest.fn(); messageToPlayerMock = jest.fn();
di.override(messageToPlayerInjectable, () => messageToPlayerMock); di.override(messageToPlayerInjectable, () => messageToPlayerMock);