addlevel and getlevel tests

This commit is contained in:
realaravinth
2021-05-06 14:38:42 +05:30
parent 30f457ca43
commit 6069509504
10 changed files with 199 additions and 10 deletions

View File

@@ -0,0 +1,42 @@
/*
* Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import getLevelFields from './getLevelFields';
import {getAddForm, addLevel} from '../setupTests';
import {Level} from './index';
//import CONST from '../const';
document.body.innerHTML = getAddForm();
const level1: Level = {
difficulty_factor: 200,
visitor_threshold: 500,
};
const level2: Level = {
difficulty_factor: 400,
visitor_threshold: 700,
};
it('get levels fields works', () => {
addLevel(level1.visitor_threshold, level1.difficulty_factor);
console.log(document.body.innerHTML);
expect(getLevelFields(1)).toEqual(level1);
addLevel(level2.visitor_threshold, level2.difficulty_factor);
expect(getLevelFields(2)).toEqual(level2);
});

View File

@@ -18,8 +18,6 @@
import {Level} from './index';
import CONST from '../const';
import isNumber from '../../../../../utils/isNumber';
/** Fetches level from DOM using the ID passesd and validates */
const getLevelFields = (id: number) => {
console.log(`[getLevelFields]: id: ${id}`);

View File

@@ -0,0 +1,30 @@
/*
* Copyright (C) 2021 Aravinth Manivannan <realaravinth@batsense.net>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import getNumLevels from './getNumLevels';
import {getAddForm, addLevel} from '../setupTests';
//import CONST from '../const';
document.body.innerHTML = getAddForm();
it('get num levels works', () => {
expect(getNumLevels()).toBe(1);
addLevel(2, 4);
expect(getNumLevels()).toBe(2);
addLevel(4, 9);
expect(getNumLevels()).toBe(3);
});

View File

@@ -17,11 +17,16 @@
import CONST from '../const';
import {mockAlert} from '../../../../../setUpTests';
mockAlert();
/** returns number of level input fields currently in DOM */
const getNumLevels = () => {
let numLevels = 0;
document.querySelectorAll(`.${CONST.LEVEL_CONTAINER_CLASS}`).forEach(_ => numLevels++);
document
.querySelectorAll(`.${CONST.LEVEL_CONTAINER_CLASS}`)
.forEach(_ => numLevels++);
console.debug(`[getNumLevels]: numLevels: ${numLevels}`);
return numLevels;
};