jest-image-snapshot icon indicating copy to clipboard operation
jest-image-snapshot copied to clipboard

The "path" argument must be of type string. Received undefined

Open simonsmith opened this issue 3 years ago • 2 comments

I believe a breaking change was introduced in https://github.com/americanexpress/jest-image-snapshot/pull/298

The diffImageToSnapshot function now accepts what appears to be an optional receivedDir prop but it has no default value so if I update from 5.0.0 to 5.1.0 I now get the above error because undefined is passed to path.join here:

const receivedSnapshotPath = path.join(receivedDir, `${snapshotIdentifier}-received.png`);

For reference, here is how I was calling it before so you can see how receivedDir is undefined

  snapshotResult = diffImageToSnapshot({
    snapshotsDir,
    diffDir,
    receivedImageBuffer,
    snapshotIdentifier,
    failureThreshold,
    failureThresholdType,
    updateSnapshot: updateSnapshots,
    ...options,
  });

I think that change should either be

  • a required argument and a 6.0.0 release
  • have some sort of check so it can be optional when not passed

For now, staying on 5.0.0 resolves it

Thanks!

simonsmith avatar Jun 17 '22 13:06 simonsmith

Did you resolve this issue? If not, do you want me to work on it?

MirandaBrawnerSavannah avatar Aug 04 '22 20:08 MirandaBrawnerSavannah

I just found a workaround, which was to stay on 5.0.0 of this library

simonsmith avatar Aug 07 '22 16:08 simonsmith

:tada: This issue has been resolved in version 5.1.1 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

oneamexbot avatar Aug 25 '22 23:08 oneamexbot