Best JavaScript code snippet using ava
index.js
Source:index.js
...27export const onboard = (request) => {28 return function (dispatch) {29 return restPost('/api/v1/customer/', request)30 .done((data) => { dispatch(onboardImpl(normalizeComplexResponse(data)))})31 .fail((data) => { dispatch(signalError(normalizeComplexResponse(data.responseJSON)))})32 }33}34export const loginImpl = (data) => {35 return {36 type: 'LOGIN',37 data38 }39}40export const login = (data) => {41 return function (dispatch) {42 /* The login API will return a JWT token in the header.43 We decode it and pass it to the connectionStatus reducer to update the state */44 return restPost('/login', data, true)45 .done((data, txt, jqXHR) => {46 var accessToken = jqXHR.getResponseHeader("Authorization").replace("Bearer ", "")47 dispatch(loginImpl(normalizeComplexResponse(setSession(accessToken))))})48 .fail((data) => { dispatch(signalError(normalizeComplexResponse(data.responseJSON))) })49 }50}51const selectCustomerImpl = (data) => {52 return {53 type: 'SET_CURRENT_CUSTOMER',54 data55 }56}57export const selectCustomer = (id) => {58 return function (dispatch) {59 return restGet('/api/v1/customer/' + id + '/')60 .done((data) => { dispatch(selectCustomerImpl(normalizeComplexResponse(data)))})61 .fail((data) => { dispatch(signalError(normalizeComplexResponse(data.responseJSON)))})62 }63}64export const calculateInterestImpl = (data) => {65 return {66 type: 'CALCULATE_INTEREST',67 data68 }69}70export const calculateInterest = (id, data) => {71 return function (dispatch) {72 return restPut('/api/v1/customer/' + id + '/rate/', data)73 .done((data) => { dispatch(calculateInterestImpl(normalizeComplexResponse(data)))})74 .fail((data) => { dispatch(signalError(normalizeComplexResponse(data.responseJSON)))})75 }76}77const addTermDepositImpl = (data) => {78 return {79 type: 'ADD_TERM_DEPOSIT',80 data81 }82}83export const addTermDeposit = (id, data) => {84 return function (dispatch) {85 return restPost('/api/v1/customer/' + id + '/td/', data)86 .done((resp) => { dispatch(addTermDepositImpl(normalizeComplexResponse(resp)))})87 .fail((resp) => { dispatch(signalError(normalizeComplexResponse(resp.responseJSON)))})88 }89}90const closeTermDepositImpl = (data) => {91 return {92 type: 'CLOSE_TERM_DEPOSIT',93 data94 }95}96export const closeTermDeposit = (id, request) => {97 return function (dispatch) {98 return restDelete('/api/v1/td/' + id + '/', request)99 .done((data) => { dispatch(closeTermDepositImpl(normalizeComplexResponse(data)))})100 .fail((data) => { dispatch(signalError(normalizeComplexResponse(data.responseJSON)))})101 }102}103const addQuoteImpl = (data) => {104 return {105 type: 'ADD_QUOTE',106 data107 }108}109export const addQuote = (id, data) => {110 return function (dispatch) {111 return restPost('/api/v1/quote/' + id + "/", data)112 .done((resp) => { dispatch(addQuoteImpl(normalizeComplexResponse(resp)))})113 .fail((resp) => { dispatch(signalError(normalizeComplexResponse(resp.responseJSON)))})114 }115}116const closeQuoteImpl = (data) => {117 return {118 type: 'CLOSE_QUOTE',119 data120 }121}122export const closeQuote = (id) => {123 return function (dispatch) {124 return restDelete('/api/v1/quote/' + id + '/')125 .done((data) => { dispatch(closeQuoteImpl(normalizeComplexResponse(data)))})126 .fail((data) => { dispatch(signalError(normalizeComplexResponse(data.responseJSON)))})127 }128}129const clientAccountDetailsImpl = (data) => {130 return {131 type: 'CLIENT_ACCOUNT_DETAILS',132 data133 }134}135export const clientAccountDetails = (id) => {136 return function (dispatch) {137 return restGet('/api/v1/clientaccount/' + id + '/')138 .done((data) => { dispatch(clientAccountDetailsImpl(normalizeComplexResponse(data)))})139 .fail((data) => { dispatch(signalError(normalizeComplexResponse(data.responseJSON)))})140 }141}142function baselineImpl(data) {143 return {144 type: 'BASELINE',145 data146 }147}148let ETag = '0'149/* If this is a desk user, get the list of onboarded customers.150 If this is a regular user, get their TDs151*/152export const baseline = () => {153 let url = "/api/v1/customer/"154 return function (dispatch) {155// return restGet(url, {"If-None-Match": ETag})156 return restGet(url)157 .done((response, textStatus, request) => {158 if (request.status == 200) {159 ETag = request.getResponseHeader('etag')160 let data = normalizeComplexResponse(response)161 dispatch(baselineImpl(data))162 }163 })164 .fail((response) => {165 let data = normalizeComplexResponse(response).set('connectionStatus', fromJS({logged: false, admin: false}))166 dispatch(signalError(data))167 })168 }...
harness.js
Source:harness.js
...19 scope = new_scope;20 index = 0;21 errors = 0;22}23function signalError(message) {24 var location = "<unknown location>";25 try {26 throw new Error;27 } catch (error) {28 var line = error.stack.split("\n").slice(3, 4);29 var match = /^\s+at\s+(tests\/.*)$/.exec(line);30 if (!match)31 match = /^\s+at\s+[^\s]+\s+\((.*)\)$/.exec(line);32 if (match)33 location = match[1];34 }35 IO.File.stderr.write(format("%s: %s\n", location, message));36 ++errors;37 failed = true;38}39function assert(condition, message) {40 if (!condition)41 signalError(message);42 ++index;43}44function assertEquals(expected, actual) {45 var equal = true;46 if (Object.prototype.toString.call(expected) == "[object Array]") {47 if (Object.prototype.toString.call(actual) != "[object Array]") {48 equal = false;49 } else if (expected.length != actual.length) {50 equal = false;51 } else {52 for (var aindex = 0; aindex < expected.length; ++aindex)53 if (!(expected[aindex] === actual[aindex])) {54 equal = false;55 break;56 }57 }58 } else if (!(expected === actual)) {59 equal = false;60 }61 if (!equal)62 signalError(format("FAIL: assertEquals(expected=%s, actual=%s)",63 JSON.stringify(expected), JSON.stringify(actual)));64 ++index;65}66function assertTrue(a) {67 if (a !== true)68 signalError(format("FAIL: assertTrue(%s)", JSON.stringify(a)));69 ++index;70}71function assertFalse(a) {72 if (a !== false)73 signalError(format("FAIL: assertTrue(%s)", JSON.stringify(a)));74 ++index;75}76function assertNotReached() {77 signalError("FAIL: assertNotReached()");78}79function assertThrows(type, message, fn) {80 try {81 fn();82 signalError("FAIL: assertThrows(): no exception thrown");83 } catch (error) {84 if (!(error instanceof type))85 signalError("FAIL: assertThrows(): wrong type of error thrown");86 if (message) {87 if (error.message !== message)88 signalError(format("FAIL: assertThrows(): wrong message (expected=%s, actual=%s)",89 JSON.stringify(message), JSON.stringify(error.message)));90 }91 }92 ++index;93}94function test(tests) {95 tests.forEach(function (fn) {96 fn();97 });98}99var results = [];100function endScope() {101 if (errors)102 results.push(format("%30s: %3d errors!", scope, errors));...
errors.js
Source:errors.js
1// vim: ts=4:sw=4:expandtab2exports.SignalError = class SignalError extends Error {};3exports.UntrustedIdentityKeyError = class UntrustedIdentityKeyError extends exports.SignalError {4 constructor(addr, identityKey) {5 super();6 this.name = 'UntrustedIdentityKeyError';7 this.addr = addr;8 this.identityKey = identityKey;9 }10};11exports.SessionError = class SessionError extends exports.SignalError {12 constructor(message) {13 super(message);14 this.name = 'SessionError';15 }16};17exports.MessageCounterError = class MessageCounterError extends exports.SessionError {18 constructor(message) {19 super(message);20 this.name = 'MessageCounterError';21 }22};23exports.PreKeyError = class PreKeyError extends exports.SessionError {24 constructor(message) {25 super(message);26 this.name = 'PreKeyError';27 }...
Using AI Code Generation
1const test = require('ava')2test('foo', t => {3 t.pass()4})5test('bar', async t => {6 const bar = Promise.resolve('bar')7 t.is(await bar, 'bar')8})
Using AI Code Generation
1import test from 'ava';2import {signalError} from 'ava/lib/assert';3test('signalError', t => {4 signalError(t, new Error('Foo'));5});6 4: test('signalError', t => {7 5: signalError(t, new Error('Foo'));8 6: });9### t.throws(fn, [error, [message]])10test(t => {11 t.throws(() => {12 throw new Error('foo');13 });14});15test(t => {16 const error = t.throws(() => {17 throw new TypeError('foo');18 }, TypeError);19 t.is(error.message, 'foo');20});21test(t => {22 t.throws(() => {23 foo.bar();24 }, /foo/);25});26### t.notThrows(fn, [message])27test(t => {28 t.notThrows(() => {29 foo();30 });31});32### t.regex(contents, regex, [message])33test(t => {34 t.regex('I love unicorns', /unicorn/);35});36### t.notRegex(contents, regex, [message])37test(t => {38 t.notRegex('I love unicorns', /rainbow/);39});40### t.ifError(error, [message])41test(t => {42 t.ifError(null);43});44### t.snapshot(value, [message])45import test from 'ava';46test(t => {47 t.snapshot({foo: true});48});
Using AI Code Generation
1const test = require('ava');2const {signalError} = require('ava/lib/assert');3const {foo} = require('./foo');4test('foo', t => {5 if (foo() !== 42) {6 signalError('foo should return 42');7 }8});9exports.foo = () => {10 return 42;11};12const test = require('ava');13const {foo} = require('./foo');14test('foo', t => {15 t.throws(() => {16 foo();17 }, {18 });19});20exports.foo = () => {21 throw new TypeError('Expected a string, got number');22};23const test = require('ava');24const {foo} = require('./foo');25test('foo', t => {26 t.throws(() => {27 foo();28 }, 'Expected a string, got number');29});30exports.foo = () => {31 throw new TypeError('Expected a string, got number');32};33const test = require('ava');34const {foo} = require('./foo');35test('foo', t => {36 const err = t.throws(() => {37 foo();38 });39 t.is(err.message, 'Expected a string, got number');40});41exports.foo = () => {42 throw new TypeError('Expected a string, got number');43};44const test = require('ava');45const {foo} = require('./foo');46test('foo', t => {47 const err = t.throws(() => {48 foo();49 }, TypeError);50 t.is(err.message, 'Expected a string, got number');51});52exports.foo = () => {53 throw new TypeError('Expected a string, got number');54};
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!!