Skip to content

Commit

Permalink
Fixes disabling of clicking after crop is deleted and added test for …
Browse files Browse the repository at this point in the history
…the cropUI (#1481)

* crop-ui

* crop-ui

* Added test

* Adding test

* improving comments

Co-authored-by: Jeffrey Warren <[email protected]>
  • Loading branch information
keshav234156 and jywarren committed Jan 16, 2020
1 parent 1a0f4d4 commit d1b9b8b
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 8 deletions.
4 changes: 3 additions & 1 deletion examples/lib/defaultHtmlStepUi.js
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,9 @@ function DefaultHtmlStepUi(_sequencer, options) {
if (_sequencer.steps.length - 1 > 1) $('#load-image .insert-step').prop('disabled', false);
else $('#load-image .insert-step').prop('disabled', true);

$('div[class*=imgareaselect-]').remove();
$(step.imgElement).imgAreaSelect({
remove: true
});
}

function getPreview() {
Expand Down
7 changes: 0 additions & 7 deletions src/modules/Crop/Ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,6 @@ module.exports = function CropModuleUi(step, ui) {
];
}

function remove() {
$(imgEl()).imgAreaSelect({
remove: true
});
}

function hide() {
// then hide the draggable UI
$(imgEl()).imgAreaSelect({
Expand Down Expand Up @@ -92,7 +86,6 @@ module.exports = function CropModuleUi(step, ui) {

return {
setup: setup,
remove: remove,
hide: hide
};
};
46 changes: 46 additions & 0 deletions test/ui-2/test/cropui.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
const timeout = 300000 ;
const fs = require('fs');
beforeAll(async () => {
path = fs.realpathSync('file://../examples/index.html');
await page.goto('file://' + path, {waitUntil: 'domcontentloaded'});
await page.setViewport({ width: 1500, height: 700});
});
describe('Crop UI', ()=>{
test('Crop UI', async()=>{
// Wait for the load step to get loaded.
await page.waitForSelector('.step');
const Length = await page.evaluate(() => document.querySelectorAll('.step').length);
// Click on the Crop step from radio-group.
await page.click('[data-value=\'crop\']');
const LengthChanged = await page.evaluate(() => document.querySelectorAll('.step').length);
const src1 = await page.evaluate(() => document.querySelectorAll('.step img')[1].src);
const example = await page.$$('img.step-thumbnail');
/**
* Drawing a bounding box around the image to be cropped.
* box.x returns x position of mouse pointer.
* box.y returns y position of mouse pointer.
**/
const box = await example[1].boundingBox();
// Moving mouse pointer inside the the image.
await page.mouse.move(box.x, box.y);
await page.mouse.move(box.x + 50, box.y);
await page.mouse.move(box.x + 50, box.y + 50);
// Mouse.down() dispatches a mousedown event.
await page.mouse.down();
// Selecting area to be cropped.
await page.mouse.move(box.x + 50, box.y + 200);
await page.mouse.move(box.x + 200, box.y + 200);
// Mouse.up() dispatches a mouseup event.
await page.mouse.up();
// Removing the crop step from the sequence.
await page.click('.remove.btn-default');
const Lengthremoved = await page.evaluate(() => document.querySelectorAll('.step').length);
// Checking if we can select the crop step again or not.
await page.click('[data-value=\'crop\']');
const LengthReadded = await page.evaluate(() => document.querySelectorAll('.step').length);
expect(Length).toBe(1);
expect(LengthChanged).toBe(2);
expect(Lengthremoved).toBe(1);
expect(LengthReadded).toBe(2);
}, timeout);
});

0 comments on commit d1b9b8b

Please sign in to comment.