Skip to content

Instantly share code, notes, and snippets.

View mbinic's full-sized avatar

Marko Binić mbinic

View GitHub Profile
@mbinic
mbinic / cy-clipboard-command.ts
Last active January 25, 2023 11:42
Cypress - get navigator.clipboard
// defined as: clipboard(): Chainable<Clipboard>;
Cypress.Commands.add('clipboard', () => {
cy.wrap(
Cypress.automation('remote:debugger:protocol', {
command: 'Browser.grantPermissions',
params: {
permissions: ['clipboardReadWrite', 'clipboardSanitizedWrite'],
origin: window.location.origin,
},
}).catch((error) =>
@mbinic
mbinic / cy-fixtures-command.ts
Last active March 29, 2024 09:54
Cypress - load multiple fixtures
function loadFixtures<Contents = unknown>(remainingPaths: string[], loadedContents: Contents[]): Chainable<Contents[]> {
return cy.fixture<Contents>(remainingPaths[0]).then((contents) => {
loadedContents.push(contents);
if (remainingPaths.length > 1) {
return loadFixtures(remainingPaths.slice(1), loadedContents);
}
return cy.wrap(loadedContents);
});
}
@mbinic
mbinic / npm-cli.js
Last active February 24, 2022 09:21
Help WebStorm run the correct version of npm when using Volta
// Place inside C:\Program Files\Volta\bin and set WebStorm's Package Manager to C:\Program Files\Volta
// Credit: Modified from nodist - https://github.com/nullivex/nodist/blob/master/npm/bin/npm-cli.js
var child_process = require('child_process');
child_process.spawn('npm', process.argv.slice(2), {stdio: 'inherit'})
.on('error', function(err) {
console.log('Sorry. There was a problem with indirect running of npm.');
throw err;
})