Skip to content

Commit 6c0044e

Browse files
Merge pull request #650 from Codeinwp/development
New Cypress tests for the Gutenberg block
2 parents 04cd077 + 7ceb076 commit 6c0044e

File tree

20 files changed

+4246
-146
lines changed

20 files changed

+4246
-146
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ cypress/integration/examples
1111
cypress/integration/localhost*
1212
cypress/plugins
1313
cypress.env.json
14+
grunt

.travis.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ matrix:
2525
script:
2626
- docker-compose -f docker-compose.travis.yml up -d
2727
- chmod +x ./bin/run-e2e-tests.sh ./bin/wp-init.sh && ./bin/wp-init.sh && ./bin/run-e2e-tests.sh
28+
- name: Cypress Gutenberg
29+
language: node_js
30+
node_js:
31+
- 10.8
32+
script:
33+
- docker-compose -f docker-compose.travis.yml up -d
34+
- chmod +x ./bin/run-e2e-tests-gutenberg.sh ./bin/wp-init.sh && ./bin/wp-init.sh && ./bin/run-e2e-tests-gutenberg.sh
2835
allow_failures:
2936
- env: TEST_SUITE=Wraith_Visual_Regression_Testing WRAITH_FAIL=5
3037
branches:

bin/run-e2e-tests-gutenberg.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env bash
2+
3+
if [[ "$TRAVIS" == "true" ]]; then
4+
npm install --only=dev --prefix ./cypress/
5+
composer install --no-dev
6+
fi
7+
8+
wp_host='localhost'
9+
windows=`echo $OSTYPE | grep -i -e "win" -e "msys" -e "cygw" | wc -l`
10+
args='-it';
11+
if [[ $windows -gt 0 ]]; then
12+
wp_host=`docker-machine ip`
13+
args=''
14+
fi
15+
16+
# exit on error
17+
set -e
18+
19+
export CYPRESS_HOST=$wp_host
20+
21+
docker exec $args visualizer_wordpress wp --quiet plugin deactivate classic-editor
22+
export CYPRESS_SPEC_TO_RUN="free-gutenberg.js"
23+
npm run cypress:run

bin/run-e2e-tests.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@ npm run cypress:run
2525
# test free - sources
2626
export CYPRESS_SPEC_TO_RUN="free-sources.js"
2727
npm run cypress:run
28+

classes/Visualizer/Gutenberg/Block.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ public function enqueue_gutenberg_scripts() {
102102
'charts' => Visualizer_Module_Admin::_getChartTypesLocalized(),
103103
'adminPage' => menu_page_url( 'visualizer', false ),
104104
'sqlTable' => $table_col_mapping,
105+
'chartsPerPage' => defined( 'TI_CYPRESS_TESTING' ) ? 20 : 6,
105106
);
106107
wp_localize_script( 'visualizer-gutenberg-block', 'visualizerLocalize', $translation_array );
107108

classes/Visualizer/Gutenberg/build/block.css

Lines changed: 239 additions & 1 deletion
Large diffs are not rendered by default.

classes/Visualizer/Gutenberg/build/block.js

Lines changed: 2479 additions & 69 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

classes/Visualizer/Gutenberg/build/handsontable.css

Lines changed: 1302 additions & 3 deletions
Large diffs are not rendered by default.

classes/Visualizer/Gutenberg/build/handsontable.js

Lines changed: 25 additions & 43 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

classes/Visualizer/Gutenberg/src/Components/Charts.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,26 +39,29 @@ class Charts extends Component {
3939
this.state = {
4040
charts: null,
4141
isBusy: false,
42-
chartsLoaded: false
42+
chartsLoaded: false,
43+
perPage: visualizerLocalize.chartsPerPage
4344
};
4445
}
4546

4647
async componentDidMount() {
48+
const perPage = visualizerLocalize.chartsPerPage;
4749

4850
// Fetch review again if block loaded after saving.
49-
let result = await apiFetch({ path: 'wp/v2/visualizer/?per_page=6&meta_key=visualizer-chart-library&meta_value=ChartJS' });
51+
let result = await apiFetch({ path: 'wp/v2/visualizer/?per_page=' + perPage + '&meta_key=visualizer-chart-library&meta_value=ChartJS' });
5052
this.setState({ charts: result });
5153
}
5254

5355
async loadMoreCharts() {
5456
const offset = ( this.state.charts ).length;
5557
let chartsLoaded = this.state.chartsLoaded;
58+
const perPage = this.state.perPage;
5659

5760
this.setState({ isBusy: true });
5861

59-
let result = await apiFetch({ path: `wp/v2/visualizer/?per_page=6&meta_key=visualizer-chart-library&meta_value=ChartJS&offset=${ offset }` });
62+
let result = await apiFetch({ path: `wp/v2/visualizer/?per_page=${ perPage }&meta_key=visualizer-chart-library&meta_value=ChartJS&offset=${ offset }` });
6063

61-
if ( 6 > result.length ) {
64+
if ( perPage > result.length ) {
6265
chartsLoaded = true;
6366
}
6467

@@ -71,7 +74,7 @@ class Charts extends Component {
7174

7275
render() {
7376

74-
const { charts, isBusy, chartsLoaded } = this.state;
77+
const { charts, isBusy, chartsLoaded, perPage } = this.state;
7578

7679
return (
7780
<div className="visualizer-settings__charts">
@@ -125,7 +128,7 @@ class Charts extends Component {
125128
}
126129

127130
return (
128-
<div className="visualizer-settings__charts-single">
131+
<div className="visualizer-settings__charts-single" key={ `chart-${ charts[i].id }` }>
129132

130133
<div className="visualizer-settings__charts-title">
131134
{ title }
@@ -172,7 +175,7 @@ class Charts extends Component {
172175
}) }
173176
</div>
174177

175-
{ ! chartsLoaded && 5 < charts.length && (
178+
{ ! chartsLoaded && perPage - 1 < charts.length && (
176179
<Button
177180
isPrimary
178181
isLarge

0 commit comments

Comments
 (0)