enefel 2.12.0 → 2.14.0
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/__tests__/getRaceSpecialSkills.test.ts +25 -23
- package/dist/__tests__/getRaceSpecialSkills.test.js +24 -20
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/package-lock.json +2 -2
- package/dist/package.json +1 -1
- package/dist/skill.d.ts +1 -0
- package/dist/skill.js +2 -2
- package/index.ts +1 -0
- package/package.json +1 -1
- package/skill.ts +2 -2
|
@@ -4,32 +4,27 @@ import { getRaceFromCareer, getRaceSpecialSkills } from "../race";
|
|
|
4
4
|
import { isSpecialSkill, SKILL_NAMES } from "../skill";
|
|
5
5
|
|
|
6
6
|
describe("getRaceSpecialSkills", () => {
|
|
7
|
-
it("devrait retourner
|
|
7
|
+
it("devrait retourner un tableau de compétences spéciales (ou vide)", () => {
|
|
8
8
|
const imperialSkills = getRaceSpecialSkills(RACE.IMPERIAL);
|
|
9
9
|
|
|
10
|
-
//
|
|
11
|
-
expect(imperialSkills).toContain("specialist");
|
|
12
|
-
expect(imperialSkills.length).toBeGreaterThan(0);
|
|
13
|
-
|
|
14
|
-
// Vérifier que toutes les compétences retournées sont bien spéciales
|
|
10
|
+
// Toutes les compétences retournées doivent être spéciales
|
|
15
11
|
imperialSkills.forEach((skill) => {
|
|
16
12
|
expect(isSpecialSkill(skill as SKILL_NAMES)).toBe(true);
|
|
17
13
|
});
|
|
18
14
|
});
|
|
19
15
|
|
|
20
|
-
it("devrait retourner '
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
it("ne devrait jamais retourner 'specialist' ou 'big-guy' (traits individuels, pas raciaux)", () => {
|
|
17
|
+
// Tester sur plusieurs races
|
|
18
|
+
const races = [RACE.IMPERIAL, RACE.VAMPIRE, RACE.AMAZON, RACE.HUMAN, RACE.ORC];
|
|
19
|
+
races.forEach((race) => {
|
|
20
|
+
const skills = getRaceSpecialSkills(race);
|
|
21
|
+
expect(skills).not.toContain("specialist");
|
|
22
|
+
expect(skills).not.toContain("big-guy");
|
|
23
|
+
});
|
|
28
24
|
});
|
|
29
25
|
|
|
30
26
|
it("devrait retourner un tableau vide pour une race sans compétences spéciales communes", () => {
|
|
31
27
|
const humanSkills = getRaceSpecialSkills(RACE.HUMAN);
|
|
32
|
-
// Human n'a pas de compétences spéciales communes à toutes les carrières
|
|
33
28
|
expect(Array.isArray(humanSkills)).toBe(true);
|
|
34
29
|
});
|
|
35
30
|
|
|
@@ -40,19 +35,26 @@ describe("getRaceSpecialSkills", () => {
|
|
|
40
35
|
expect(race).toBe(RACE.IMPERIAL);
|
|
41
36
|
|
|
42
37
|
const skills = getRaceSpecialSkills(race!);
|
|
43
|
-
expect(skills
|
|
44
|
-
|
|
38
|
+
expect(Array.isArray(skills)).toBe(true);
|
|
39
|
+
// Toutes les compétences retournées sont spéciales
|
|
40
|
+
skills.forEach((skill) => {
|
|
41
|
+
expect(isSpecialSkill(skill as SKILL_NAMES)).toBe(true);
|
|
42
|
+
});
|
|
45
43
|
});
|
|
46
44
|
|
|
47
|
-
it("devrait retourner les compétences
|
|
45
|
+
it("ne devrait retourner que les compétences présentes dans au moins 50% des carrières", () => {
|
|
48
46
|
const imperialSkills = getRaceSpecialSkills(RACE.IMPERIAL);
|
|
49
47
|
|
|
50
|
-
// Imperial a 5 carrières, donc le seuil est 3 (50% de 5 = 2.5, arrondi à 3)
|
|
51
|
-
// 'specialist' apparaît dans 3 carrières (thrower, blitzer, bodyguard)
|
|
52
|
-
// Donc 'specialist' devrait être retourné
|
|
53
|
-
expect(imperialSkills).toContain("specialist");
|
|
54
|
-
|
|
55
48
|
// 'big-guy' apparaît seulement dans 1 carrière (ogre), donc ne devrait pas être retourné
|
|
56
49
|
expect(imperialSkills).not.toContain("big-guy");
|
|
50
|
+
// 'specialist' est toujours filtré
|
|
51
|
+
expect(imperialSkills).not.toContain("specialist");
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it("devrait retourner un tableau (pas undefined/null) pour toutes les races", () => {
|
|
55
|
+
Object.values(RACE).forEach((race) => {
|
|
56
|
+
const skills = getRaceSpecialSkills(race as RACE);
|
|
57
|
+
expect(Array.isArray(skills)).toBe(true);
|
|
58
|
+
});
|
|
57
59
|
});
|
|
58
60
|
});
|
|
@@ -5,27 +5,24 @@ const career_1 = require("../career");
|
|
|
5
5
|
const race_1 = require("../race");
|
|
6
6
|
const skill_1 = require("../skill");
|
|
7
7
|
(0, globals_1.describe)("getRaceSpecialSkills", () => {
|
|
8
|
-
(0, globals_1.it)("devrait retourner
|
|
8
|
+
(0, globals_1.it)("devrait retourner un tableau de compétences spéciales (ou vide)", () => {
|
|
9
9
|
const imperialSkills = (0, race_1.getRaceSpecialSkills)(career_1.RACE.IMPERIAL);
|
|
10
|
-
//
|
|
11
|
-
(0, globals_1.expect)(imperialSkills).toContain("specialist");
|
|
12
|
-
(0, globals_1.expect)(imperialSkills.length).toBeGreaterThan(0);
|
|
13
|
-
// Vérifier que toutes les compétences retournées sont bien spéciales
|
|
10
|
+
// Toutes les compétences retournées doivent être spéciales
|
|
14
11
|
imperialSkills.forEach((skill) => {
|
|
15
12
|
(0, globals_1.expect)((0, skill_1.isSpecialSkill)(skill)).toBe(true);
|
|
16
13
|
});
|
|
17
14
|
});
|
|
18
|
-
(0, globals_1.it)("devrait retourner '
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
(0, globals_1.it)("ne devrait jamais retourner 'specialist' ou 'big-guy' (traits individuels, pas raciaux)", () => {
|
|
16
|
+
// Tester sur plusieurs races
|
|
17
|
+
const races = [career_1.RACE.IMPERIAL, career_1.RACE.VAMPIRE, career_1.RACE.AMAZON, career_1.RACE.HUMAN, career_1.RACE.ORC];
|
|
18
|
+
races.forEach((race) => {
|
|
19
|
+
const skills = (0, race_1.getRaceSpecialSkills)(race);
|
|
20
|
+
(0, globals_1.expect)(skills).not.toContain("specialist");
|
|
21
|
+
(0, globals_1.expect)(skills).not.toContain("big-guy");
|
|
22
|
+
});
|
|
25
23
|
});
|
|
26
24
|
(0, globals_1.it)("devrait retourner un tableau vide pour une race sans compétences spéciales communes", () => {
|
|
27
25
|
const humanSkills = (0, race_1.getRaceSpecialSkills)(career_1.RACE.HUMAN);
|
|
28
|
-
// Human n'a pas de compétences spéciales communes à toutes les carrières
|
|
29
26
|
(0, globals_1.expect)(Array.isArray(humanSkills)).toBe(true);
|
|
30
27
|
});
|
|
31
28
|
(0, globals_1.it)("devrait fonctionner avec un RACE obtenu depuis un CAREER_ID", () => {
|
|
@@ -33,16 +30,23 @@ const skill_1 = require("../skill");
|
|
|
33
30
|
const race = (0, race_1.getRaceFromCareer)(careerId);
|
|
34
31
|
(0, globals_1.expect)(race).toBe(career_1.RACE.IMPERIAL);
|
|
35
32
|
const skills = (0, race_1.getRaceSpecialSkills)(race);
|
|
36
|
-
(0, globals_1.expect)(skills
|
|
37
|
-
|
|
33
|
+
(0, globals_1.expect)(Array.isArray(skills)).toBe(true);
|
|
34
|
+
// Toutes les compétences retournées sont spéciales
|
|
35
|
+
skills.forEach((skill) => {
|
|
36
|
+
(0, globals_1.expect)((0, skill_1.isSpecialSkill)(skill)).toBe(true);
|
|
37
|
+
});
|
|
38
38
|
});
|
|
39
|
-
(0, globals_1.it)("devrait retourner les compétences
|
|
39
|
+
(0, globals_1.it)("ne devrait retourner que les compétences présentes dans au moins 50% des carrières", () => {
|
|
40
40
|
const imperialSkills = (0, race_1.getRaceSpecialSkills)(career_1.RACE.IMPERIAL);
|
|
41
|
-
// Imperial a 5 carrières, donc le seuil est 3 (50% de 5 = 2.5, arrondi à 3)
|
|
42
|
-
// 'specialist' apparaît dans 3 carrières (thrower, blitzer, bodyguard)
|
|
43
|
-
// Donc 'specialist' devrait être retourné
|
|
44
|
-
(0, globals_1.expect)(imperialSkills).toContain("specialist");
|
|
45
41
|
// 'big-guy' apparaît seulement dans 1 carrière (ogre), donc ne devrait pas être retourné
|
|
46
42
|
(0, globals_1.expect)(imperialSkills).not.toContain("big-guy");
|
|
43
|
+
// 'specialist' est toujours filtré
|
|
44
|
+
(0, globals_1.expect)(imperialSkills).not.toContain("specialist");
|
|
45
|
+
});
|
|
46
|
+
(0, globals_1.it)("devrait retourner un tableau (pas undefined/null) pour toutes les races", () => {
|
|
47
|
+
Object.values(career_1.RACE).forEach((race) => {
|
|
48
|
+
const skills = (0, race_1.getRaceSpecialSkills)(race);
|
|
49
|
+
(0, globals_1.expect)(Array.isArray(skills)).toBe(true);
|
|
50
|
+
});
|
|
47
51
|
});
|
|
48
52
|
});
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "enefel",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.0",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "enefel",
|
|
9
|
-
"version": "2.
|
|
9
|
+
"version": "2.14.0",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"csv-parse": "^6.1.0",
|
package/dist/package.json
CHANGED
package/dist/skill.d.ts
CHANGED
package/dist/skill.js
CHANGED
|
@@ -53,7 +53,7 @@ var SKILL_NAMES;
|
|
|
53
53
|
SKILL_NAMES["BRAWLER"] = "brawler";
|
|
54
54
|
SKILL_NAMES["BREATHE_FIRE"] = "breathe-fire";
|
|
55
55
|
SKILL_NAMES["BREAK_TACKLE"] = "break-tackle";
|
|
56
|
-
|
|
56
|
+
SKILL_NAMES["BULLSEYE"] = "bullseye";
|
|
57
57
|
SKILL_NAMES["CANNONEER"] = "cannoneer";
|
|
58
58
|
SKILL_NAMES["CATCH"] = "catch";
|
|
59
59
|
SKILL_NAMES["CHAINSAW"] = "chainsaw";
|
|
@@ -259,7 +259,7 @@ const SKILL_STRENGTH = [
|
|
|
259
259
|
SKILL_NAMES.ARM_BAR,
|
|
260
260
|
SKILL_NAMES.BRAWLER,
|
|
261
261
|
SKILL_NAMES.BREAK_TACKLE,
|
|
262
|
-
|
|
262
|
+
SKILL_NAMES.BULLSEYE,
|
|
263
263
|
// SKILL_NAMES.GRAB,
|
|
264
264
|
SKILL_NAMES.GUARD,
|
|
265
265
|
SKILL_NAMES.JUGGERNAUT,
|
package/index.ts
CHANGED
package/package.json
CHANGED
package/skill.ts
CHANGED
|
@@ -40,7 +40,7 @@ enum SKILL_NAMES {
|
|
|
40
40
|
BRAWLER = "brawler",
|
|
41
41
|
BREATHE_FIRE = "breathe-fire",
|
|
42
42
|
BREAK_TACKLE = "break-tackle",
|
|
43
|
-
|
|
43
|
+
BULLSEYE = "bullseye",
|
|
44
44
|
CANNONEER = "cannoneer",
|
|
45
45
|
CATCH = "catch",
|
|
46
46
|
CHAINSAW = "chainsaw",
|
|
@@ -252,7 +252,7 @@ const SKILL_STRENGTH: SKILL_NAMES[] = [
|
|
|
252
252
|
SKILL_NAMES.ARM_BAR,
|
|
253
253
|
SKILL_NAMES.BRAWLER,
|
|
254
254
|
SKILL_NAMES.BREAK_TACKLE,
|
|
255
|
-
|
|
255
|
+
SKILL_NAMES.BULLSEYE,
|
|
256
256
|
// SKILL_NAMES.GRAB,
|
|
257
257
|
SKILL_NAMES.GUARD,
|
|
258
258
|
SKILL_NAMES.JUGGERNAUT,
|