How to use testVersion method in Cypress

Best JavaScript code snippet using cypress

AppleVersionUpdate.js

Source:AppleVersionUpdate.js Github

copy

Full Screen

1$(function () {2    var normalVersion,//普通版本号3        forceVersion,//强制版本号4        versionIntro,//版本信息5        currPn,//当前页6        totalPn,//总页数7        inputPage,//输入框页码8        testVersion//审核版本号9    //点击新增版本------清空输入框10    $('.pro-export').click(function () {11        $('#upload').text('上传');12        $('#normalVersion').val('');13        $('#forceVersion').val('');14        $('#versionIntro').val('');15        $('#testVersion').val('');16    })17    //点击上传18    $('#upload').click(function () {19        var varsionID = $(this).attr('varsionID');//版本ID20        normalVersion = $('#normalVersion').val();//普通版本号21        forceVersion = $('#forceVersion').val();//强制版本号22        testVersion = $('#testVersion').val();//审核版本号23        versionIntro = $('#versionIntro').val();//版本信息24        if (!normalVersion || !forceVersion || !versionIntro || !testVersion) {25            alert('请完善版本信息!');26            return false;27        }28        if ($(this).text() == '上传') {29            addIOSVersionInfo(versionIntro, forceVersion, testVersion, normalVersion)30        } else {31            data = '{"details":"' + versionIntro + '","forceVersion":' + forceVersion + ',"trialVersion":"' + testVersion + '","type":"IOS","version":' + normalVersion + ',"id":' + varsionID + '}'32            console.log(varsionID)33            console.log(data)34            $.ajax({35                url: boss_url + 'boss/updateVersion',36                type: 'post',37                data: data,38                contentType: "application/json",39                success: function (res) {40                    if (res.httpStatus == 200) {41                        alert('版本信息修改成功');42                        window.location.reload();43                    } else {44                        console.log(res.exception);45                    }46                },47                error: function () {48                    console.log('版本信息修改失败!!')49                }50            })51        }52    });53    //页面加载54    var pn = $('.b-Table currPn').text() - 0;55    if (pn == 0) {56        pn = 1;57        getIOSVersionInfo(pn);58    }59    //分页60    //上一页61    $('.b-Table').on('click', '.previous', function () {62        if (currPn <= 1) {63            currPn = 1;64            return false;65        };66        currPn--;67        getIOSVersionInfo(currPn);68    })69    //下一页70    $('.b-Table').on('click', '.next', function () {71        if (currPn >= totalPn) {72            currPn = totalPn;73            return false;74        };75        currPn++;76        getIOSVersionInfo(currPn);77    });78    //点击开启/关闭79    $('.b-Table').on('click', '.handle', function () {80        //版本id81        var id = $(this).attr('varsionID');82        //版本状态83        var isOpen = $(this).attr('isOpen');84        if (isOpen == 0) {85            isOpen = 186        } else {87            isOpen = 088        };89        openVersion(id, isOpen);90    });91    //添加版本信息----方法92    function addIOSVersionInfo(versionIntro, forceVersion, testVersion, normalVersion) {93        data = '{"details":"' + versionIntro + '","forceVersion":' + forceVersion + ',"trialVersion":' + testVersion + ',"type":"IOS","version":' + normalVersion + '}'94        console.log(data)95        $.ajax({96            url: boss_url + 'boss/insertVersion',97            type: 'post',98            data: data,99            contentType: "application/json",100            success: function (res) {101                if (res.httpStatus == 200) {102                    alert('版本上传成功');103                    window.location.reload();104                } else {105                    console.log(res.exception);106                }107            },108            error: function () {109                console.log('版本上传失败!!')110            }111        })112    };113    //开启/关闭版本114    function openVersion(id, isOpen) {115        $.ajax({116            url: boss_url + 'boss/updateIsOpen',117            type: 'post',118            data: JSON.stringify({119                id: id,120                isOpen: isOpen,121                type: 'IOS'122            }),123            contentType: "application/json",124            success: function (res) {125                if (res.httpStatus == 200) {126                    window.location.reload();127                } else {128                    alert(res.exception);129                }130            },131            error: function () {132                console.log('版本操作失败');133            }134        })135    };136    //首页加载137    function getIOSVersionInfo(pn) {138        $.ajax({139            url: boss_url + 'boss/queryVersionList',140            type: 'post',141            async: false,142            data: JSON.stringify({143                type: 'IOS',144                pn: pn,145                pSize: 10146            }),147            contentType: "application/json",148            success: function (res) {149                if (res.httpStatus == 200) {150                    var html = template('AndroidInfoTemp', res.data);151                    $('.b-Table').html(html);152                    currPn = $('.b-Table .currPn').text() - 0;153                    totalPn = $('.b-Table .totalPn').text() - 0;154                } else {155                    console.log(res.exception);156                }157            },158            error: function () {159                console.log('首页列表加载失败');160            }161        })162    }163    //点击编辑164    $('.b-Table').on('click', '.editor', function () {165        $('#upload').text('确定');166        var varsionID = $(this).next().attr('varsionID');167        $.ajax({168            url: boss_url + 'boss/queryVersionInfo',169            type: 'post',170            async: false,171            data: JSON.stringify({172                id: varsionID,173                type: 'IOS'174            }),175            contentType: "application/json",176            success: function (res) {177                if (res.httpStatus == 200) {178                    $('#normalVersion').val(res.data.version);179                    $('#forceVersion').val(res.data.forceVersion);180                    $('#versionIntro').val(res.data.details);181                    $('#upload').attr('varsionID', res.data.id);182                    $('#testVersion').val(res.data.trialVersion);183                }else{184                    console.log(res.exception);185                }186            },187            error: function () {188                console.log('获取原版本信息失败')189            }190        });191    })...

Full Screen

Full Screen

index.js

Source:index.js Github

copy

Full Screen

1import React from "react";2import update from 'immutability-helper';3import moment from 'moment';4import TestVersionSettings from '../EditTestModal/components/TestVersionSettings';5import Settings from '../EditTestModal/components/Settings';6import {7  updateStudentTestDueDate,8  updateStudentTestAssignmentDate,9} from '../../../index/api';10class TestVersion extends React.Component {11  constructor(props) {12    super(props);13    this.state = {14      testVersion: {15        version: '',16        sections: {17          reading: false,18          writing: false,19          math: false,20          essay: false,21        },22        includeScoreInImprovementMetrics: false,23      },24      settings: {25        testDate: '',26        dueDate: '',27        allowStudentToEnterAnswers: false,28        timed: false,29      },30    };31  }32  componentDidMount() {33    const { test: { assignment_date: unformattedTestDate, dueDate: unformattedDueDate } } = this.props;34    const testDate = new Date(unformattedTestDate);35    const dueDate = unformattedDueDate ? new Date(unformattedDueDate) : '';36    const settings = update(this.state.settings, {37      testDate: {38        $set: testDate,39      },40      dueDate: {41        $set: dueDate,42      },43    });44    this.setState({ settings });45  }46  componentDidUpdate(prevProps) {47    const { test: { testDate: unformattedTestDate, dueDate: unformattedDueDate } } = this.props;48    const testDate = new Date(unformattedTestDate);49    const dueDate = unformattedDueDate ? new Date(unformattedDueDate) : '';50    if (prevProps.test.id !== this.props.test.id) {51      const settings = update(this.state.settings, {52        testDate: {53          $set: testDate,54        },55        dueDate: {56          $set: dueDate,57        },58      });59      this.setState({ settings });60    }61  }62  handleTestVersionSettingsChange = (event) => {63    const { testVersion: { sections } } = this.state;64    let testVersion;65    if (event.target) {66      const { target: { name: setting } } = event;67      if (sections[setting] !== undefined) {68        testVersion = update(this.state.testVersion, {69          sections: {70            [setting]: {71              $set: !sections[setting],72            },73          },74        });75      } else {76        testVersion = update(this.state.testVersion, {77          [setting]: {78            $set: !this.state.testVersion[setting],79          },80        });81      }82    } else {83      testVersion = update(this.state.testVersion, {84        version: {85          $set: event,86        },87      });88    }89    this.setState({ testVersion });90  }91  handleSettingsChange = (event) => {92    const { settings: previousSettings } = this.state;93    const { target: { name: setting } } = event;94    const settings = update(this.state.settings, {95      [setting]: {96        $set: !previousSettings[setting],97      },98    });99    this.setState({ settings });100  }101  handleDatePickerChange = (field, value) => {102    const settings = update(this.state.settings, {103      [field]: {104        $set: value,105      },106    });107    this.setState({ settings }, () => this.handleStudentTestApiUpdate(field, value));108  }109  saveTestChanges = () => {110    const { onSaveTestChanges } = this.props;111    const { testVersion, settings: { testDate: unformattedTestDate, dueDate: unformattedDueDate, allowStudentToEnterAnswers, timed } } = this.state;112    const testDate = moment(unformattedTestDate).format('MM/DD/YY');113    const dueDate = moment(unformattedDueDate).format('MM/DD/YY');114    onSaveTestChanges(testVersion, { testDate, dueDate, allowStudentToEnterAnswers, timed });115  }116  handleStudentTestApiUpdate = async(name, value) => {117    const {student_test_id} = this.props.test;118    const postDate =  moment(value).format('YYYY-MM-DD');119    switch (name) {120      case "dueDate":121        return updateStudentTestDueDate({student_test_id:student_test_id,due_date:postDate});122      case "testDate":123        return updateStudentTestAssignmentDate({student_test_id:student_test_id,assignment_date:postDate});124      default:125        break;126    }127  };128  render() {129    const { test, user, onDeleteTest } = this.props;130    const { completionDate, completionTime } = test;131    const { studentInformation: { firstName, lastName } } = user;132    const { testVersion: {sections: { reading, writing, math, essay },version, includeScoreInImprovementMetrics},133      settings: { testDate, dueDate, allowStudentToEnterAnswers, timed },134    } = this.state;135    return (136      <div className="container-xsmall">137        <div className="row d-flex-content card-width-322">138          <div className="card-main-col col s12 m8 l7 xl5">139            <TestVersionSettings140              version={version}141              reading={reading}142              writing={writing}143              math={math}144              essay={essay}145              includeScoreInImprovementMetrics={ includeScoreInImprovementMetrics}146              handleTestVersionSettingsChange={ this.handleTestVersionSettingsChange}147            />148            <Settings149              timed={timed}150              testDate={testDate}151              dueDate={dueDate}152              handleSettingsChange={this.handleSettingsChange}153              handleDatePickerChange={this.handleDatePickerChange}154              allowStudentToEnterAnswers={allowStudentToEnterAnswers}155            />156          </div>157          <div className="card-main-col col s12 m8 l7 xl5">158            <h2>Status</h2>159            <div className="card card-test-detail">160              <div className="card-content">161                <div className="meta-info">162                  <If condition={completionDate.length}>163                    <p>164                      Completed :{" "}165                      <time dateTime="2018-12-29">166                        {completionDate} at {completionTime}167                      </time>168                      <If169                        condition={170                          completionDate.length && test.dueDate < completionDate171                        }172                      >173                        <span174                          className="badge white-text badge-rounded-sm"175                          style={{ backgroundColor: "#db1d41" }}176                        >177                          <b className="badge-text">late</b>178                        </span>179                      </If>180                    </p>181                  </If>182                  <p>183                    Answers Entered by: {firstName} {lastName} (student)184                  </p>185                </div>186              </div>187            </div>188          </div>189        </div>190        <div className="btn-holder">191          <a href="#" className="btn" onClick={this.saveTestChanges}>192            Save193          </a>194          <a195            href="#"196            className="waves-effect waves-teal btn-flat pink-text text-darken-1"197            onClick={onDeleteTest}198          >199            Delete200          </a>201        </div>202      </div>203    );204  }205}...

Full Screen

Full Screen

pushError.tests.js

Source:pushError.tests.js Github

copy

Full Screen

1/* */ 2var Platform = require('../../../../src/Platform/index'),3    Query = require('azure-query-js').Query,4    tableConstants = require('../../../../src/constants').table,5    storeTestHelper = require('./storeTestHelper'),6    runner = require('../../../../src/Utilities/taskRunner'),7    createOperationTableManager = require('../../../../src/sync/operations').createOperationTableManager,8    createPushError = require('../../../../src/sync/pushError').createPushError,9    MobileServiceSqliteStore = require('../../../../src/Platform/cordova/MobileServiceSqliteStore');10var operationTableName = tableConstants.operationTableName,11    store,12    testVersion = 'someversion',13    testId = 'someid';14$testGroup('pushError tests').beforeEachAsync(function() {15  return storeTestHelper.createEmptyStore().then(function(emptyStore) {16    store = emptyStore;17  });18}).tests($test('pushError.update()').description('verify update() uses whatever metadata is returned by operationTableManager.getMetadata()').checkAsync(function() {19  var testId = 'someid',20      operationTableManager = createOperationTableManager(store),21      pushOperation = {22        logRecord: {23          id: 101,24          tableName: storeTestHelper.testTableName,25          action: 'someaction',26          itemId: testId,27          metadata: {}28        },29        data: {id: testId}30      },31      pushError = createPushError(store, operationTableManager, runner(), pushOperation, 'some-error');32  var batchExecuted;33  store.executeBatch = function(batch) {34    return Platform.async(function(callback) {35      $assert.areEqual(batch[0].data.metadata, 'some-metadata');36      batchExecuted = true;37      callback();38    })();39  };40  operationTableManager.getMetadata = function() {41    return Platform.async(function(callback) {42      return callback(null, 'some-metadata');43    })();44  };45  return pushError.update({id: testId}).then(function() {46    $assert.isTrue(batchExecuted);47  });48}), $test('pushError.changeAction() - new action is insert, new record value specifies version').checkAsync(function() {49  return verifyChangeAction('update', 'insert', testId, testId, undefined, testVersion, true, testVersion);50}), $test('pushError.changeAction() - new action is insert, new record value specifies different ID').checkAsync(function() {51  return verifyChangeAction('update', 'insert', testId, 'changed id', testVersion, testVersion, false);52}), $test('pushError.changeAction() - new action is insert, new record value not specified, old action is update').checkAsync(function() {53  return verifyChangeAction('update', 'insert', testId, undefined, testVersion, undefined, true, testVersion);54}), $test('pushError.changeAction() - new action is insert, new record value not specified, old action is delete').checkAsync(function() {55  return verifyChangeAction('delete', 'insert', testId, undefined, testVersion, undefined, false);56}), $test('pushError.changeAction() - new action is update, new record value specifies version').checkAsync(function() {57  return verifyChangeAction('insert', 'update', testId, testId, undefined, testVersion, true, testVersion);58}), $test('pushError.changeAction() - new action is update, new record value specifies different ID').checkAsync(function() {59  return verifyChangeAction('update', 'update', testId, 'changed id', testVersion, testVersion, false);60}), $test('pushError.changeAction() - new action is update, new record value not specified, old action is insert').checkAsync(function() {61  return verifyChangeAction('insert', 'update', testId, undefined, testVersion, undefined, true, testVersion);62}), $test('pushError.changeAction() - new action is update, new record value not specified, old action is delete').checkAsync(function() {63  return verifyChangeAction('delete', 'update', testId, undefined, testVersion, undefined, false);64}), $test('pushError.changeAction() - new action is delete, new record value specifies version').checkAsync(function() {65  return verifyChangeAction('insert', 'delete', testId, testId, undefined, testVersion, true, testVersion);66}), $test('pushError.changeAction() - new action is delete, new record value specifies different ID').checkAsync(function() {67  return verifyChangeAction('update', 'delete', testId, 'changed id', testVersion, testVersion, false);68}), $test('pushError.changeAction() - new action is delete, new record value not specified, old action is insert').checkAsync(function() {69  return verifyChangeAction('insert', 'delete', testId, undefined, testVersion, undefined, true, testVersion);70}), $test('pushError.changeAction() - new action is update, new record value not specified, old action is delete').checkAsync(function() {71  return verifyChangeAction('delete', 'update', testId, undefined, testVersion, undefined, false);72}));73function verifyChangeAction(oldAction, newAction, oldItemId, newItemId, oldVersion, newVersion, isSuccessExpected, expectedVersion) {74  var testId = 'someid',75      operationTableManager = createOperationTableManager(store),76      pushOperation = {77        logRecord: {78          id: 101,79          tableName: storeTestHelper.testTableName,80          action: oldAction,81          itemId: oldItemId,82          metadata: {version: oldVersion}83        },84        data: {id: oldItemId}85      },86      pushError = createPushError(store, operationTableManager, runner(), pushOperation, 'some-error');87  var batchExecuted;88  store.executeBatch = function(batch) {89    return Platform.async(function(callback) {90      batchExecuted = batch;91      callback();92    })();93  };94  var newRecord;95  if (newItemId) {96    newRecord = {97      id: newItemId,98      version: newVersion99    };100  }101  return pushError.changeAction(newAction, newRecord).then(function() {102    $assert.isTrue(isSuccessExpected);103    $assert.areEqual(batchExecuted[0].data.metadata.version, expectedVersion);104    $assert.areEqual(batchExecuted[0].data.action, newAction);105    if (newAction === 'delete') {106      $assert.areEqual(batchExecuted.length, 2);107      $assert.areEqual(batchExecuted[1].action, 'delete');108    }109  }, function(error) {110    $assert.isNull(batchExecuted);111    $assert.isFalse(isSuccessExpected);112  });...

Full Screen

Full Screen

versionTest.js

Source:versionTest.js Github

copy

Full Screen

...22      expect(v.major).toBe(results[1])23      expect(v.minor).toBe(results[2])24      expect(v.patch).toBe(results[3])25    }26    testVersion(['identity 1.2'], ['identity', 1, 2, 0])27    testVersion(['identity 0.2'], ['identity', 0, 2, 0])28    testVersion(['compute 2222222.09'], ['compute', 2222222, 9, 0])29    testVersion(['compute 03.09'], ['compute', 3, 9, 0])30    testVersion(['compute 03.0'], ['compute', 3, 0, 0])31    testVersion(['compute 1'], ['compute', 1, 0, 0])32    testVersion(['compute 0'], ['compute', 0, 0, 0])33    testVersion(['v2.1.1'], [null, 2, 1, 1])34    testVersion(['v2.1'], [null, 2, 1, 0])35    testVersion(['v2'], [null, 2, 0, 0])36    testVersion(['v'], [null, 0, 0, 0])37    testVersion(['v0.2'], [null, 0, 2, 0])38    testVersion(['2.1.1'], [null, 2, 1, 1])39    testVersion(['2.1'], [null, 2, 1, 0])40    testVersion(['2'], [null, 2, 0, 0])41    testVersion([''], [null, 0, 0, 0])42    testVersion(['0.2'], [null, 0, 2, 0])43    testVersion(['compute', 'v2.1.1'], ['compute', 2, 1, 1])44    testVersion(['compute', 'v2.1'], ['compute', 2, 1, 0])45    testVersion(['compute', 'v2'], ['compute', 2, 0, 0])46    testVersion(['compute', 'v'], ['compute', 0, 0, 0])47    testVersion(['compute', 'v0.2'], ['compute', 0, 2, 0])48    testVersion(['compute', '2.1.1'], ['compute', 2, 1, 1])49    testVersion(['compute', '2.1'], ['compute', 2, 1, 0])50    testVersion(['compute', '2'], ['compute', 2, 0, 0])51    testVersion(['compute', ''], ['compute', 0, 0, 0])52    testVersion(['compute', '0.2'], ['compute', 0, 2, 0])53    // Invalid inputs...54    testVersion([null, null], [null, 0, 0, 0])55    testVersion([{}, {}], [null, 0, 0, 0])56    testVersion([null, {}], [null, 0, 0, 0])57    testVersion([{}, null], [null, 0, 0, 0])58  })59  it('should test for correct equality', () => {60    const v1 = new Version('compute', '1.0.0')61    // String tests...62    expect(v1.equals('compute 1.0.0')).toBe(true)63    expect(v1.equals('compute 1.0.1')).toBe(false)64    expect(v1.equals('identity 1.0.0')).toBe(false)65    // Version tests66    expect(v1.equals(new Version('compute 1.0.0'))).toBe(true)67    expect(v1.equals(new Version('compute 1.0.1'))).toBe(false)68    expect(v1.equals(new Version('identity 1.0.0'))).toBe(false)69    expect(v1.equals(new Version('1.0.0'))).toBe(false)70    // Other tests...71    expect(v1.equals({})).toBe(false)...

Full Screen

Full Screen

cli-test.js

Source:cli-test.js Github

copy

Full Screen

1'use strict';2var vows = require('vows');3var debug = require('debug')('nodist:test');4var assert = require('assert');5var nodist = require('../lib/nodist.js');6var fs = require('fs');7var path = require('path');8var spawn = require('child_process').spawn;9var testPath = path.resolve(__dirname + '/tmp');10var testVersion = '4.2.1';11//populate proxy if we can12var proxy = (13  process.env.HTTP_PROXY ||14  process.env.http_proxy ||15  process.env.HTTPS_PROXY ||16  process.env.https_proxy || ''17);18//setup new nodist19var n = new nodist(20  process.env.NODIST_NODE_MIRROR || 'https://nodejs.org/dist',21  process.env.NODIST_IOJS_MIRROR || 'https://iojs.org/dist',22  path.resolve(testPath)23);24/**25 * Exec Nodist for Testing26 * @param {Array} args27 * @param {function} cb28 */29var execNodist = function execNodist(args, cb){30  var stdout = '';31  var stderr = '';32  var nodistCmd = path.resolve(__dirname + '/../bin/nodist.cmd');33  debug('execNodist','executing',nodistCmd,args.join(' '));34  var cp = spawn(35    nodistCmd,36    args,37    {38      env: {39        NODIST_PREFIX: testPath,40        NODIST_NODE_MIRROR: n.iojsSourceUrl,41        NODIST_IOJS_MIRROR: n.sourceUrl,42        HTTP_PROXY: proxy,43        DEBUG: process.env.DEBUG44      }45    }46  );47  if(process.env.TEST){48    cp.stdout.pipe(process.stdout);49    cp.stderr.pipe(process.stderr);50  }51  cp.stdout.on('data',function(chunk){52    stdout = stdout + chunk.toString();53  });54  cp.stderr.on('data',function(chunk){55    stderr = stderr + chunk.toString();56  });57  cp.on('error', function(err){58    console.log('execution error',err);59    cb(err);60  });61  cp.on('close', function(code){62    debug('execNodist', 'exec complete', code);63    console.log('exit code',code);64    cb(null, stdout, stderr, code);65  });66};67vows.describe('nodist cli')68  .addBatch({69    'nodist add': {70      topic: function() {71        execNodist(['add',testVersion], this.callback);72      },73      'should install the specified version': function(err) {74        console.log('got response for should install', err);75        assert.isNull(err);76        debug('nodist add test for', n.getPathToExe(testVersion));77        debug('nodist add exists', fs.existsSync(n.getPathToExe(testVersion)));78        assert.ok(fs.existsSync(n.getPathToExe(testVersion)));79      }80    }81  })82  .addBatch({83    'nodist list': {84      topic: function() {85        execNodist(['list'], this.callback);86      },87      'should list the installed version': function(err, stdout) {88        assert.ifError(err);89        var versions = stdout.toString().split('\n').map(function(v) {90          return v.substr(2);91        });92        assert.ok(versions.some(function(v) { return v === testVersion; }));93      }94    }95  })96  .addBatch({97    'nodist run': {98      topic: function(){99        execNodist(['run',testVersion,'--','-v'], this.callback);100      },101      'should run the specified version': function(err, stdout){102        assert.ifError(err);103        assert.ok(stdout.toString().trim().match('v' + testVersion));104      }105    }106  })107  .addBatch({108    'nodist rm': {109      topic: function(){110        execNodist(['rm',testVersion], this.callback);111      },112      'should remove the specified version': function(err){113        assert.ifError(err);114        assert.ok(!fs.existsSync(n.getPathToExe(testVersion)));115      },116      'nodist list': {117        topic: function(){118          execNodist(['list'], this.callback);119        },120        'should not list the installed version': function(err, stdout){121          assert.ifError(err);122          var versions = stdout.toString().split('\n').map(function(v){123            return v.substr(2);124          });125          assert.ok(!versions.some(function(v) { return v === testVersion; }));126        }127      }128    }129  })...

Full Screen

Full Screen

updater.js

Source:updater.js Github

copy

Full Screen

1const { autoUpdater } = require("electron-updater");2const logger = require("electron-log");3const { version } = require("../../package.json");4const setupDevelopment = (testVersion) => {5	if (testVersion) {6		autoUpdater.currentVersion = testVersion;7	}8	if (process.platform === "linux") {9		process.env.APPIMAGE = `dist/target/ark-desktop-wallet-linux-x86_64-${testVersion || version}.AppImage`;10	}11};12const setupConfig = ({ isDev, testVersion, isE2e }) => {13	autoUpdater.logger = logger;14	autoUpdater.logger.transports.file.level = "info";15	autoUpdater.autoDownload = false;16	autoUpdater.currentVersion = testVersion || version;17	if (isDev || isE2e) {18		autoUpdater.updateConfigPath = "app-update.yml";19	}20	if (isDev) {21		setupDevelopment(testVersion);22	}23};24const sendToWindow = (key, value, mainWindow) => {25	if (mainWindow && mainWindow.webContents) {26		mainWindow.webContents.send(key, value);27		return true;28	}29	return false;30};31const ipcEvents = (prefix = "updater") => ({32	CANCEL: `${prefix}:cancel`,33	CHECK_UPDATES: `${prefix}:check-for-updates`,34	DOWNLOAD_UPDATE: `${prefix}:download-update`,35	QUIT_INSTALL: `${prefix}:quit-and-install`,36});37const updaterEvents = [38	"checking-for-update",39	"update-available",40	"update-not-available",41	"error",42	"download-progress",43	"update-downloaded",44];45const setupUpdater = ({ ipcMain, mainWindow, isDev }) => {46	setupConfig({47		isDev,48		isE2e: process.env.ELECTRON_IS_E2E,49		testVersion: process.env.AUTO_UPDATER_VERSION,50	});51	const { QUIT_INSTALL, CANCEL, CHECK_UPDATES, DOWNLOAD_UPDATE } = ipcEvents();52	for (const event_ of updaterEvents) {53		autoUpdater.on(event_, (data) => {54			sendToWindow(`updater:${event_}`, data, mainWindow);55		});56	}57	ipcMain.handle(QUIT_INSTALL, () => {58		setImmediate(() => autoUpdater.quitAndInstall());59	});60	ipcMain.handle(CANCEL, () => {61		if (autoUpdater.cancellationToken) {62			autoUpdater.cancellationToken.cancel();63		}64	});65	ipcMain.handle(CHECK_UPDATES, async () => {66		const result = await autoUpdater.checkForUpdates();67		if (result) {68			autoUpdater.cancellationToken = result.cancellationToken;69		}70		return result;71	});72	ipcMain.handle(DOWNLOAD_UPDATE, () => autoUpdater.downloadUpdate(autoUpdater.cancellationToken));73};...

Full Screen

Full Screen

testVersion.js

Source:testVersion.js Github

copy

Full Screen

...49		['1.2.3-beta', '1', true],50		['1.10.3-65.el6', '1.10.3-42z1.el6_7', true], // From: https://github.com/leohihimax/node-version-compare/issues/251		['1.10.el6', '1.10.el6_7', false]52	];53	CASES.forEach(c => t.strictEqual(testVersion(c[ACTUAL], c[EXPECTED]), c[RESULT], `"${c[ACTUAL]} >= ${c[EXPECTED]}" should be ${c[RESULT]}`));54	t.end();...

Full Screen

Full Screen

zip.js

Source:zip.js Github

copy

Full Screen

1const admZip = require('bestzip');2const fs = require('fs-extra');3const path = require('path');4const log = require('./log');5const packageJSON = require('../../package');6const dist = 'dist';7const release = 'release';8fs.removeSync(release);9fs.mkdir(release);10const { version, testversion } = packageJSON;11const out = `${release}/V${version}.${testversion}.zip`;12function exit(msg) {13  log.red(msg);14  process.exit(0);15}16if (testversion === undefined) exit(`package.json 缺少 testversion 字段`);17if (isNaN(parseInt(testversion))) exit(`package.json 内的 testversion 字段不能为非数字`);18if(!fs.existsSync(dist)) exit(`${path.resolve(dist)} 目录不存在!`);19admZip(out, [dist], function (err) {20  if (err) {21    console.error(err.stack);22    process.exit(0);23  } else {24    log.green(`Release to ${path.resolve(out)} success`);25  }...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('My First Test', function() {2  it('Does not do much!', function() {3    expect(true).to.equal(false)4  })5})6describe('My First Test', function() {7  it('Does not do much!', function() {8    expect(true).to.equal(false)9  })10})

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('My First Test', function() {2  it('Does not do much!', function() {3    expect(true).to.equal(false)4  })5})6describe('My First Test', function() {7  it('Does not do much!', function() {8    expect(true).to.equal(false)9  })10})11describe('My First Test', function() {12  it('Does not do much!', function() {13    expect(true).to.equal(false)14  })15})16describe('My First Test', function() {17  it('Does not do much!', function() {18    expect(true).to.equal(false)19  })20})21describe('My First Test', function() {22  it('Does not do much!', function() {23    expect(true).to.equal(false)24  })25})26describe('My First Test', function() {27  it('Does not do much!', function() {28    expect(true).to.equal(false)29  })30})31describe('My First Test', function() {32  it('Does not do much!', function() {33    expect(true).to.equal(false)34  })35})36describe('My First Test', function() {37  it('Does not do much!', function() {38    expect(true).to.equal(false)39  })40})41describe('My First Test', function() {42  it('Does not do much!', function() {43    expect(true).to.equal(false)44  })45})

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('My First Test', function() {2  it('Does not do much!', function() {3    expect(true).to.equal(true)4  })5})6Cypress.on('test:after:run', (test, runnable) => {7  if (test.state === 'failed') {8    Cypress.runner.stop()9  }10})11Cypress.Commands.add('testVersion', (version) => {12  cy.log('testVersion command')13  cy.request({14    body: {15    }16  })17})18describe('My First Test', function() {19  it('Does not do much!', function() {20    cy.testVersion(2)21    expect(true).to.equal(true)22  })23})24describe('My First Test', function() {25  it('Does not do much!', function() {26    cy.testVersion(1)27    expect(true).to.equal(true)28  })29})30describe('My First Test', function() {31  it('Does not do much!', function() {32    cy.testVersion(3)33    expect(true).to.equal(true)34  })35})36describe('My First Test', function() {37  it('Does not do much!', function() {38    cy.testVersion(4)39    expect(true).to.equal(true)40  })41})42describe('My First Test', function() {43  it('Does not do much!', function() {44    cy.testVersion(5)45    expect(true).to.equal(true)46  })47})48describe('My First Test', function() {49  it('Does not do much!', function() {50    cy.testVersion(6

Full Screen

Using AI Code Generation

copy

Full Screen

1it('test', () => {2    cy.testVersion();3});4Cypress.Commands.add('testVersion', () => {5    cy.log(Cypress.version);6});7{8}

Full Screen

Using AI Code Generation

copy

Full Screen

1it('Test Version', () => {2  cy.testVersion();3});4Cypress.Commands.add('testVersion', () => {5  cy.log(Cypress.version);6});7"env": {8}9require(Cypress.env('testVersion'));10module.exports = (on, config) => {11  require(Cypress.env('testVersion'))12}

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('Test Suite', () => {2  it('Test Case', () => {3    cy.testVersion()4  })5})6Cypress.Commands.add('testVersion', () => {7  cy.log('Cypress Version: ' + Cypress.version)8})9Cypress.Commands.add('testVersion', () => {10  cy.log('Cypress Version: ' + Cypress.version)11})12Cypress.Commands.add('testVersion', () => {13  cy.log('Cypress Version: ' + Cypress.version)14})15Cypress.Commands.add('testVersion', () => {16  cy.log('Cypress Version: ' + Cypress.version)17})18CypressError: cy.task('get:version') failed with the following error:19> CypressError: cy.task('get:version') failed with the following error:

Full Screen

Using AI Code Generation

copy

Full Screen

1describe('Cypress Version Test', function() {2  it('Cypress Version', function() {3    cy.testVersion()4  })5})6Cypress.Commands.add('testVersion', () => {7  cy.log(Cypress.version)8})9describe('Cypress Version Test', function() {10  it('Cypress Version', function() {11    cy.testVersion()12  })13})14Cypress.Commands.add('testVersion', () => {15  cy.log(Cypress.version)16})17describe('Cypress Version Test', function() {18  it('Cypress Version', function() {19    cy.testVersion()20  })21})22Cypress.Commands.add('testVersion', () => {23  cy.log(Cypress.version)24})25describe('Cypress Version Test', function() {26  it('Cypress Version', function() {27    cy.testVersion()28  })29})30Cypress.Commands.add('testVersion', () => {31  cy.log(Cypress.version)32})33describe('Cypress Version Test', function() {34  it('Cypress Version', function() {35    cy.testVersion()36  })37})38Cypress.Commands.add('testVersion', () => {39  cy.log(Cypress.version)40})41describe('C

Full Screen

Cypress Tutorial

Cypress is a renowned Javascript-based open-source, easy-to-use end-to-end testing framework primarily used for testing web applications. Cypress is a relatively new player in the automation testing space and has been gaining much traction lately, as evidenced by the number of Forks (2.7K) and Stars (42.1K) for the project. LambdaTest’s Cypress Tutorial covers step-by-step guides that will help you learn from the basics till you run automation tests on LambdaTest.

Chapters:

  1. What is Cypress? -
  2. Why Cypress? - Learn why Cypress might be a good choice for testing your web applications.
  3. Features of Cypress Testing - Learn about features that make Cypress a powerful and flexible tool for testing web applications.
  4. Cypress Drawbacks - Although Cypress has many strengths, it has a few limitations that you should be aware of.
  5. Cypress Architecture - Learn more about Cypress architecture and how it is designed to be run directly in the browser, i.e., it does not have any additional servers.
  6. Browsers Supported by Cypress - Cypress is built on top of the Electron browser, supporting all modern web browsers. Learn browsers that support Cypress.
  7. Selenium vs Cypress: A Detailed Comparison - Compare and explore some key differences in terms of their design and features.
  8. Cypress Learning: Best Practices - Take a deep dive into some of the best practices you should use to avoid anti-patterns in your automation tests.
  9. How To Run Cypress Tests on LambdaTest? - Set up a LambdaTest account, and now you are all set to learn how to run Cypress tests.

Certification

You can elevate your expertise with end-to-end testing using the Cypress automation framework and stay one step ahead in your career by earning a Cypress certification. Check out our Cypress 101 Certification.

YouTube

Watch this 3 hours of complete tutorial to learn the basics of Cypress and various Cypress commands with the Cypress testing at LambdaTest.

Run Cypress automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful