diff --git a/bin/test.sh b/bin/test.sh new file mode 100644 index 0000000..4cd3afd --- /dev/null +++ b/bin/test.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +testcafe firefox test/play.testcafe.js +#testcafe firefox test/betaplay.testcafe.js diff --git a/log/error.log b/log/error.log index 8e197ee..2a1e606 100755 --- a/log/error.log +++ b/log/error.log @@ -36,3 +36,5 @@ 2018-09-19T13:34:11+02:00 ERR (3): 2018-09-20T10:32:44+02:00 ERR (3): 2018-09-20T15:48:57+02:00 ERR (3): +2018-09-20T16:29:24+02:00 ERR (3): +2018-09-20T16:49:49+02:00 ERR (3): diff --git a/log/log.log b/log/log.log index 8e197ee..2a1e606 100755 --- a/log/log.log +++ b/log/log.log @@ -36,3 +36,5 @@ 2018-09-19T13:34:11+02:00 ERR (3): 2018-09-20T10:32:44+02:00 ERR (3): 2018-09-20T15:48:57+02:00 ERR (3): +2018-09-20T16:29:24+02:00 ERR (3): +2018-09-20T16:49:49+02:00 ERR (3): diff --git a/src/img/coinTower.png b/src/img/coinTower.png new file mode 100644 index 0000000..9e07588 Binary files /dev/null and b/src/img/coinTower.png differ diff --git a/src/img/coinTower.xcf b/src/img/coinTower.xcf new file mode 100644 index 0000000..08dd739 Binary files /dev/null and b/src/img/coinTower.xcf differ diff --git a/test/betaplay.testcafe.js b/test/betaplay.testcafe.js new file mode 100644 index 0000000..b4502e8 --- /dev/null +++ b/test/betaplay.testcafe.js @@ -0,0 +1,281 @@ +import { Selector } from 'testcafe'; + +fixture `betaPlay` + .page `http://beta.wordrotator.silas.link` + .httpAuth({ + username: 'admin', + password: '20luxl200' + }); +test('Play', async t => { + + const SEGMENT = { + ONE: 0, + TWO: 1, + THREE: 2, + FOUR: 3, + FIVE: 4, + SIX : 5, + SEVEN: 6, + EIGHT : 7, + NINE: 8, + TEN: 9, + ELEVEN: 10, + TWELVE: 11, + THIRTEEN: 12, + FOURTEEN: 13, + FIFTEEN: 14, + SIXTEEN: 15, + SEVENTEEN: 16, + EIGHTEEN:17, + NINETEEN: 18, + TWENTY:19, + TWENTYONE:20 + }; + + await t + //first Level + .expect(Selector('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')).eql("matrix(0, 1, -1, 0, 0, 0)") + .expect(Selector('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')).eql("matrix(0, 1, -1, 0, 0, 0)") + .expect(Selector('.segment.segment-parent.rotate-270').getStyleProperty('transform')).eql("matrix(0, -1, 1, 0, 0, 0)") + .expect(Selector('#won-text').getStyleProperty('visibility')).eql("hidden") + .expect(Selector('#continue-button').getStyleProperty('visibility')).eql("hidden") + .expect(Selector('#level-number').textContent).eql("1") + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .expect(Selector('.segment.segment-parent.rotate-360').getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .expect(Selector('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('#won-text').visible).eql(true) + .expect(Selector('#continue-button').visible).eql(true) + .click(Selector('#continue-button')) + + //TWOLevel + .expect(Selector('.segment.segment-parent.rotate-270').nth(0).textContent).eql("BOAL") + .expect(Selector('.segment.segment-parent.rotate-180').textContent).eql("DEAR") + .expect(Selector('.segment.segment-parent.rotate-360').textContent).eql("NSMR") + .expect(Selector('.segment.segment-parent.rotate-270').nth(1).textContent).eql("EEUF") + .expect(Selector('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')).eql("matrix(0, -1, 1, 0, 0, 0)") + .expect(Selector('.segment.segment-parent.rotate-180').getStyleProperty('transform')).eql("matrix(-1, 0, 0, -1, 0, 0)") + .expect(Selector('.segment.segment-parent.rotate-360').getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('.segment.segment-parent.rotate-270').nth(1).getStyleProperty('transform')).eql("matrix(0, -1, 1, 0, 0, 0)") + .expect(Selector('#continue-button').getStyleProperty('visibility')).eql("hidden") + .expect(Selector('#level-number').textContent).eql("2") + .expect(Selector('#won-text').getStyleProperty('visibility')).eql("hidden") + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .expect(Selector('.segment-parent').nth(SEGMENT.TWO).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .expect(Selector('.segment-parent').nth(SEGMENT.TWO).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('#won-text').visible).eql(true) + .expect(Selector('#continue-button').visible).eql(true) + .click(Selector('#continue-button')) + + //THREE Level + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).textContent).eql("ZEHO") + .expect(Selector('.segment-parent').nth(SEGMENT.TWO).textContent).eql("ITCH") + .expect(Selector('.segment-parent').nth(SEGMENT.THREE).textContent).eql("STSA") + .expect(Selector('.segment-parent').nth(SEGMENT.FOUR).textContent).eql("RAIS") + .expect(Selector('.segment-parent').nth(SEGMENT.FIVE).textContent).eql("FEON") + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('#continue-button')) + + //4. Level + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).textContent).eql("FERÜINCKPHREYSSI") + .expect(Selector('.segment-parent').nth(SEGMENT.TWO).textContent).eql("FERÜ") + .expect(Selector('.segment-parent').nth(SEGMENT.THREE).textContent).eql("INCK") + .expect(Selector('.segment-parent').nth(SEGMENT.FOUR).textContent).eql("PHRE") + .expect(Selector('.segment-parent').nth(SEGMENT.FIVE).textContent).eql("YSSI") + .expect(Selector('.segment-parent').nth(SEGMENT.SIX).textContent).eql("BEHE") + .expect(Selector('.segment-parent').nth(SEGMENT.SEVEN).textContent).eql("RARZ") + .expect(Selector('.segment-parent').nth(SEGMENT.EIGHT).textContent).eql("GUFA") + .expect(Selector('.segment-parent').nth(SEGMENT.NINE).textContent).eql("SSLL") + .expect(Selector('.segment-parent').nth(SEGMENT.TEN).textContent).eql("IKDEERNZTULANGND") + .expect(Selector('.segment-parent').nth(SEGMENT.ELEVEN).textContent).eql("IKDE") + .expect(Selector('.segment-parent').nth(SEGMENT.TWELVE).textContent).eql("ERNZ") + .expect(Selector('.segment-parent').nth(SEGMENT.THIRTEEN).textContent).eql("TULA") + .expect(Selector('.segment-parent').nth(SEGMENT.FOURTEEN).textContent).eql("NGND") + .drag(Selector('.segment-parent').nth(SEGMENT.TEN), 128, 4, { + offsetX: 54, + offsetY: 17 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.ONE), 128, 3, { + offsetX: 54, + offsetY: 17 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.TEN).find('div').withText('I'), 128, 4, { + offsetX: 27, + offsetY: 41 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.ONE).find('div').withText('S'), 10, 144, { + offsetX: 64, + offsetY: 32 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.TEN), 128, 4, { + offsetX: 27, + offsetY: 41 + }) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .click(Selector('.segment-parent').nth(SEGMENT.EIGHT)) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.ELEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.ELEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.ELEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWELVE)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('.segment-parent').nth(SEGMENT.SIX)) + .click(Selector('.segment-parent').nth(SEGMENT.TWELVE)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.SIX)) + .expect(Selector('#continue-button').visible).eql(true) + .expect(Selector('#won-text').visible).eql(true) + .click(Selector('#continue-button')) + + //5. Level + .expect(Selector('#level-number').textContent).eql("5") + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).textContent).eql("BEANTOBEALBALEUM") + .expect(Selector('.segment-parent').nth(SEGMENT.SIX).textContent).eql("NUTUNGNGRGHAIEUS") + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('.segment-parent').nth(SEGMENT.SIX).getStyleProperty('transform')).eql("matrix(0, 1, -1, 0, 0, 0)") + + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .drag(Selector('.segment-parent').nth(SEGMENT.SIX).find('div').withText('U'), 3, 159, { + offsetX: 69, + offsetY: 150 + }) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .drag(Selector('.segment-parent').nth(SEGMENT.SIX), 3, 123, { + offsetX: 86, + offsetY: 133 + }) + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .drag(Selector('.segment-parent').nth(SEGMENT.SIX), 10, 123, { + offsetX: 60, + offsetY: 137 + }) + .expect(Selector('#won-text').visible).eql(true) + .expect(Selector('#continue-button').visible).eql(true) + .click(Selector('#continue-button')) + + + //Level 6 + .expect(Selector('#level-number').textContent).eql("6") + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).textContent).eql("FEGEHLISARBEBERE") + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('.segment-parent').nth(SEGMENT.TEN).getStyleProperty('transform')).eql("matrix(-1, 0, 0, -1, 0, 0)") + .expect(Selector('.segment-parent').nth(SEGMENT.TEN).textContent).eql("ITITSPSCIKARAROT") + + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .drag(Selector('.segment-parent').nth(SEGMENT.TEN).find('div').withText('A'), 106, -4, { + offsetX: 33, + offsetY: 18 + }) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.SIX)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTY)) + .click(Selector('.segment-parent').nth(SEGMENT.TWELVE)) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .click(Selector('.segment-parent').nth(SEGMENT.THIRTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTYONE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .click(Selector('.segment-parent').nth(SEGMENT.EIGHT)) + .click(Selector('.segment-parent').nth(SEGMENT.ELEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWELVE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.FOURTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.SIXTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWELVE)) + .click(Selector('.segment-parent').nth(SEGMENT.NINETEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTYONE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTY)) + .click(Selector('.segment-parent').nth(SEGMENT.THIRTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTY)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVENTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.SIXTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.FOURTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.NINETEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTYONE)) + .drag(Selector('.segment-parent').nth(SEGMENT.TEN).find('div').withText('P'), 169, -3, { + offsetX: 22, + offsetY: 16 + }) + .expect(Selector('div').withText('P').nth(11).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('#continue-button').visible).eql(true) + .expect(Selector('#won-text').visible).eql(true) + .click(Selector('#continue-button')) + + + //Level 7 + .expect(Selector('.segment-parent').nth(SEGMENT.SIX).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('.segment-row > .child-container').childElementCount).eql(3) + + .drag(Selector('.segment-parent').nth(SEGMENT.ONE), 4, 177, { + offsetX: 50, + offsetY: 73 + }) + + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.THIRTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .drag(Selector('.segment-parent').nth(SEGMENT.ELEVEN), 14, 195, { + offsetX: 55, + offsetY: 57 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.ONE), 4, 177, { + offsetX: 50, + offsetY: 73 + }) + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.EIGHT)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.THIRTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.EIGHT)) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .drag(Selector('.segment-parent').nth(SEGMENT.ELEVEN), 14, 195, { + offsetX: 55, + offsetY: 57 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.ONE), 4, 177, { + offsetX: 50, + offsetY: 73 + }) + .click(Selector('.segment-parent').nth(SEGMENT.THIRTEEN)) + + .expect(Selector('#won-text').visible).eql(true) + .expect(Selector('#continue-button').visible).eql(true) + .click(Selector('#continue-button')) + .expect(Selector('#site-content').childElementCount).eql(1); +}); \ No newline at end of file diff --git a/test/play.testcafe.js b/test/play.testcafe.js new file mode 100644 index 0000000..f7f8d98 --- /dev/null +++ b/test/play.testcafe.js @@ -0,0 +1,278 @@ +import {Selector} from 'testcafe'; + +fixture`Play` + .page`https://127.0.0.1/pwa/wordRotator/publicTest/`; + +test('Play', async t => { + + const SEGMENT = { + ONE: 0, + TWO: 1, + THREE: 2, + FOUR: 3, + FIVE: 4, + SIX : 5, + SEVEN: 6, + EIGHT : 7, + NINE: 8, + TEN: 9, + ELEVEN: 10, + TWELVE: 11, + THIRTEEN: 12, + FOURTEEN: 13, + FIFTEEN: 14, + SIXTEEN: 15, + SEVENTEEN: 16, + EIGHTEEN:17, + NINETEEN: 18, + TWENTY:19, + TWENTYONE:20 + }; + + await t + //first Level + .expect(Selector('#level-number').textContent).eql("1") + .expect(Selector('.segment.segment-parent.rotate-90').nth(0).getStyleProperty('transform')).eql("matrix(0, 1, -1, 0, 0, 0)") + .expect(Selector('.segment.segment-parent.rotate-90').nth(1).getStyleProperty('transform')).eql("matrix(0, 1, -1, 0, 0, 0)") + .expect(Selector('.segment.segment-parent.rotate-270').getStyleProperty('transform')).eql("matrix(0, -1, 1, 0, 0, 0)") + .expect(Selector('#won-text').getStyleProperty('visibility')).eql("hidden") + .expect(Selector('#continue-button').getStyleProperty('visibility')).eql("hidden") + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .expect(Selector('.segment.segment-parent.rotate-360').getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .expect(Selector('.segment.segment-parent.rotate-360').nth(1).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('#won-text').visible).eql(true) + .expect(Selector('#continue-button').visible).eql(true) + .click(Selector('#continue-button')) + + //TWOLevel + .expect(Selector('.segment.segment-parent.rotate-270').nth(0).textContent).eql("BOAL") + .expect(Selector('.segment.segment-parent.rotate-180').textContent).eql("DEAR") + .expect(Selector('.segment.segment-parent.rotate-360').textContent).eql("NSMR") + .expect(Selector('.segment.segment-parent.rotate-270').nth(1).textContent).eql("EEUF") + .expect(Selector('.segment.segment-parent.rotate-270').nth(0).getStyleProperty('transform')).eql("matrix(0, -1, 1, 0, 0, 0)") + .expect(Selector('.segment.segment-parent.rotate-180').getStyleProperty('transform')).eql("matrix(-1, 0, 0, -1, 0, 0)") + .expect(Selector('.segment.segment-parent.rotate-360').getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('.segment.segment-parent.rotate-270').nth(1).getStyleProperty('transform')).eql("matrix(0, -1, 1, 0, 0, 0)") + .expect(Selector('#continue-button').getStyleProperty('visibility')).eql("hidden") + .expect(Selector('#level-number').textContent).eql("2") + .expect(Selector('#won-text').getStyleProperty('visibility')).eql("hidden") + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .expect(Selector('.segment-parent').nth(SEGMENT.TWO).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .expect(Selector('.segment-parent').nth(SEGMENT.TWO).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('#won-text').visible).eql(true) + .expect(Selector('#continue-button').visible).eql(true) + .click(Selector('#continue-button')) + + //THREE Level + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).textContent).eql("ZEHO") + .expect(Selector('.segment-parent').nth(SEGMENT.TWO).textContent).eql("ITCH") + .expect(Selector('.segment-parent').nth(SEGMENT.THREE).textContent).eql("STSA") + .expect(Selector('.segment-parent').nth(SEGMENT.FOUR).textContent).eql("RAIS") + .expect(Selector('.segment-parent').nth(SEGMENT.FIVE).textContent).eql("FEON") + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('.segment-parent').nth(SEGMENT.ONE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('#continue-button')) + + //4. Level + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).textContent).eql("FERÜINCKPHREYSSI") + .expect(Selector('.segment-parent').nth(SEGMENT.TWO).textContent).eql("FERÜ") + .expect(Selector('.segment-parent').nth(SEGMENT.THREE).textContent).eql("INCK") + .expect(Selector('.segment-parent').nth(SEGMENT.FOUR).textContent).eql("PHRE") + .expect(Selector('.segment-parent').nth(SEGMENT.FIVE).textContent).eql("YSSI") + .expect(Selector('.segment-parent').nth(SEGMENT.SIX).textContent).eql("BEHE") + .expect(Selector('.segment-parent').nth(SEGMENT.SEVEN).textContent).eql("RARZ") + .expect(Selector('.segment-parent').nth(SEGMENT.EIGHT).textContent).eql("GUFA") + .expect(Selector('.segment-parent').nth(SEGMENT.NINE).textContent).eql("SSLL") + .expect(Selector('.segment-parent').nth(SEGMENT.TEN).textContent).eql("IKDEERNZTULANGND") + .expect(Selector('.segment-parent').nth(SEGMENT.ELEVEN).textContent).eql("IKDE") + .expect(Selector('.segment-parent').nth(SEGMENT.TWELVE).textContent).eql("ERNZ") + .expect(Selector('.segment-parent').nth(SEGMENT.THIRTEEN).textContent).eql("TULA") + .expect(Selector('.segment-parent').nth(SEGMENT.FOURTEEN).textContent).eql("NGND") + .drag(Selector('.segment-parent').nth(SEGMENT.TEN), 128, 4, { + offsetX: 54, + offsetY: 17 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.ONE), 128, 3, { + offsetX: 54, + offsetY: 17 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.TEN).find('div').withText('I'), 128, 4, { + offsetX: 27, + offsetY: 41 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.ONE).find('div').withText('S'), 10, 144, { + offsetX: 64, + offsetY: 32 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.TEN), 128, 4, { + offsetX: 27, + offsetY: 41 + }) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .click(Selector('.segment-parent').nth(SEGMENT.EIGHT)) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.ELEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.ELEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.ELEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWELVE)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('.segment-parent').nth(SEGMENT.SIX)) + .click(Selector('.segment-parent').nth(SEGMENT.TWELVE)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.SIX)) + .expect(Selector('#continue-button').visible).eql(true) + .expect(Selector('#won-text').visible).eql(true) + .click(Selector('#continue-button')) + + //5. Level + .expect(Selector('#level-number').textContent).eql("5") + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).textContent).eql("BEANTOBEALBALEUM") + .expect(Selector('.segment-parent').nth(SEGMENT.SIX).textContent).eql("NUTUNGNGRGHAIEUS") + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('.segment-parent').nth(SEGMENT.SIX).getStyleProperty('transform')).eql("matrix(0, 1, -1, 0, 0, 0)") + + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .drag(Selector('.segment-parent').nth(SEGMENT.SIX).find('div').withText('U'), 3, 159, { + offsetX: 69, + offsetY: 150 + }) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .drag(Selector('.segment-parent').nth(SEGMENT.SIX), 3, 123, { + offsetX: 86, + offsetY: 133 + }) + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .drag(Selector('.segment-parent').nth(SEGMENT.SIX), 10, 123, { + offsetX: 60, + offsetY: 137 + }) + .expect(Selector('#won-text').visible).eql(true) + .expect(Selector('#continue-button').visible).eql(true) + .click(Selector('#continue-button')) + + + //Level 6 + .expect(Selector('#level-number').textContent).eql("6") + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).textContent).eql("FEGEHLISARBEBERE") + .expect(Selector('.segment-parent').nth(SEGMENT.ONE).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('.segment-parent').nth(SEGMENT.TEN).getStyleProperty('transform')).eql("matrix(-1, 0, 0, -1, 0, 0)") + .expect(Selector('.segment-parent').nth(SEGMENT.TEN).textContent).eql("ITITSPSCIKARAROT") + + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .drag(Selector('.segment-parent').nth(SEGMENT.TEN).find('div').withText('A'), 106, -4, { + offsetX: 33, + offsetY: 18 + }) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.SIX)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTY)) + .click(Selector('.segment-parent').nth(SEGMENT.TWELVE)) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .click(Selector('.segment-parent').nth(SEGMENT.THIRTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTYONE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .click(Selector('.segment-parent').nth(SEGMENT.EIGHT)) + .click(Selector('.segment-parent').nth(SEGMENT.ELEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWELVE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.FOURTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.SIXTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWELVE)) + .click(Selector('.segment-parent').nth(SEGMENT.NINETEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTYONE)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTY)) + .click(Selector('.segment-parent').nth(SEGMENT.THIRTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTY)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVENTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.SIXTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.FOURTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.NINETEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWENTYONE)) + .drag(Selector('.segment-parent').nth(SEGMENT.TEN).find('div').withText('P'), 169, -3, { + offsetX: 22, + offsetY: 16 + }) + .expect(Selector('div').withText('P').nth(11).find('.segment.segment-parent.layer-2.rotate-360').getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('#continue-button').visible).eql(true) + .expect(Selector('#won-text').visible).eql(true) + .click(Selector('#continue-button')) + + + //Level 7 + .expect(Selector('.segment-parent').nth(SEGMENT.SIX).getStyleProperty('transform')).eql("matrix(1, 0, 0, 1, 0, 0)") + .expect(Selector('.segment-row > .child-container').childElementCount).eql(3) + + .drag(Selector('.segment-parent').nth(SEGMENT.ONE), 4, 177, { + offsetX: 50, + offsetY: 73 + }) + + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.THIRTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.TWO)) + .drag(Selector('.segment-parent').nth(SEGMENT.ELEVEN), 14, 195, { + offsetX: 55, + offsetY: 57 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.ONE), 4, 177, { + offsetX: 50, + offsetY: 73 + }) + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.EIGHT)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.THIRTEEN)) + .click(Selector('.segment-parent').nth(SEGMENT.FIVE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .click(Selector('.segment-parent').nth(SEGMENT.SEVEN)) + .click(Selector('.segment-parent').nth(SEGMENT.THREE)) + .click(Selector('.segment-parent').nth(SEGMENT.EIGHT)) + .click(Selector('.segment-parent').nth(SEGMENT.NINE)) + .click(Selector('.segment-parent').nth(SEGMENT.FOUR)) + .drag(Selector('.segment-parent').nth(SEGMENT.ELEVEN), 14, 195, { + offsetX: 55, + offsetY: 57 + }) + .drag(Selector('.segment-parent').nth(SEGMENT.ONE), 4, 177, { + offsetX: 50, + offsetY: 73 + }) + .click(Selector('.segment-parent').nth(SEGMENT.THIRTEEN)) + + .expect(Selector('#won-text').visible).eql(true) + .expect(Selector('#continue-button').visible).eql(true) + .click(Selector('#continue-button')) + .expect(Selector('#site-content').childElementCount).eql(1); +}); \ No newline at end of file