Skip to content

Instantly share code, notes, and snippets.

import React from 'react'
import { shallow, mount, render } from 'enzyme'
import Root, { SearchBar, ReleaseTable, Release } from '../src/Root'
const createShallowRelease = (outOfPrint = true) => {
let props = {release: { artist: 'foobar', title: 'bar', outOfPrint }};
return shallow(<Release {...props} />);
};
describe('<Release>', () => {
import React from 'react'
import { shallow, mount, render } from 'enzyme'
import Root, { SearchBar, ReleaseTable, Release } from '../src/Root'
const createShallowRelaseTable = (noOutOfPrint = false, searchText = '') => {
let items = [{ artist: 'foobar', title: 'bar', outOfPrint: true }];
let props = { searchText, releases: items, noOutOfPrint };
return shallow(<ReleaseTable { ...props } />);
}
import React from 'react'
import { shallow, mount, render } from 'enzyme'
import Root, { SearchBar, ReleaseTable, Release } from '../src/Root'
describe('<SearchBar>', () => {
let onSearch;
beforeEach(() => {
onSearch = jasmine.createSpy('onSearch');
});
@busypeoples
busypeoples / package.json
Last active May 6, 2016 15:03
Webpack / Karma / Jasmine package.json example
{
"name": "example-karma-jasmine-webapck-test-setup",
"description": "React Test Setup with Karma/Jasmine/Webpack",
"scripts": {
"test": "karma start --single-run --browsers PhantomJS"
},
"devDependencies": {
"babel": "^6.5.2",
"babel-core": "^6.5.2",
"babel-eslint": "^5.0.0",
@busypeoples
busypeoples / SomeComponent.js
Created May 8, 2016 21:45
Devcards for React - initial ideas
import React, { PropTypes } from 'react';
const foobar = (props) => (
<div>
<h3>Testdrive. Stateless. Yes.</h3>
<div>{props.name}</div>
<div>{props.model}</div>
</div>
);
@busypeoples
busypeoples / DevCardsIndex.js
Last active May 12, 2016 21:42
Devcards for React - initial ideas
import React, { PropTypes, Component } from 'react';
import { createStore, combineReducers } from 'redux';
import { render } from 'react-dom';
let devCardTest = require('./DevCardsTest.js').default;
const devCardStyle = {
background: '#eee',
padding: '20px',
marginBottom: '10px'
};
// a basic example demonstrating the power of channels and generators
import React from 'react'
import { render } from 'react-dom'
import { chan, go, take, put, putAsync } from 'js-csp'
import { curry } from 'ramda'
import Counter from './Counter'
// helper
const createRender = curry((node, app) => render(app, node))
// create one channel for now
@busypeoples
busypeoples / LoadUsers.elm
Created April 13, 2017 23:28
Elm Example - Side-Effects Handling
module LoadUsers exposing (..)
import Html exposing (Html, div, h1, text)
import Http
import Json.Decode as Decode
main =
Html.program
{ init = init
const enhancedForm = Component =>
class HigherOrderComponent extends React.Component {
constructor(props) {
super(props)
this.state = { form: props.initialState }
this.handleSubmit = this.handleSubmit.bind(this)
this.handleChange = this.handleChange.bind(this)
}
handleSubmit(e) {
import {
alts,
chan,
go,
operations,
putAsync,
take,
takeAsync,
timeout,
CLOSED,