import { test, expect } from '@playwright/test'; import {GamesystemTrainer} from "../GamesystemTrainer"; import {SimpleActionTrainer} from "./SimpleActionTrainer"; import {ScriptAccount} from "../../../../src/app/project/gamemodel/scriptAccounts/ScriptAccount"; import {ScriptAccountAction} from "../../../../src/app/project/gamemodel/gamesystems/actions/ScriptAccountAction"; test.describe('Test Create SimpleActions', () => { test('Test creating gamesystem with invalid name', async => { const gameModel = GamesystemTrainer.givenEmptyGameModel(); let result = gameModel.createGamesystem(undefined, undefined); expect(result).toBeUndefined(); result = gameModel.createGamesystem(null, undefined); expect(result).toBeUndefined(); }) test("Adding invalid actions", async () => { const transition = SimpleActionTrainer.withEmptyActions(); transition.addScriptAccountAction(null); expect(transition.scriptAccountActions.length).toEqual(0); transition.addScriptAccountAction(undefined); expect(transition.scriptAccountActions.length).toEqual(0); }) test("Adding not existing action", async () => { const transition = SimpleActionTrainer.withEmptyActions(); const scriptAccount = new ScriptAccount("test", ""); const action = new ScriptAccountAction(scriptAccount, 10); transition.addScriptAccountAction(action); expect(transition.scriptAccountActions.length).toEqual(1); expect(transition.scriptAccountActions[0].scriptAccount).toEqual(action.scriptAccount); expect(transition.scriptAccountActions[0].changingValue).toEqual(10); }) test("Adding existing action", async () => { const transition = SimpleActionTrainer.withSingleAction(); const action = transition.scriptAccountActions[0]; transition.addScriptAccountAction(action); expect(transition.scriptAccountActions.length).toEqual(1); expect(transition.scriptAccountActions[0].changingValue).toEqual(20); expect(transition.scriptAccountActions[0].scriptAccount).toEqual(action.scriptAccount); }) test("Adding not existing action into non empty actions", async () => { const transition = SimpleActionTrainer.withSingleAction(); const scriptAccount = new ScriptAccount("Tes", ""); transition.addScriptAccountAction(new ScriptAccountAction(scriptAccount, 10)); expect(transition.scriptAccountActions.length).toEqual(2); }) });