Best JavaScript code snippet using ng-mocks
clone.js
Source:clone.js  
1'use strict';2var fs = require('fs');3var git = require('nodegit');4var path = require('path');5const {exec} = require('child_process');6var express = require('Express');7var router = express.Router();8//Configuration for logging9var log4js = require('log4js');10log4js.configure({11  appenders: { 'file': { type: 'file', filename: 'logs/clone-helper.log' } },12  categories: { default: { appenders: ['file'], level: 'debug' } }13});14var logger = log4js.getLogger('clone-helper');15function createRepo(repofolder, signature, targetUrl, target_token, git_type) {16    var repo, index, remote, paths = [];17    logger.info(`${repofolder} is not a git repository. Initializing a bare repo...`);18    var list = fs.readdirSync(repofolder);19    list.forEach(function(file) {20        if(file != '.git') {21            paths.push(file);22        }23    }); 24    git.Repository.init(repofolder, 0)25    .then((repoResult) => repo = repoResult)26    .then(() => repo.refreshIndex())27    .then((indexResult) => (index = indexResult))28    .then(() => index.addAll(paths))29    .then(() => index.write())30    .then(() => index.writeTree())31    .then((oid) => repo.createCommit("HEAD", signature, signature, "initial commit", oid, []))32    .then((commitId) => logger.info("New Commit: ", commitId))33    // Add a new remote34    .then(() => git.Remote.create(repo, "origin", targetUrl))35    .then(function(remoteResult) {36        remote = remoteResult;37        logger.info(`remote set to ${targetUrl}`);38        return remote.push(39            ["refs/heads/master:refs/heads/master"],40            {41                callbacks: {42                credentials:() => (git_type.toLowerCase() == 'bitbucket') ?43                                            git.Cred.userpassPlaintextNew("x-token-auth", target_token):44                                        (git_type.toLowerCase() == 'gitlab') ?45                                            git.Cred.userpassPlaintextNew("oauth2", target_token): git.Cred.userpassPlaintextNew(target_token, "x-oauth-basic")          46            }47        });48    })49    .catch(function(err) {50        logger.error(err);51        return;52    })53    .done(() => logger.info("Done!"))54}55function createRepoFromGit(repofolder, targetUrl, target_token, git_type) {56    var repo, remote;57    logger.info(`${repofolder} is a git repository. Staging the repo...`);58    59    git.Repository.open(repofolder)60    .then((repoResult) => repo = repoResult)61    // Add a new remote62    .then(function() {63        git.Remote.setUrl(repo, "origin", targetUrl);64        logger.info(`remote set to ${targetUrl}`);65        return git.Remote.lookup(repo, "origin")66        .then(function(remoteResult) {67        remote = remoteResult;68        return remote.push(69            ["refs/heads/master:refs/heads/master"],70            {71                callbacks: {72                credentials:() => (git_type.toLowerCase() == 'bitbucket') ?73                                            git.Cred.userpassPlaintextNew("x-token-auth", target_token):74                                        (git_type.toLowerCase() == 'gitlab') ?75                                            git.Cred.userpassPlaintextNew("oauth2", target_token): git.Cred.userpassPlaintextNew(target_token, "x-oauth-basic")             76            }77        });78    })79    .catch(function(err) {80        logger.err(err);81        return;82      })83    .then(function() {84        exec(`rm -rf tmp`);85        logger.info("Done!");86    })87});88}89function downloadAndUnzipFile(sourceUrl, targetUrl, target_token, git_type) {90    var repofolder, zipName;91    function unzip(zipName) {92        var cmd = `unzip ${zipName} -d ./`;93        logger.info(cmd);94        exec(cmd, (err, stdout, stderr) => {95            if (err) {96              logger.error(`exec error: ${err}`);97              exec(`rm ${zipName}`);98              return;99            }100            logger.info(`unzipped file ${zipName} to ${repofolder}`);101            process_git(repofolder, targetUrl, target_token, git_type);102            }103        );104        exec(`rm ${zipName}`);105    }106    function download(sourceUrl) {107        var cmd = `wget ${sourceUrl} && find . -iname \*.zip`;108        exec(cmd, (err, stdout, stderr) => {109            if (err) {110              logger.error(`exec error: ${err}`);111              exec(`rm -rf ${zipName} ${repofolder}`);112              return;113            }114            zipName = stdout.trim();115            repofolder = zipName.replace(/\.[^/.]+$/, "");116            logger.info(`downloaded zip file: ${zipName} to ${repofolder}`);117            // readDir('.');118            unzip(zipName);119        });120    }121    download(sourceUrl);122}123function process_git(repofolder, targetUrl, target_token, git_type) {124    var isBare = 0; // 0 if no .git presence125    var timestamp = Math.round(Date.now()/1000);126    var accountName = "IBM Cloud";127    var signature = git.Signature.create(accountName, accountName, timestamp, 60);128    isBare = fs.existsSync(`${repofolder}/.git`);129    if(!isBare) {130        createRepo(repofolder, signature, targetUrl, target_token, git_type);131    }132    else {133        createRepoFromGit(repofolder, targetUrl, target_token, git_type);134    }135    136}137function cloneRepo(sourceUrl, targetUrl, target_token, git_type) {138    var localPath = path.join(__dirname, "tmp");139    var cloneOptions = {};140    cloneOptions.fetchOpts = {141        callbacks: {142          certificateCheck:() => { return 1; },143          credentials:() => {144               return (git_type.toLowerCase() == 'bitbucket') ?145                    git.Cred.userpassPlaintextNew("x-token-auth", target_token):146                    (git_type.toLowerCase() == 'gitlab') ?147                    git.Cred.userpassPlaintextNew("oauth2", target_token): 148                   git.Cred.userpassPlaintextNew(target_token, "x-oauth-basic");   149                }150        }151    };152   153    git.Clone(sourceUrl, localPath, cloneOptions)154    .then(() => {155        process_git(localPath, targetUrl, target_token, git_type);156    })157    .catch((err) => {158        logger.info(err);159    });160}161//PARAMETER THAT NEEDS TO PASS IN FROM BROKER:162// var body = {163//     source: params.repoUrlWithAuth || params.sourceRepoUrl,164//     target: targetUrl,165//     target_token: git.selected.token,166//     cloneType: params.cloneType,167//     git_type: git.selected.type168// };169function init(params) {170    171    var source = params.source;172    var target = params.target;173    var target_token = params.target_token;174    var sourceUrl = `https://github.ibm.com/soaresss/sec-scan.git`;175    var targetUrl = `https://github.ibm.com/Yuanchen-Lu/push1.git`;176    var cloneType = params.cloneType;177    var git_type = params.git_type;178    if(cloneType == 'zip')179        downloadAndUnzipFile(sourceUrl, targetUrl, target_token, git_type);180    else 181        cloneRepo(sourceUrl, targetUrl, target_token, git_type);182}183router.post("/clone", function(req, res) {184    res.send("In the clone helper route...");185    init(req.body);186  });187  188  router.get("/status", function(req, res) {189    res.send({190        "message": "Connected to local helper",191        "status": "PASS",192        "details": "The GitHub helper app is running"193    });194  });195  ...turn_damage_script.js
Source:turn_damage_script.js  
1function get_roll_total_from_msg()2{3	let messages = game.messages._source4	let content = messages[messages.length - 1].content5	let el = document.createElement('html');6	el.innerHTML = content7	let tag_inner = el.getElementsByTagName('h4')[0].innerHTML8	let value = parseFloat(tag_inner.substring(0, tag_inner.indexOf('<span')))9	return value10}11function are_more_msgs(len_msgs_before)12{13    if (game.messages._source.length > len_msgs_before) {return 1}14    else {return 0}15}16const asyncInterval = async (msgs_before, ms, triesLeft = 5) => {17  return new Promise((resolve, reject) => {18    const interval = setInterval(async () => {19      if (are_more_msgs(msgs_before) > 0) {20        resolve(get_roll_total_from_msg());21        clearInterval(interval);22      } else if (triesLeft <= 1) {23        reject(0);24        clearInterval(interval);25      }26      triesLeft--;27      console.log(`Tries: ${triesLeft}, length: ${game.messages._source.length}`)28    }, ms);29  });30}31function deal_with_condition(save_roll_total, dc, damage_type, attacking_actor, my_item, target_token, alert_name, damage_roll)32{33console.log(`Roll: ${save_roll_total}, DC: ${dc}, damage type: ${damage_type}`)34let flav = `${attacking_actor.name} наноÑÐ¸Ñ ${damage_type} ÑÑон пÑи ÑдаÑе ${my_item.name} по ${target_token.actor.name} with \n`35let saved_msg = `${target_token.actor.name} избавлÑеÑÑÑ Ð¾Ñ <b>${alert_name}</b>!`36if (save_roll_total < dc) {37new MidiQOL.DamageOnlyWorkflow(attacking_actor._id, attacking_actor.token._id, damage_roll.total, damage_type, [target_token], damage_roll, {flavor: flav, itemCardId: my_item.itemCardId});38}39else {40   if (game.cub.hasCondition(alert_name, target_token)) {game.cub.removeCondition(alert_name, target_token)}41   let alert = TurnAlert.getAlertByName(alert_name, combat_id)42   console.log(`Alert id: ${alert.id}, combat: ${alert.combatId}, name: ${alert.name}`)43   TurnAlert.delete(alert.combatId, alert.id)44   ChatMessage.create({user: null, speaker: ChatMessage.getSpeaker({token: target_token}), 45                       content:saved_msg});46}47}48let attacking_actor = args[0]49let my_item = args[1]50let target_token = Array.from(game.user.targets)[0]51let damage_type = args[2]52let dc = args[3]53let alert_name = args[4]54let combat_id = args[5]55let save_ability = args[6]56let damage_formula = args[7]57let damage_roll = new Roll(damage_formula).roll()58console.log(`Save ability: ${save_ability}`)59LMRTFYRoller.requestSavingThrows(target_token.actor, save_ability);60const len_msgs_before = game.messages._source.length61console.log(`Msgs before ${len_msgs_before}`)...totpEdit.js
Source:totpEdit.js  
1// pages/edit/edit.js2let util = require('../../utils/util')3let token = []4let token_id5Page({6  /**7   * 页é¢çåå§æ°æ®8   */9  data: {10    issuer: '',11    remark: '',12    secret:''13  },14  /**15   * çå½å¨æå½æ°--çå¬é¡µé¢å è½½16   */17  onLoad: function (options) {18    let self = this19    token_id = options.token_id20    wx.getStorage({21      key: 'dlgf-totps',22      success: function(res) {23        token = res.data24        let target_token = token[token_id]25        self.setData({26          issuer: target_token.issuer,27          remark: target_token.remark,28          secret: target_token.secret29        })30      }31    })32  },33  // ä¿®æ¹å¹¶æäº¤æ°æ®34  keySubmit: function (e) {35    let values = e.detail.value36    token[token_id].issuer = values.issuer37    token[token_id].remark = values.remark38    wx.setStorage({39      key: 'dlgf-totps',40      data: token,41      success: function(res) {42        wx.navigateBack({43          delta: 1,44        })45      }46    });47  }...Using AI Code Generation
1import { MockBuilder, MockRender } from 'ng-mocks';2import { AppComponent } from './app.component';3describe('AppComponent', () => {4  beforeEach(() => MockBuilder(AppComponent));5  it('should create the app', () => {6    const fixture = MockRender(AppComponent);7    const app = fixture.point.componentInstance;8    expect(app).toBeTruthy();9  });10});11import { Component, Input } from '@angular/core';12@Component({13})14export class AppComponent {15  @Input() title = 'app';16}17import { Component, Input } from '@angular/core';18@Component({19    <p>{{title}}</p>20})21export class ChildComponent {22  @Input() title = 'child';23}24import { MockBuilder, MockRender } from 'ng-mocks';25import { ChildComponent } from './child.component';26describe('ChildComponent', () => {27  beforeEach(() => MockBuilder(ChildComponent));28  it('should create the child', () => {29    const fixture = MockRender(ChildComponent);30    const child = fixture.point.componentInstance;31    expect(child).toBeTruthy();32  });33});Using AI Code Generation
1import { TARGET_TOKEN } from 'ng-mocks';2import { MockBuilder } from 'ng-mocks';3import { MockRender } from 'ng-mocks';4import { MockInstance } from 'ng-mocks';5import { MockReset } from 'ng-mocks';6import { MockService } from 'ng-mocks';7import { MockRender } from 'ng-mocks';8import { MockComponent } from 'ng-mocks';9import { MockDirective } from 'ng-mocks';10import { MockPipe } from 'ng-mocks';11import { MockRender } from 'ng-mocks';12import { MockPrLearn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
