Skip to content

Instantly share code, notes, and snippets.

View daedalius's full-sized avatar

Dmitriy Tishin daedalius

  • Luxoft
  • New Zealand
View GitHub Profile
@daedalius
daedalius / test.js
Last active August 8, 2021 18:46
[RU] Прототипное наследование от __proto__ до функции inherit. ⚡️ Добро пожаловать. Снова.
/**********************************************************
object {}, __proto__, Object, Object.prototype, Object.create(protoToSet)
**********************************************************/
test('У простого object есть прототип который можно получить через вызов Object.getPrototypeOf(obj)', () => {
const object = {}
expect(Object.getPrototypeOf(object)).toBeDefined()
// У всех объектов есть прототип (который так же __proto__)
})
@daedalius
daedalius / cysb8.jsx
Created April 13, 2020 22:40
Cypress + Storybook. #8
it('closes via method call.', () => {
// arrange
let popup = React.createRef();
cy.window().then((win) => {
// initial state - popup is visible
ReactDOM.render(
<win.Popup
showed={true}
ref={popup}
/>,
@daedalius
daedalius / cysb7.jsx
Created April 13, 2020 22:38
Cypress + Storybook. #7
it('becomes hidden after being shown when showed=false passed.', () => {
// arrange
cy.window().then((win) => {
// initial state - popup is visible
ReactDOM.render(
<PopupTestWrapper
showed={true}
win={win}
/>,
win.document.querySelector(rootToMountSelector)
@daedalius
daedalius / cysb6.jsx
Created April 13, 2020 22:35
Cypress + Storybook. #6
let setPopupTestWrapperState = null;
const PopupTestWrapper = ({ showed, win }) => {
const [isShown, setState] = React.useState(showed);
setPopupTestWrapperState = setState;
return <win.Popup showed={isShown} />
}
@daedalius
daedalius / cysb5.jsx
Created April 13, 2020 22:27
Cypress + Storybook. #5
const selectors = {
innerInput: '.react-datepicker__input-container input',
};
it('renders text field.', () => {
cy.window().then((win) => {
ReactDOM.render(
<win.Datepicker />,
win.document.querySelector(rootToMountSelector)
);
@daedalius
daedalius / cysb4.jsx
Created April 13, 2020 22:27
Cypress + Storybook. #4
afterEach(() => {
cy.document()
.then((doc) => {
ReactDOM.unmountComponentAtNode(doc.querySelector(rootToMountSelector));
});
});
@daedalius
daedalius / cysb3.jsx
Created April 13, 2020 22:25
Cypress + Storybook. #3
const rootToMountSelector = '#component-test-mount-point';
before(() => {
cy.visit('http://localhost:12345/iframe.html?id=datepicker--empty-story');
cy.get(rootToMountSelector);
});
@daedalius
daedalius / cysb2.jsx
Created April 13, 2020 22:24
Cypress + Storybook. #2
/// <reference types="cypress" />
import React from 'react';
import ReactDOM from 'react-dom';
/**
* <Datepicker />
* * renders text field.
* * renders desired placeholder text.
* * renders chosen date.
@daedalius
daedalius / cysb1.jsx
Last active April 13, 2020 22:19
Cypress + Storybook. #1
import React from 'react';
import Datepicker from './Datepicker.jsx';
export default {
component: Datepicker,
title: 'Datepicker',
};
export const emptyStory = () => {
// Reference to retrieve it in Cypress during the test