From d1c121b599642d61e3f1a500be733a77d9000d42 Mon Sep 17 00:00:00 2001 From: Francisco Giordano Date: Fri, 18 Sep 2020 19:19:29 -0300 Subject: [PATCH] Test ERC165 support in ERC1155Holder (#2365) --- test/introspection/SupportsInterface.behavior.js | 6 +++++- test/token/ERC1155/ERC1155Holder.test.js | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/test/introspection/SupportsInterface.behavior.js b/test/introspection/SupportsInterface.behavior.js index a43ff2280..139be37c6 100644 --- a/test/introspection/SupportsInterface.behavior.js +++ b/test/introspection/SupportsInterface.behavior.js @@ -35,6 +35,10 @@ const INTERFACES = { 'safeTransferFrom(address,address,uint256,uint256,bytes)', 'safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)', ], + ERC1155Receiver: [ + 'onERC1155Received(address,address,uint256,uint256,bytes)', + 'onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)', + ], }; const INTERFACE_IDS = {}; @@ -50,7 +54,7 @@ for (const k of Object.getOwnPropertyNames(INTERFACES)) { function shouldSupportInterfaces (interfaces = []) { describe('Contract interface', function () { beforeEach(function () { - this.contractUnderTest = this.mock || this.token; + this.contractUnderTest = this.mock || this.token || this.holder; }); for (const k of interfaces) { diff --git a/test/token/ERC1155/ERC1155Holder.test.js b/test/token/ERC1155/ERC1155Holder.test.js index 80044a3cd..aa6d31ed2 100644 --- a/test/token/ERC1155/ERC1155Holder.test.js +++ b/test/token/ERC1155/ERC1155Holder.test.js @@ -6,6 +6,8 @@ const ERC1155Mock = contract.fromArtifact('ERC1155Mock'); const { expect } = require('chai'); +const { shouldSupportInterfaces } = require('../../introspection/SupportsInterface.behavior'); + describe('ERC1155Holder', function () { const [creator] = accounts; const uri = 'https://token-cdn-domain/{id}.json'; @@ -19,6 +21,8 @@ describe('ERC1155Holder', function () { await this.multiToken.mintBatch(creator, multiTokenIds, multiTokenAmounts, '0x', { from: creator }); }); + shouldSupportInterfaces(['ERC165', 'ERC1155Receiver']); + it('receives ERC1155 tokens from a single ID', async function () { await this.multiToken.safeTransferFrom( creator,