Best JavaScript code snippet using ts-auto-mock
pack.tests.js
Source:pack.tests.js
...22 await FsExtra.emptyDir(destPath);23 await FsExtra.emptyDir(unpackPath);24 execSync('git init', { cwd: gitPath });25 execSync('git commit -m "root commit" --allow-empty', { cwd: gitPath });26 COMMITS.empty = getCurrentCommit();27 await FsExtra.emptyDir(Path.join(gitPath, 'foo'));28 await FsExtra.emptyDir(Path.join(gitPath, 'bar'));29 await FsExtra.writeFile(Path.join(gitPath, 'foo/a.txt'), 'a');30 execSync('git add . && git commit -m "added foo/a"', { cwd: gitPath });31 COMMITS.addedFooA = getCurrentCommit();32 await FsExtra.writeFile(Path.join(gitPath, 'foo/b.txt'), 'b');33 execSync('git add . && git commit -m "added foo/b"', { cwd: gitPath });34 COMMITS.addedFooB = getCurrentCommit();35 await FsExtra.writeFile(Path.join(gitPath, 'foo/b.bin'), 'bin');36 execSync('git add . && git commit -m "added foo/b"', { cwd: gitPath });37 COMMITS.addedFooBbin = getCurrentCommit();38 await FsExtra.writeFile(Path.join(gitPath, 'foo/c.txt'), 'c');39 execSync('git add . && git commit -m "added foo/c"', { cwd: gitPath });40 COMMITS.addedFooC = getCurrentCommit();41 await FsExtra.writeFile(Path.join(gitPath, 'foo/b.txt'), 'b2');42 execSync('git add . && git commit -m "modified foo/b"', { cwd: gitPath });43 COMMITS.modifiedFooB = getCurrentCommit();44 await FsExtra.remove(Path.join(gitPath, 'foo/c.txt'));45 execSync('git add . && git commit -m "remove foo/c"', { cwd: gitPath });46 COMMITS.removedFooC = getCurrentCommit();47 await FsExtra.writeFile(Path.join(gitPath, 'bar/a.txt'), 'a');48 execSync('git add . && git commit -m "added bar/a"', { cwd: gitPath });49 COMMITS.addedBarA = getCurrentCommit();50 await FsExtra.writeFile(Path.join(gitPath, 'bar/b.txt'), 'b');51 execSync('git add . && git commit -m "added bar/b"', { cwd: gitPath });52 COMMITS.addedBarB = getCurrentCommit();53 await FsExtra.writeFile(Path.join(gitPath, 'bar/b.bin'), 'bin');54 execSync('git add . && git commit -m "added bar/b"', { cwd: gitPath });55 COMMITS.addedBarBbin = getCurrentCommit();56 await FsExtra.writeFile(Path.join(gitPath, 'foo/source.xml'), '<?xml version="1.0" encoding="utf-8"?><configuration><some></some><other attr="1"><item>value</item><item>value</item></other></configuration>');57 execSync('git add . && git commit -m "added foo/source.xml"', { cwd: gitPath });58 COMMITS.addedFooSourceXml = getCurrentCommit();59});60test.afterEach(async () => {61 try {62 await FsExtra.remove(workdir);63 } catch { /* ignore */ }64});65test.serial('Git diff: Start to end', async t => {66 t.timeout(30000);67 let packer = new Packer('test');68 packer.rootFolder = gitPath;69 packer.variableDefs = {};70 packer.actions = [];71 packer.packageRules = [72 {73 'source': './',74 'dest': './',75 'pattern': '**/*',76 'mode': 'git_diff',77 },78 ];79 packer.gitBaseCommit = COMMITS.empty;80 packer.gitTargetCommit = COMMITS.addedBarBbin;81 await packer.run(destPath);82 let archiveEntries = new AdmZip(Path.join(destPath, 'test.zip')).getEntries().map(x => x.entryName).sort();83 let config = JSON.parse(FsExtra.readFileSync(Path.join(destPath, 'test.json'), { encoding: 'utf8' }));84 t.is(archiveEntries.length, 6);85 t.is(config.length, archiveEntries.length);86 t.is(config.some(x => x.type !== 'copy'), false);87 t.deepEqual(config.map(x => x.path.replace(/\\/g, '/')), archiveEntries);88});89test.serial('Git diff: Halfway', async t => {90 t.timeout(30000);91 let packer = new Packer('test');92 packer.rootFolder = gitPath;93 packer.variableDefs = {};94 packer.actions = [];95 packer.packageRules = [96 {97 'source': '/',98 'dest': '/',99 'pattern': '**/*',100 'mode': 'git_diff',101 },102 ];103 packer.gitBaseCommit = COMMITS.addedFooBbin;104 packer.gitTargetCommit = COMMITS.addedBarA;105 await packer.run(destPath);106 let archiveEntries = new AdmZip(Path.join(destPath, 'test.zip')).getEntries().map(x => x.entryName).sort();107 let config = JSON.parse(FsExtra.readFileSync(Path.join(destPath, 'test.json'), { encoding: 'utf8' }));108 t.is(archiveEntries.length, 2);109 t.deepEqual(['bar/a.txt', 'foo/b.txt'], archiveEntries);110 t.deepEqual([111 { 'type': 'copy', 'path': Path.normalize('/bar/a.txt') },112 { 'type': 'copy', 'path': Path.normalize('/foo/b.txt') },113 ], config);114});115test.serial('Git diff: Exclusions', async t => {116 t.timeout(30000);117 let packer = new Packer('test');118 packer.rootFolder = gitPath;119 packer.variableDefs = {};120 packer.actions = [];121 packer.packageRules = [122 {123 'source': '/',124 'dest': '/',125 'pattern': '**/*',126 'exclude': '**/*.bin',127 'mode': 'git_diff',128 },129 ];130 packer.gitBaseCommit = COMMITS.empty;131 packer.gitTargetCommit = COMMITS.addedBarBbin;132 await packer.run(destPath);133 let config = JSON.parse(FsExtra.readFileSync(Path.join(destPath, 'test.json'), { encoding: 'utf8' }));134 t.is(config.some(x => /\.bin$/.test(x.path)), false);135});136test.serial('Git diff: Variables', async t => {137 t.timeout(30000);138 let packer = new Packer('test');139 packer.rootFolder = gitPath;140 packer.variableDefs = {141 'has_bin_changes': {142 'git_diff': { 'pattern': '**/*.bin' },143 },144 };145 packer.actions = [];146 packer.packageRules = [];147 packer.gitBaseCommit = COMMITS.empty;148 packer.gitTargetCommit = COMMITS.addedBarBbin;149 let variables = await packer._determineVariables(packer.variableDefs);150 t.is(variables['has_bin_changes'], true);151 packer.gitBaseCommit = COMMITS.addedFooBbin;152 packer.gitTargetCommit = COMMITS.addedFooC;153 variables = await packer._determineVariables(packer.variableDefs);154 t.is(variables['has_bin_changes'], false);155});156test.serial('Git diff: Conditions', async t => {157 t.timeout(30000);158 let packer = new Packer('test');159 packer.rootFolder = gitPath;160 packer.variableDefs = {161 'has_bin_changes': {162 'git_diff': { 'pattern': '**/*.bin' },163 },164 };165 packer.actions = [];166 packer.packageRules = [167 {168 'condition': 'has_bin_changes',169 'source': './',170 'dest': './',171 'pattern': '**/*',172 'mode': 'git_diff',173 },174 ];175 packer.gitBaseCommit = COMMITS.empty;176 packer.gitTargetCommit = COMMITS.addedBarBbin;177 await packer.run(destPath);178 let config = JSON.parse(FsExtra.readFileSync(Path.join(destPath, 'test.json'), { encoding: 'utf8' }));179 t.truthy(config.length > 0);180});181test.serial('Sync: All', async t => {182 t.timeout(30000);183 let packer = new Packer('test');184 packer.rootFolder = gitPath;185 packer.variableDefs = {};186 packer.actions = [];187 packer.packageRules = [188 {189 'source': './',190 'dest': './',191 'pattern': '**/*',192 'mode': 'sync',193 },194 ];195 packer.gitBaseCommit = COMMITS.empty;196 packer.gitTargetCommit = COMMITS.addedFooSourceXml;197 await packer.run(destPath);198 let archiveEntries = new AdmZip(Path.join(destPath, 'test.zip')).getEntries().map(x => x.entryName).sort();199 let config = JSON.parse(FsExtra.readFileSync(Path.join(destPath, 'test.json'), { encoding: 'utf8' }));200 t.is(archiveEntries.length, 7);201 t.is(config.length, 1);202 t.deepEqual(config, [{ "type": "sync", "path": "./" }]);203});204test.serial('Sync: Subfolder', async t => {205 t.timeout(30000);206 let packer = new Packer('test');207 packer.rootFolder = gitPath;208 packer.variableDefs = {};209 packer.actions = [];210 packer.packageRules = [211 {212 'source': 'foo',213 'dest': 'dest_foo',214 'pattern': '**/*',215 'mode': 'sync',216 },217 ];218 packer.gitBaseCommit = COMMITS.empty;219 packer.gitTargetCommit = COMMITS.addedFooSourceXml;220 await packer.run(destPath);221 let archiveEntries = new AdmZip(Path.join(destPath, 'test.zip')).getEntries().map(x => x.entryName).sort();222 let config = JSON.parse(FsExtra.readFileSync(Path.join(destPath, 'test.json'), { encoding: 'utf8' }));223 t.is(archiveEntries.length, 4);224 t.deepEqual(config, [{ "type": "sync", "path": "dest_foo" }]);225});226test.serial('Xml: All', async t => {227 t.timeout(30000);228 let packer = new Packer('test');229 packer.rootFolder = gitPath;230 packer.variableDefs = {};231 packer.actions = [];232 packer.packageRules = [233 {234 'source': './foo/source.xml',235 'dest': './dest.xml',236 'sourceXmlPath': '$.configuration.other',237 'destXmlPath': '$.configuration.other',238 'mode': 'xml_replace',239 },240 ];241 packer.gitBaseCommit = COMMITS.addedBarBbin;242 packer.gitTargetCommit = COMMITS.addedFooSourceXml;243 await packer.run(destPath);244 // Create dest245 await FsExtra.writeFile(Path.join(unpackPath, 'dest.xml'), '<?xml version="1.0" encoding="utf-8"?><configuration><some>stuff</some><other some="stuff"><stuff>value</stuff></other></configuration>');246 // Unpack247 let config = JSON.parse(FsExtra.readFileSync(Path.join(destPath, 'test.json'), { encoding: 'utf8' }));248 let unpacker = new Unpacker();249 unpacker.rules = config;250 unpacker.zipFilePath = Path.join(destPath, 'test.zip');251 await unpacker.run(unpackPath);252 let xmlTree = XmlUtil.extractNode(253 XmlUtil.parseXmlAtFile(Path.join(unpackPath, 'dest.xml')));254 t.deepEqual(xmlTree, {255 'configuration': {256 some: 'stuff',257 other: {258 item: [259 'value',260 'value',261 ],262 _Attribs: {263 attr: '1',264 },265 },266 },267 });268});269test.serial('Unpack: Complete', async t => {270 t.timeout(30000);271 let packer = new Packer('test');272 packer.rootFolder = gitPath;273 packer.variableDefs = {};274 packer.actions = [];275 packer.packageRules = [276 {277 'source': './',278 'dest': './',279 'pattern': '**/*',280 'mode': 'git_diff',281 },282 ];283 packer.gitBaseCommit = COMMITS.empty;284 packer.gitTargetCommit = COMMITS.addedFooSourceXml;285 await packer.run(destPath);286 let archiveEntries = new AdmZip(Path.join(destPath, 'test.zip')).getEntries().map(x => x.entryName).sort();287 let config = JSON.parse(FsExtra.readFileSync(Path.join(destPath, 'test.json'), { encoding: 'utf8' }));288 let unpacker = new Unpacker();289 unpacker.rules = config;290 unpacker.zipFilePath = Path.join(destPath, 'test.zip');291 await unpacker.run(unpackPath);292 let sourceFiles = (await recursiveReaddir(gitPath, ['.git'])).map(x => x.substr(gitPath.length)).sort();293 let unpackedFiles = (await recursiveReaddir(unpackPath)).map(x => x.substr(unpackPath.length)).sort();294 t.deepEqual(sourceFiles, unpackedFiles);295 t.is(archiveEntries.length, unpackedFiles.length);296});297test.serial('Unpack: Two stages sequence', async t => {298 t.timeout(30000);299 // Pack half the commits300 let packer = new Packer('test');301 packer.rootFolder = gitPath;302 packer.variableDefs = {};303 packer.actions = [];304 packer.packageRules = [305 {306 'source': './',307 'dest': './',308 'pattern': '**/*',309 'mode': 'git_diff',310 },311 ];312 packer.gitBaseCommit = COMMITS.empty;313 packer.gitTargetCommit = 'HEAD';314 await checkout(COMMITS.modifiedFooB);315 await packer.run(destPath);316 // Unpack half the commits317 let config = JSON.parse(FsExtra.readFileSync(Path.join(destPath, 'test.json'), { encoding: 'utf8' }));318 let unpacker = new Unpacker();319 unpacker.rules = config;320 unpacker.zipFilePath = Path.join(destPath, 'test.zip');321 await unpacker.run(unpackPath);322 // Pack the other half323 packer = new Packer('test');324 packer.rootFolder = gitPath;325 packer.variableDefs = {};326 packer.actions = [];327 packer.packageRules = [328 {329 'source': './',330 'dest': './',331 'pattern': '**/*',332 'mode': 'git_diff',333 },334 ];335 packer.gitBaseCommit = await getCurrentCommit();336 packer.gitTargetCommit = 'HEAD';337 await checkout(COMMITS.addedBarBbin);338 await packer.run(destPath);339 // Unpack them340 config = JSON.parse(FsExtra.readFileSync(Path.join(destPath, 'test.json'), { encoding: 'utf8' }));341 unpacker = new Unpacker();342 unpacker.rules = config;343 unpacker.zipFilePath = Path.join(destPath, 'test.zip');344 await unpacker.run(unpackPath);345 let sourceFiles = (await recursiveReaddir(gitPath, ['.git'])).map(x => x.substr(gitPath.length)).sort();346 let unpackedFiles = (await recursiveReaddir(unpackPath)).map(x => x.substr(unpackPath.length)).sort();347 t.deepEqual(sourceFiles, unpackedFiles);...
changelog.js
Source:changelog.js
...38 }39 return true40}41gulp.task('changelog', function (done) {42 getCurrentCommit(process.env.TRAVIS_COMMIT)43 .then(getChangedFiles)44 .then(checkForChangelog)45 .then(function () {46 done()47 })48 .catch(function (err) {49 gutil.log(gutil.colors.red(err))50 done(err)51 })52})53module.exports = {54 runCommand: runCommand,55 getCurrentCommit: getCurrentCommit,56 getChangedFiles: getChangedFiles,...
build.js
Source:build.js
1const { execSync } = require('child_process')2function getCurrentCommit(short = false) {3 return execSync(`git rev-parse ${short ? '--short' : ''} HEAD`, {4 cwd: __dirname5 })6 .toString()7 .trim()8}9module.exports = {10 env: process.env.ELEVENTY_ENV,11 timestamp: new Date(),12 gitCommitHash: getCurrentCommit(),13 gitCommitHashShort: getCurrentCommit(true)...
Using AI Code Generation
1import { getCurrentCommit } from 'ts-auto-mock';2console.log(getCurrentCommit());3import { getCurrentCommit } from 'ts-auto-mock';4console.log(getCurrentCommit());5import loadJsonFile from 'load-json-file';6export function getCurrentCommit(): string | undefined {7 try {8 const packageJson = loadJsonFile.sync('package.json');9 return packageJson?.version;10 } catch (e) {11 return undefined;12 }13}
Using AI Code Generation
1import { getCurrentCommit } from 'ts-auto-mock';2const commit = getCurrentCommit();3console.log(commit);4import { getCurrentCommit } from 'ts-auto-mock';5const commit = getCurrentCommit();6console.log(commit);7import { getCurrentCommit } from 'ts-auto-mock';8const commit = getCurrentCommit();9console.log(commit);10import { getCurrentCommit } from 'ts-auto-mock';11const commit = getCurrentCommit();12console.log(commit);13import { getCurrentCommit } from 'ts-auto-mock';14const commit = getCurrentCommit();15console.log(commit);16import { getCurrentCommit } from 'ts-auto-mock';17const commit = getCurrentCommit();18console.log(commit);19import { getCurrentCommit } from 'ts-auto-mock';20const commit = getCurrentCommit();21console.log(commit);22import { getCurrentCommit } from 'ts-auto-mock';23const commit = getCurrentCommit();24console.log(commit);25import { getCurrentCommit } from 'ts-auto-mock';26const commit = getCurrentCommit();27console.log(commit);28import { getCurrentCommit } from 'ts-auto-mock';29const commit = getCurrentCommit();30console.log(commit);31import { getCurrentCommit } from 'ts-auto-mock';32const commit = getCurrentCommit();33console.log(commit);34import { getCurrentCommit } from 'ts-auto-mock';35const commit = getCurrentCommit();36console.log(commit);
Using AI Code Generation
1import {getCurrentCommit} from 'ts-auto-mock';2const commit = getCurrentCommit();3console.log(commit);4import {getCurrentCommit} from 'ts-auto-mock';5const commit = getCurrentCommit();6console.log(commit);
Using AI Code Generation
1import { getCurrentCommit } from 'ts-auto-mock';2const commit = getCurrentCommit();3console.log(commit);4import { getCurrentCommit } from 'ts-auto-mock';5const commit = getCurrentCommit();6console.log(commit);7import { getCurrentCommit } from 'ts-auto-mock';8export const COMMIT = getCurrentCommit();9import { COMMIT } from './commit';10console.log(COMMIT);11import { COMMIT } from './commit';12console.log(COMMIT);
Using AI Code Generation
1import { getCurrentCommit } from 'ts-auto-mock/commit';2import { getCurrentCommit } from 'ts-auto-mock/commit';3import { getCurrentCommit } from 'ts-auto-mock/commit';4import { getCurrentCommit } from 'ts-auto-mock/commit';5import { getCurrentCommit } from 'ts-auto-mock/commit';6import { getCurrentCommit } from 'ts-auto-mock/commit';7import { getCurrentCommit } from 'ts-auto-mock/commit';8import { getCurrentCommit } from 'ts-auto-mock/commit';9import { getCurrentCommit } from 'ts-auto-mock/commit';10import { getCurrentCommit } from 'ts-auto-mock/commit';11import { getCurrentCommit } from 'ts-auto-mock/commit';12import { getCurrentCommit } from 'ts-auto-mock/commit';13import { getCurrentCommit } from 'ts-auto-mock/commit';14import { getCurrentCommit } from 'ts-auto-mock/commit';15import { getCurrentCommit } from 'ts-auto-mock/commit';16import { getCurrentCommit } from 'ts-auto-mock/commit';17import { getCurrentCommit } from 'ts-auto-mock/commit';18import { getCurrentCommit } from 'ts-auto-mock
Using AI Code Generation
1import { getCurrentCommit } from 'ts-auto-mock';2const currentCommit = getCurrentCommit();3console.log(currentCommit);4import { getCurrentCommit } from 'ts-auto-mock';5const currentCommit = getCurrentCommit();6console.log(currentCommit);
Using AI Code Generation
1import { getCurrentCommit } from 'ts-auto-mock';2const commit = getCurrentCommit();3console.log(commit);4import { getCurrentCommit } from 'ts-auto-mock';5const commit = getCurrentCommit();6console.log(commit);7{8 "compilerOptions": {9 "paths": {10 }11 },12}13{14 "mockFileTemplate": "export * from '{{path}}';",
Using AI Code Generation
1import { getCurrentCommit } from 'ts-auto-mock';2describe('test1', () => {3 it('test1', () => {4 const result = getCurrentCommit();5 });6});7import { getCurrentCommit } from 'ts-auto-mock';8describe('test1', () => {9 it('test1', () => {10 const result = getCurrentCommit();11 });12});13jest.mock('ts-auto-mock', () => {14 return {15 getCurrentCommit: jest.fn(() => 'test commit'),16 };17});18jest.mock('ts-auto-mock', () => {19 return {20 getCurrentCommit: jest.fn(() => 'test commit'),21 };22});
Learn 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!!