Best JavaScript code snippet using ava
test.js
Source:test.js
...26 pending(test, promise) {27 test.addPendingAssertion(promise);28 },29 fail(test, error) {30 test.addFailedAssertion(error);31 }32});33const assertionNames = Object.keys(assertions);34function log() {35 const args = Array.from(arguments, value => {36 return typeof value === 'string' ?37 value :38 concordance.format(value, concordanceOptions);39 });40 if (args.length > 0) {41 this.addLog(args.join(' '));42 }43}44function plan(count) {45 this.plan(count, captureStack(this.plan));46}47const testMap = new WeakMap();48class ExecutionContext {49 constructor(test) {50 testMap.set(this, test);51 const skip = () => {52 test.countPassedAssertion();53 };54 const boundPlan = plan.bind(test);55 boundPlan.skip = () => {};56 Object.defineProperties(this, assertionNames.reduce((props, name) => {57 props[name] = {value: assertions[name].bind(test)};58 props[name].value.skip = skip;59 return props;60 }, {61 log: {value: log.bind(test)},62 plan: {value: boundPlan}63 }));64 this.snapshot.skip = () => {65 test.skipSnapshot();66 };67 }68 get end() {69 const end = testMap.get(this).bindEndCallback();70 const endFn = error => end(error, captureStack(endFn));71 return endFn;72 }73 get title() {74 return testMap.get(this).title;75 }76 get context() {77 return testMap.get(this).contextRef.get();78 }79 set context(context) {80 testMap.get(this).contextRef.set(context);81 }82 _throwsArgStart(assertion, file, line) {83 testMap.get(this).trackThrows({assertion, file, line});84 }85 _throwsArgEnd() {86 testMap.get(this).trackThrows(null);87 }88}89class Test {90 constructor(options) {91 this.contextRef = options.contextRef;92 this.failWithoutAssertions = options.failWithoutAssertions;93 this.fn = options.fn;94 this.metadata = options.metadata;95 this.title = options.title;96 this.logs = [];97 this.snapshotInvocationCount = 0;98 this.compareWithSnapshot = assertionOptions => {99 const belongsTo = assertionOptions.id || this.title;100 const expected = assertionOptions.expected;101 const index = assertionOptions.id ? 0 : this.snapshotInvocationCount++;102 const label = assertionOptions.id ? '' : assertionOptions.message || `Snapshot ${this.snapshotInvocationCount}`;103 return options.compareTestSnapshot({belongsTo, expected, index, label});104 };105 this.skipSnapshot = () => {106 if (options.updateSnapshots) {107 this.addFailedAssertion(new Error('Snapshot assertions cannot be skipped when updating snapshots'));108 } else {109 this.snapshotInvocationCount++;110 this.countPassedAssertion();111 }112 };113 this.assertCount = 0;114 this.assertError = undefined;115 this.calledEnd = false;116 this.duration = null;117 this.endCallbackFinisher = null;118 this.finishDueToAttributedError = null;119 this.finishDueToInactivity = null;120 this.finishing = false;121 this.pendingAssertionCount = 0;122 this.pendingThrowsAssertion = null;123 this.planCount = null;124 this.startedAt = 0;125 }126 bindEndCallback() {127 if (this.metadata.callback) {128 return (error, stack) => {129 this.endCallback(error, stack);130 };131 }132 throw new Error('`t.end()`` is not supported in this context. To use `t.end()` as a callback, you must use "callback mode" via `test.cb(testName, fn)`');133 }134 endCallback(error, stack) {135 if (this.calledEnd) {136 this.saveFirstError(new Error('`t.end()` called more than once'));137 return;138 }139 this.calledEnd = true;140 if (error) {141 this.saveFirstError(new assert.AssertionError({142 actual: error,143 message: 'Callback called with an error',144 stack,145 values: [formatErrorValue('Callback called with an error:', error)]146 }));147 }148 if (this.endCallbackFinisher) {149 this.endCallbackFinisher();150 }151 }152 createExecutionContext() {153 return new ExecutionContext(this);154 }155 countPassedAssertion() {156 if (this.finishing) {157 this.saveFirstError(new Error('Assertion passed, but test has already finished'));158 }159 this.assertCount++;160 }161 addLog(text) {162 this.logs.push(text);163 }164 addPendingAssertion(promise) {165 if (this.finishing) {166 this.saveFirstError(new Error('Assertion passed, but test has already finished'));167 }168 this.assertCount++;169 this.pendingAssertionCount++;170 promise171 .catch(error => this.saveFirstError(error))172 .then(() => this.pendingAssertionCount--);173 }174 addFailedAssertion(error) {175 if (this.finishing) {176 this.saveFirstError(new Error('Assertion failed, but test has already finished'));177 }178 this.assertCount++;179 this.saveFirstError(error);180 }181 saveFirstError(error) {182 if (!this.assertError) {183 this.assertError = error;184 }185 }186 plan(count, planStack) {187 if (typeof count !== 'number') {188 throw new TypeError('Expected a number');...
index.js
Source:index.js
...51 t.context._report.testResults.push(true)52 } catch (err) {53 t.context._report.testResults.push(false)54 if (err instanceof AVAAssertionError) {55 t._test.addFailedAssertion(err)56 } else {57 // TODO Could create an ava error for that too?58 t._test.addFailedAssertion(err)59 throw err60 }61 } finally {62 if (t.context.I) {63 if (opts.teardown) {64 debug('Tearing down webdriver instance')65 // Save report file66 t.context._report = Object.assign({}, t.context._report, {67 screenshots: I._getReportData()68 })69 try {70 const report = await createReport(t)71 if (report.logs.length > 0) t.log(`Test has ${report.logs.length} browser log entries`)72 // Store full test source (whole file)...
FormSectionCompletionAssistant.js
Source:FormSectionCompletionAssistant.js
...51 failedAssertion => this.routeFailedAssertion(failedAssertion));52 }53 routeFailedAssertion(failedAssertion) {54 if (this.handles(failedAssertion))55 this.addFailedAssertion(failedAssertion);56 else57 this.routeNotHandledByThisFailedAssertion(failedAssertion);58 }59 routeNotHandledByThisFailedAssertion(failedAssertion) {60 const assistantsHandlingAssertion =61 this.assistantsHandling(failedAssertion);62 if (assistantsHandlingAssertion.length === 0)63 this.addFailedAssertion(failedAssertion);64 else65 this.addFailedAssertionToAll(assistantsHandlingAssertion, failedAssertion);66 }67 addFailedAssertionToAll(assistantsHandlingAssertion, failedAssertion) {68 assistantsHandlingAssertion.forEach(69 assistant => assistant.addFailedAssertion(failedAssertion));70 }71 assistantsHandling(assertion) {72 return this.assistants.filter(73 assistant => assistant.handles(assertion));74 }...
Using AI Code Generation
1import test from 'ava';2import { addFailedAssertion } from 'ava/lib/assert';3test('my passing test', t => {4 t.pass();5});6test('my failing test', t => {7 addFailedAssertion(t, new Error('my error'));8});9 5: test('my failing test', t => {10 6: addFailedAssertion(t, new Error('my error'));11 7: });12### addFailedAssertion(context, error)13- [ava](
Using AI Code Generation
1const test = require('ava');2const add = require('./add');3test('add', t => {4 t.is(add(1, 2), 3);5 t.is(add(2, 2), 4);6 t.is(add(3, 2), 6);7 t.is(add(4, 2), 7);8 t.is(add(5, 2), 7);9});10module.exports = (a, b) => a + b;11const test = require('ava');12const add = require('./add');13test('add', t => {14 t.is(add(1, 2), 3);15 t.is(add(2, 2), 4);16 t.is(add(3, 2), 6);17 t.is(add(4, 2), 7);18 t.is(add(5, 2), 7);19});20module.exports = (a, b) => a + b;21const test = require('ava');22const add = require('./add');23test('add', t => {24 t.is(add(1, 2), 3);25 t.is(add(2, 2), 4);26 t.is(add(3, 2), 6);27 t.is(add(4, 2), 7);28 t.is(add(5, 2), 7);29});30module.exports = (a, b) => a + b;31const test = require('ava');32const add = require('./add');33test('add', t => {34 t.is(add(1, 2), 3);35 t.is(add(2, 2), 4);36 t.is(add(3, 2), 6);37 t.is(add(4, 2), 7);38 t.is(add(5, 2), 7);39});40module.exports = (a, b) => a + b;41const test = require('ava
Using AI Code Generation
1const test = require('ava')2test('My passing test', t => {3 t.pass()4})5test('My failing test', t => {6 t.fail()7})8test('My passing test', t => {9 t.pass()10})11test('My failing test', t => {12 t.fail()13})14test('My failing test with custom message', t => {15 t.fail('This test should fail')16})17test('My passing test', t => {18 t.pass()19})20test('My failing test', t => {21 t.fail()22})23test('My failing test with custom message', t => {24 t.fail('This test should fail')25})26test('My passing test', t => {27 t.pass()28})29test('My failing test', t => {30 t.fail()31})32test('My failing test with custom message', t => {33 t.fail('This test should fail')34})35test('My passing test', t => {36 t.pass()37})38test('My failing test', t => {39 t.fail()40})41test('My failing test with custom message', t => {42 t.fail('This test should fail')43})44test('My passing test', t => {45 t.pass()46})47test('My failing test', t => {48 t.fail()49})50test('My failing test with custom message', t => {51 t.fail('This test should fail')52})53test('My passing test', t => {54 t.pass()55})56test('My failing test', t => {57 t.fail()58})59test('My failing test with custom message', t => {60 t.fail('This test should fail')61})62test('My passing test', t => {63 t.pass()64})65test('My failing test', t => {66 t.fail()67})68test('My failing test with custom message', t => {69 t.fail('This test should fail')70})71test('My passing test', t => {72 t.pass()73})74test('My failing test', t => {75 t.fail()76})77test('My failing test with custom message', t => {78 t.fail('This test should fail')79})80test('My passing test', t => {81 t.pass()82})83test('My failing test', t => {84 t.fail()85})86test('My failing test with custom message', t => {87 t.fail('This test should fail')88})89test('
Using AI Code Generation
1import test from 'ava';2test('my passing test', t => {3 t.pass();4});5test('my failing test', t => {6 t.fail();7});8import test from 'ava';9test('my passing test', t => {10 t.pass();11});12test('my failing test', t => {13 t.addFailedAssertion('This assertion will fail');14});15import test from 'ava';16test('my passing test', t => {17 t.pass();18});19test('my failing test', t => {20 t.addFailedAssertion({message: 'This assertion will fail'});21});22import test from 'ava';23test('my passing test', t => {24 t.pass();25});26test('my failing test', t => {27 t.addFailedAssertion({message: 'This assertion will fail', operator: 'truthy'});28});29import test from 'ava';30test('my passing test', t => {31 t.pass();32});33test('my failing test', t => {34 t.addFailedAssertion({message: 'This assertion will fail', operator: 'truthy', actual: 'false', expected: 'true'});35});36import test from 'ava';37test('my passing test', t => {38 t.pass();39});40test('my failing test', t => {41 t.addFailedAssertion({message: 'This assertion will fail', operator: 'truthy', actual: 'false', expected: 'true', stackStartFunction: 'myFunction'});42});43import test from 'ava';44test('my passing test', t => {45 t.pass();46});47test('my failing test', t => {48 t.addFailedAssertion({message: 'This assertion will fail', operator: 'truthy', actual: 'false', expected: 'true', stackStartFunction: 'myFunction', error: new Error('This is an error')});49});50import test from 'ava';51test('my passing test', t
Using AI Code Generation
1const test = require('ava');2test('foo', t => {3 t.is(1, 1);4 t.is(2, 2);5 t.is(3, 3);6 t.addFailedAssertion('foo', 'bar');7});8const test = require('ava');9test('foo', t => {10 t.is(1, 1);11 t.is(2, 2);12 t.is(3, 3);13 t.addFailedAssertion('foo', 'bar');14});15const test = require('ava');16test('foo', t => {17 t.is(1, 1);18 t.is(2, 2);19 t.is(3, 3);20 t.addFailedAssertion('foo', {foo: 'bar'});21});
Using AI Code Generation
1import test from 'ava';2test('foo', t => {3 t.is(1, 1);4 t.is(2, 2);5 t.addFailedAssertion('this is a failed assertion');6 t.is(3, 3);7});8 t.addFailedAssertion('this is a failed assertion');9### t.addPassedAssertion()10#### t.addPassedAssertion([message])11import test from 'ava';12test('foo', t => {13 t.is(1, 1);14 t.is(2, 2);15 t.addPassedAssertion('this is a passed assertion');16 t.is(3, 3);17});18 t.addPassedAssertion('this is a passed assertion');19import test from 'ava';20test.beforeEach(t => {21 t.context.data = generateUniqueData();22});23test(t => {24 t.is(t.context.data + 'bar', 'foobar');25});26### t.throws()27#### t.throws(function|promise, [error, [message]])28test(t => {29 const error = t.throws(() => {30 throw new TypeError('🦄');31 });32 t.is(error.message, '🦄');33});
Using AI Code Generation
1import test from 'ava';2import {addFailedAssertion} from 'ava/lib/assert';3test('addFailedAssertion', t => {4 addFailedAssertion(t, {message: 'failed assertion'});5});6import test from 'ava';7import {addFailedAssertion} from 'ava/lib/assert';8test('addFailedAssertion', t => {9 addFailedAssertion(t, {message: 'failed assertion'});10});11 4: test('addFailedAssertion', t => {12 5: addFailedAssertion(t, {message: 'failed assertion'});13 6: });14 4: test('addFailedAssertion', t => {
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!!