Skip to content

Instantly share code, notes, and snippets.

View eyaleizenberg's full-sized avatar

Eyal Eizenberg eyaleizenberg

View GitHub Profile
renderTooltip() {
if (this.state.tooltipLevel === TooltipLevel.happyMoment) {
return <this.SidebarHappyMoment />;
}
// ...
}
async loadAndSetHappyMoment() {
const component = await import(
'../SidebarHappyMoment/SidebarHappyMoment.component'
);
this.SidebarHappyMoment = component.SidebarHappyMoment;
this.setState({
tooltipLevel: TooltipLevel.happyMoment,
});
}
const OtherComponent = React.lazy(() => import('./OtherComponent'));
function MyComponent() {
return (
<div>
<React.Suspense fallback={<div>Loading...</div>}>
<OtherComponent />
</React.Suspense>
</div>
);
import { HelloPerson } from './hello-person.component';
import { shallow } from 'enzyme';
describe('Hello Person', () => {
test('should render the name from the prop', () => {
const props = {
name: 'Jenia'
};
const wrapper = shallow<HelloPerson>(<HelloPerson {...props} />);
test('should not fetch data if the name is not Eyal', (done) => {
driver.given.name('Tal').when.rendered();
setImmediate(() => {
expect(nockImplementation).not.toHaveBeenCalled();
done();
});
});
import { HelloPersonDriver } from './hello-person.driver';
describe('Hello Person', () => {
let driver: HelloPersonDriver;
beforeEach(() => {
driver = new HelloPersonDriver();
});
test('should render the name from the prop', () => {
import { HelloPersonDriver } from './hello-person.driver';
describe('Hello Person', () => {
let driver: HelloPersonDriver;
beforeEach(() => {
driver = new HelloPersonDriver();
});
test('should render the name from the prop', () => {
import { HelloPerson, Props } from './hello_person.component';
import { shallow } from 'enzyme';
import * as dataService from '../services/data-service';
export class HelloPersonDriver {
private wrapper;
private props: Props = {
name: 'some name'
}
import * as React from 'react';
import { reportUserLogin } from '../services/data-service';
interface Props {
name: string;
}
export class HelloPerson extends React.PureComponent<Props> {
componentDidMount() {
const { name } = this.props;
import { HelloPersonDriver } from './hello-person.driver';
describe('Hello Person', () => {
let driver: HelloPersonDriver;
beforeEach(() => {
driver = new HelloPersonDriver();
});
test('should render the name from the prop', () => {