Skip to content

Instantly share code, notes, and snippets.

View just-boris's full-sized avatar

Boris Serdiuk just-boris

View GitHub Profile
@just-boris
just-boris / package.json
Last active April 21, 2016 14:31
mocha-allure-16
{
"name": "mocha-allure-16",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"prepublish": "selenium-standalone install",
"pretest": "rm -rf allure-results",
"test": "multi='progress=- mocha-allure-reporter=-' mocha test.js --reporter mocha-multi --timeout 30000",
"report": "allure generate allure-results"
@just-boris
just-boris / spy-ajax.js
Created April 27, 2016 16:34
Mocked Backbone.ajax
import $ from 'jquery';
import Backbone from 'backbone';
export var ajaxSpy;
export default function spyAjax() {
var deferreds;
beforeEach(function() {
deferreds = [];
ajaxSpy = spyOn(Backbone, 'ajax').and.callFake(({success, error}) => {
@just-boris
just-boris / index.js
Created June 28, 2016 10:23
requirebin sketch
var React = require('react');
var ReactDOM = require('react-dom');
var Redux = require('redux');
var ReactRedux = require('react-redux');
function counter(state = 0, action) {
switch (action.type) {
case 'INCREMENT':
return state + 1
case 'DECREMENT':
@just-boris
just-boris / index.js
Created July 7, 2016 10:04
configure express routes through decorators
function factory(app) {
return ({url, method = 'get'}) => (target, key, descriptor) => {
app[method](url, target[key]);
}
}
const Path = factory(app);
class Controller {
beforeEach(function() {
global.localStorage = createLocalStorageMock();
this.server = new AxiosMock(axious);
this.store = createStore();
});
afterEach(function() {
this.server.restore();
delete global.localStorage;
});
function Dropdown({title, value, options, optionKey, optionVal, onChange}) {
if(values === undefined && values === null) {
return <div>No data</div>;
}
return <div>
<label>{title}:</label>
<select value={value || -1} onChange={onChange}>
<option key={-1} value={-1}>All</option>
{values.map(function (val, idx) {
return <option key={idx} value={val[optionKey]}>{val[optionVal]}</option>
@just-boris
just-boris / index.js
Created January 16, 2017 08:17
Array for-loop and Array.forEach
'use strict';
var Benchmark = require('benchmark');
var suite = new Benchmark.Suite;
var forLoop = {
setup: () => {
var arr = [];
for (var i = 0; i < 1000; i++) {
arr[i] = i;
@just-boris
just-boris / index.js
Created February 5, 2017 18:14
Testcase for fast-memoize and webpack
import memoize from 'fast-memoize';
function sum(a, b) {
return a + b;
}
const memoSum = memoize(sum);
console.log(sum(1, 2));
@just-boris
just-boris / allure.js
Created April 18, 2017 14:10
Allure grunt plugin
module.exports = grunt => {
const allure = require('allure-commandline');
grunt.registerMultiTask('allure', 'Passes commands to allure-commandline', function() {
const done = this.async();
const options = this.options();
const args = [];
if(this.target === 'generate') {
args.push('generate');
if(options.clean) {
@just-boris
just-boris / .gitignore
Last active August 8, 2020 11:24
Shadow DOM as a React component: https://dist-bpvbyiobiw.now.sh
.cache
dist
node_modules