Skip to content

Instantly share code, notes, and snippets.

@psi-4ward
psi-4ward / auth.changePassword.js
Last active Jun 26, 2020
Feathers.js simple changePassword Service
View auth.changePassword.js
const auth = require('@feathersjs/authentication');
const errors = require('@feathersjs/errors');
const bcrypt = require('bcryptjs');
const comparePasswords = (oldPassword, password) => new Promise((resolve, reject) => {
bcrypt.compare(oldPassword, password, (err, data1) => {
if(err || !data1) return reject();
return resolve();
});
});
@ChadKillingsworth
ChadKillingsworth / e2e-shadowdom.md
Last active Nov 20, 2020
Selenium Testing with Shadow DOM
View e2e-shadowdom.md

End-to-end Testing with Shadow DOM

As the web component specs continue to be developed, there has been little information on how to test them. In particular the /deep/ combinator has been deprecated in Shadow DOM 1.0. This is particularly painful since most end-to-end testing frameworks rely on elements being discoverable by XPath or calls to querySelector. Elements in Shadow DOM are selectable by neither.

WebDriver.io

Webdriver.io has the standard actions by selectors, but also allows browser executable scripts to return an element

View gist:d72991fc44a19920d6ae
var _ = require('/lib/underscore');
/*
*This is the lightweight version I use based on Kevin Whinnery's one: https://gist.github.com/kwhinnery/1595307
* Wrapper for Titanium UI components. This wrapper provides a few pieces of critical
* functionality, currently missing from Titanium UI objects:
* - The ability to safely extend components with new members
* - Rudimentary resource management and object lifecycle handling
*