Greeter.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. import { Signer } from "@ethersproject/abstract-signer";
  2. import { ethers, waffle } from "@nomiclabs/buidler";
  3. import GreeterArtifact from "../artifacts/Greeter.json";
  4. import { Greeter } from "../typechain/Greeter";
  5. import { shouldBehaveLikeGreeter } from "./Greeter.behavior";
  6. const { createFixtureLoader, deployContract } = waffle;
  7. async function greeterFixture(signers: Signer[]): Promise<{ greeter: Greeter }> {
  8. const greeter: Greeter = (await deployContract(signers[0], GreeterArtifact, ["Hello, world!"])) as Greeter;
  9. return { greeter };
  10. }
  11. setTimeout(async function () {
  12. const signers: Signer[] = await ethers.getSigners();
  13. describe("Greeter", function () {
  14. beforeEach(async function () {
  15. /**
  16. * You can replace "waffle.provider.getWallets" with "ethers.getSigners()" - the bug persists.
  17. */
  18. const { greeter } = await createFixtureLoader(await waffle.provider.getWallets())(greeterFixture);
  19. this.greeter = greeter;
  20. });
  21. shouldBehaveLikeGreeter(signers);
  22. });
  23. run();
  24. }, 1000);