UNPKG

wix-style-react

Version:
223 lines (173 loc) • 7.27 kB
'use strict'; var _eyes = require('eyes.it'); var _eyes2 = _interopRequireDefault(_eyes); var _wixEventually = require('wix-eventually'); var _wixEventually2 = _interopRequireDefault(_wixEventually); var _protractor = require('../../testkit/protractor'); var _protractor2 = require('wix-ui-test-utils/protractor'); var _storybookHelpers = require('../../test/utils/storybook-helpers'); var _AutoExampleDriver = require('wix-storybook-utils/AutoExampleDriver'); var _AutoExampleDriver2 = _interopRequireDefault(_AutoExampleDriver); var _storySettings = require('../../stories/Page/storySettings'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } var category = _storySettings.storySettings.category, storyName = _storySettings.storySettings.storyName; var testStoryUrl = function testStoryUrl(testName) { return (0, _storybookHelpers.createTestStoryUrl)({ category: category, storyName: storyName, testName: testName }); }; describe('Page', function () { var initTest = function () { var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(_ref2) { var storyUrl = _ref2.storyUrl, dataHook = _ref2.dataHook, props = _ref2.props; var driver; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return browser.get(storyUrl); case 2: driver = (0, _protractor.pageTestkitFactory)({ dataHook: dataHook }); _context.next = 5; return (0, _protractor2.waitForVisibilityOf)(driver.element(), 'Cannot find Page'); case 5: _context.next = 7; return (0, _protractor2.scrollToElement)(driver.element()); case 7: _context.t0 = props; if (!_context.t0) { _context.next = 11; break; } _context.next = 11; return _AutoExampleDriver2.default.setProps(props); case 11: return _context.abrupt('return', driver); case 12: case 'end': return _context.stop(); } } }, _callee, undefined); })); return function initTest(_x) { return _ref.apply(this, arguments); }; }(); var runTestCases = function runTestCases(initTestConfig) { _eyes2.default.it('should hide title on scroll threshold', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { var driver; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return initTest(initTestConfig); case 2: driver = _context2.sent; _context2.t0 = expect; _context2.next = 6; return driver.titleExists(); case 6: _context2.t1 = _context2.sent; _context2.next = 9; return (0, _context2.t0)(_context2.t1).toBeTruthy(); case 9: _context2.next = 11; return _eyes2.default.checkWindow('Page title shown'); case 11: _context2.next = 13; return driver.scrollDown(); case 13: _context2.next = 15; return (0, _wixEventually2.default)(function () { return !driver.titleExists(); }); case 15: _context2.next = 17; return _eyes2.default.checkWindow('Page title hidden'); case 17: _context2.next = 19; return driver.scrollUp(); case 19: _context2.next = 21; return (0, _wixEventually2.default)(function () { return driver.titleExists(); }); case 21: _context2.next = 23; return _eyes2.default.checkWindow('Page title appears'); case 23: case 'end': return _context2.stop(); } } }, _callee2, undefined); }))); }; describe('Header + Tail + Content', function () { var dataHook = 'story-page'; var storyUrl = (0, _storybookHelpers.createStoryUrl)({ kind: category, story: storyName, withExamples: false }); describe('With Background-Image', function () { runTestCases({ storyUrl: storyUrl, dataHook: dataHook }); }); describe('With gradientCoverTail', function () { runTestCases({ storyUrl: storyUrl, dataHook: dataHook, props: { backgroundImageUrl: '' } }); }); }); describe('Header + Content', function () { var dataHook = 'story-page'; describe('With Background-Image', function () { var storyUrl = testStoryUrl('1. Image'); runTestCases({ storyUrl: storyUrl, dataHook: dataHook }); }); describe('With Gradient', function () { var storyUrl = testStoryUrl('2. Gradient'); runTestCases({ storyUrl: storyUrl, dataHook: dataHook }); }); }); describe('Header + FixedContent + Content', function () { var dataHook = 'story-page'; describe('With Background-Image', function () { var storyUrl = testStoryUrl('3. FC-Image'); runTestCases({ storyUrl: storyUrl, dataHook: dataHook }); }); describe('With Gradient', function () { var storyUrl = testStoryUrl('4. FC-Gradient'); runTestCases({ storyUrl: storyUrl, dataHook: dataHook }); }); }); describe('With EmptyState', function () { var storyUrl = (0, _storybookHelpers.createStoryUrl)({ kind: category, story: storyName }); it('should not break design', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() { var _dataHook, element; return regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _dataHook = 'story-page-empty-state'; element = $('[data-hook="' + _dataHook + '"]'); _context3.next = 4; return browser.get(storyUrl); case 4: _context3.next = 6; return (0, _protractor2.waitForVisibilityOf)(element, 'Cannot find ' + _dataHook); case 6: _context3.next = 8; return (0, _protractor2.scrollToElement)(element); case 8: case 'end': return _context3.stop(); } } }, _callee3, undefined); }))); }); });