I'm writing a contract via Truffle and my understanding is that running truffle test will run my tests in a clean-room environment. E.g. a fresh deployment blockchain run on my local machine
How can I run tests on how my contract interacts with contracts that are on the ethereum mainnet? E.g. lets say that users interacting with my contract need to send specific tokens, e.g. WETH, that I haven't written.
I have a full parity node synced on my machine. Is there a way to test my contract functions and how they interact with the current state of external contracts on the ethereum mainnet?