EIP-1167 Clones: Error: Transaction reverted: function call to a non-contract account

I'm trying to create a clone using OpenZeppelin Clones library. However, it seems that hardhat is not able to recognize the created clone contracts address.

The same code works on Remix, so does this have something to with Hardhat? NOTE: I have tried using Ganache as well, however it reverts with the same error.

Here is my factory contract:

contract WhoopyFactory {

address immutable implementationContract;

address[] public allClones;

event NewClone(address indexed _instance);

mapping(address => address) public whoopyList;

constructor() { 
       implementationContract = address (new Whoopy()); 
}

function createClone(address _whoopyCreator) payable external returns(address) { 
      address clone = Clones.clone(implementationContract);  
      Whoopy(clone).initialize(_whoopyCreator); 
      emit NewClone(clone); 
      return clone;
}

And here is the test I am running:

describe("Whoopy + WhoopyFactory", function () {

it("Initialises contract correctly", async function () {
const provider = new ethers.providers.JsonRpcProvider("HTTP://127.0.0.1:7545")
const deployer = provider.getSigner(0); 
const player = provider.getSigner(1);

Whoopy = await ethers.getContractFactory("Whoopy") 
whoopy = await Whoopy.deploy() 
await whoopy.deployed()

WhoopyFactory = await ethers.getContractFactory("WhoopyFactory") 
wf = await WhoopyFactory.deploy() 
await wf.deployed()
wf.connect(player)

const tx = await wf.createClone("0x70997970C51812dc3A010C7d01b50e0d17dc79C8")
console.log(tx)
const txReceipt = await tx.wait(1)
console.log(txReceipt)

This is the error which reverts:

Error: Transaction reverted: function call to a non-contract account
      at Whoopy.initialize (contracts/Whoopy.sol:117)
      at <UnrecognizedContract>.<unknown> (0x9f1ac54bef0dd2f6f3462ea0fa94fc62300d3a8e)

As I said before, this code works correctly on Remix. Hope someone can point me in the right direction. Thanks in advance!

Please don't open duplicates.