1import {getApiConnection} from '../substrate/substrate-api';2import {expectTxFailure} from './util/helpers';3import {createCollection, createBase, setEquippableList} from './util/tx';45describe("integration test: set slot's Equippable List", () => {6 let api: any;7 before(async () => { api = await getApiConnection(); });89 const alice = '//Alice';10 const bob = '//Bob';1112 it("set Base's slot Equippable List", async () => {13 const collectionIds = [14 await createCollection(15 api,16 alice,17 'equiplist-collection-metadata',18 null,19 'equiplist-0',20 ),21 await createCollection(22 api,23 alice,24 'equiplist-collection-metadata',25 null,26 'equiplist-1',27 ),28 ];2930 const slotId = 202;3132 const baseId = await createBase(api, alice, 'slotpartany-base-type', 'slotpartany', [33 {34 'SlotPart': {35 id: slotId,36 equippable: 'All',37 z: 1,38 src: 'some-fallback-slot-url',39 },40 },41 ]);4243 await setEquippableList(api, alice, baseId, slotId, 'All');44 await setEquippableList(api, alice, baseId, slotId, 'Empty');45 await setEquippableList(api, alice, baseId, slotId, {'Custom': collectionIds});46 });4748 it('[negative] unable to set equippable list of a slot of non-existing base', async () => {49 const maxBaseId = 0xFFFFFFFF;50 const slotId = 0;5152 const tx = setEquippableList(api, alice, maxBaseId, slotId, 'All');53 await expectTxFailure(/rmrkEquip\.BaseDoesntExist/, tx);54 });5556 it('[negative] unable to set equippable list by a not-an-owner', async () => {57 const slotId = 42;5859 const baseId = await createBase(api, alice, 'slotpartany-base-type', 'slotpartany', [60 {61 'SlotPart': {62 id: slotId,63 equippable: 'All',64 z: 1,65 src: 'some-fallback-slot-url',66 },67 },68 ]);6970 const tx = setEquippableList(api, bob, baseId, slotId, 'All');71 await expectTxFailure(/rmrkEquip\.PermissionError/, tx);72 });7374 it('[negative] unable to set equippable list to a fixed part', async () => {75 const fixedPartId = 42;7677 const baseId = await createBase(api, alice, 'fixedpart-base-type', 'fixedpart', [78 {79 'FixedPart': {80 id: fixedPartId,81 z: 0,82 src: 'fixed-part-url',83 },84 },85 ]);8687 const tx = setEquippableList(api, alice, baseId, fixedPartId, 'All');88 await expectTxFailure(/rmrkEquip\.NoEquippableOnFixedPart/, tx);89 });9091 it('[negative] unable to set equippable list to non-existing slot', async () => {92 const slotId = 777;93 const maxSlotId = 0xFFFFFFFF;9495 const baseId = await createBase(api, alice, 'slotpartany-base-type', 'slotpartany', [96 {97 'SlotPart': {98 id: slotId,99 equippable: 'All',100 z: 1,101 src: 'some-fallback-slot-url',102 },103 },104 ]);105106 const tx = setEquippableList(api, alice, baseId, maxSlotId, 'All');107 await expectTxFailure(/rmrkEquip\.PartDoesntExist/, tx);108 });109110 after(() => { api.disconnect(); });111});