5180 fichiers 38.5 Mo 0 téléchargements 191 vues mis à jour il y a 5 heures ui
nitro-v36-with-renderer-v36 / src / api / avatar / IsNftAvatarPartSet.test.ts
IsNftAvatarPartSet.test.ts 1.2 Ko Télécharger le fichier
import { IFigurePartSet } from '@octane/renderer';
import { describe, expect, it } from 'vitest';
import { IsNftAvatarPartSet } from './IsNftAvatarPartSet';

const makePartSet = (id: number, isSellable: boolean): IFigurePartSet => ({ id, isSellable }) as unknown as IFigurePartSet;

describe('IsNftAvatarPartSet', () => {
    it('returns false for a missing part set', () => {
        expect(IsNftAvatarPartSet(null, new Set([1]), () => true)).toBe(false);
    });

    it('uses the server-sent id map exclusively when present', () => {
        const knownIds = new Set([10]);

        expect(IsNftAvatarPartSet(makePartSet(10, false), knownIds, () => false)).toBe(true);
        expect(IsNftAvatarPartSet(makePartSet(11, true), knownIds, () => true)).toBe(false);
    });

    it('falls back to asset detection when no id map was sent', () => {
        expect(IsNftAvatarPartSet(makePartSet(10, true), new Set(), () => true)).toBe(true);
        expect(IsNftAvatarPartSet(makePartSet(10, true), new Set(), () => false)).toBe(false);
    });

    it('does not require the sellable flag (custom figuredata often omits it)', () => {
        expect(IsNftAvatarPartSet(makePartSet(10, false), new Set(), () => true)).toBe(true);
    });
});
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser