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); });