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 = 77793 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});