Add a Prismana-only filter with a rainbow star icon
All checks were successful
Deploy Sokko G / deploy (push) Successful in 17s
All checks were successful
Deploy Sokko G / deploy (push) Successful in 17s
This commit is contained in:
parent
14f1b79cbc
commit
2255de94a7
9 changed files with 69 additions and 1 deletions
|
|
@ -54,6 +54,19 @@ test("name searches accept French, English, accents and case", () => {
|
|||
assert.deepEqual(filter({ name: "inexistant-xyz" }), []);
|
||||
});
|
||||
|
||||
test("Prismana-only filtering combines with other criteria before grouping", () => {
|
||||
assert.equal(createAniimoFilters().prismanaOnly, false);
|
||||
const expected = data.variants.filter((variant) => variant.form === "prismana_form");
|
||||
assert.ok(expected.length > 0);
|
||||
assert.deepEqual(filter({ prismanaOnly: true }), expected);
|
||||
const variant = expected[0];
|
||||
const criteria = { name: variant.name, elements: variant.elements, roles: [variant.role], abilities: Object.fromEntries(variant.homeland_abilities.map(({ type, level }) => [type, level])) };
|
||||
assert.deepEqual(filter({ ...criteria, prismanaOnly: true }), [variant]);
|
||||
assert.equal(groupAniimoVariants(expected).length, expected.length);
|
||||
assert.deepEqual(filter({ prismanaOnly: true, name: "emberpup" }), []);
|
||||
assert.equal(filter({ prismanaOnly: false }).length, data.variants.length);
|
||||
});
|
||||
|
||||
test("Prismana remains the final variation in data and grouped results", () => {
|
||||
for (const group of groupAniimoVariants(data.variants)) {
|
||||
if (group.some((variant) => variant.form === "prismana_form")) assert.equal(group.at(-1).form, "prismana_form");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue