Skip to content

Instantly share code, notes, and snippets.

@marcuslindfeldt
Created July 30, 2018 12:43
Show Gist options
  • Save marcuslindfeldt/4d6dcb528e6c1ab734a0f78e609eff6a to your computer and use it in GitHub Desktop.
Save marcuslindfeldt/4d6dcb528e6c1ab734a0f78e609eff6a to your computer and use it in GitHub Desktop.
Cypress PollyJS fetch mock
const uuidV4 = require('uuid/v4');
import { Polly } from '@pollyjs/core';
import FetchAdapter from '@pollyjs/adapter-fetch';
import LocalStoragePersister from '@pollyjs/persister-local-storage';
Polly.register(FetchAdapter);
Polly.register(LocalStoragePersister);
Cypress.Commands.add('mockVisit', (url, mocks = () => null, options) => {
return cy.visit(
url,
Object.assign({}, options, {
onBeforeLoad: win => {
const polly = new Polly(`polly-recording-${uuidV4()}`, {
persister: 'local-storage',
adapters: ['fetch'],
adapterOptions: {
fetch: {
context: win
}
},
persisterOptions: {
'local-storage': {
context: win
}
}
});
mocks(polly);
}
})
);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment