import { connect } from 'react-redux'; import { withRouter } from 'react-router-dom'; import { Loader } from 'semantic-ui-react'; import { connectPlayer } from 'Player'; import { testBuilderNew as testBuilderNewRoute } from 'App/routes'; import { generateTest } from 'Duck/tests'; import { FRAMEWORKS } from 'App/constants'; import styles from './automateButton.css'; @withRouter @connectPlayer(state => ({ playing: state.playing, })) @connect((state, props) => ({ genTestId: state.getIn([ 'tests', 'instance', 'id' ]), loading: state.getIn([ 'tests', 'genTestRequest', 'loading' ]), disabled: props.playing || state.getIn([ 'events', 'selected' ]).size < 2, selectedEvents: state.getIn([ 'events', 'selected' ]), sessionId: state.getIn([ 'sessions', 'current', 'sessionId' ]), }), { generateTest, }) export default class AutomateButton extends React.PureComponent { generateTest = (framework) => { const steps = this.props.selectedEvents .toList() .sort((e1, e2) => e1.timestamp - e2.timestamp) .toJS(); this.props.generateTest(this.props.sessionId, { steps, // framework, }) .then(() => this.props.history.push(testBuilderNewRoute())); } generateSeleniumTest = () => this.generateTest(FRAMEWORKS.SELENIUM) // generateCypressTest = () => this.generateTest(FRAMEWORKS.CYPRESS) render() { const { loading, disabled } = this.props; return (
{ 'Automate' }
{'Select at Least 2 Events'}
); } }