He creado 2 PRUEBAS --
En la 2.ª PRUEBA, he incluido el propietario, addr1, addr2 en [] según la Documentación oficial del casco, así const [owner,addr1,addr2] = await ethers.getSigners(); , pero el problema es que cuando uso el corchete [] , me muestra el error TypeError: Cannot read properties of undefined (reading 'equal') y la prueba también falló,
Aquí está el código --->
const { expect } = require('chai'); // const { ethers } = require('hardhat'); describe('Token contract', function () { //1st TEST it('Deployment should assign the total supply of the tokens to the owner', async function () { const [owner] = await ethers.getSigners(); const Token = await ethers.getContractFactory('Token'); const hardhatToken = await Token.deploy(); const ownerBalance = await hardhatToken.balanceOf(owner.address); expect(await hardhatToken.totalSupply()).to.equal(ownerBalance); }); //2nd TEST it('Should Transfer Tokens between accounts', async function () { const [owner,addr1,addr2] = await ethers.getSigners(); const Token = await ethers.getContractFactory('Token'); const hardhatToken = await Token.deploy(); //Transfer 10 tokens from Owner to addr1 await hardhatToken.transfer(addr1.address,10); expect(await hardhatToken.balanceOf(addr1.address).to.equal(10)); //Transfer 5 tokens from addr1 to addr2 await hardhatToken.connect(addr1).transfer(addr2.address,5); expect(await hardhatToken.balanceOf(addr2.address).to.equal(5)) }); }); Pero si U ve en la 1ra PRUEBA, no he usado [] , para propietario, por lo que pasó la prueba. A continuación se muestra la documentación oficial de Hardhat si desea verificar el código --->
https://hardhat.org/tutorial/testing-contracts.html
Por favor ayúdenme a resolver este problema Gracias
No cerró correctamente el paréntesis alrededor de las llamadas expect en la segunda prueba. Está accediendo a .to en el número devuelto por .balanceOf .
Reemplazar con:
expect(await hardhatToken.balanceOf(addr1.address)).to.equal(10); // ... expect(await hardhatToken.balanceOf(addr2.address)).to.equal(5);