Best JavaScript code snippet using sinon
api.js
Source:api.js
1import axios from 'axios';2function objectToFormData(object) {3 if (object instanceof FormData) {4 return object;5 }6 const result = new FormData();7 for (const key in object) {8 if (object.hasOwnProperty(key)) {9 const item = object[key];10 let preparedItem;11 if (item instanceof Blob) {12 preparedItem = item;13 } else if (typeof item === 'object') {14 preparedItem = JSON.stringify(item);15 } else {16 preparedItem = item;17 }18 preparedItem && result.append(key.toString(), preparedItem);19 }20 }21 return result;22}23export default {24 auth: {25 register: (data, config) =>26 axios.post('v1/register-without-drotr', objectToFormData(data), config),27 getGuest: (lang, config) =>28 axios.post('v1/guest/get', objectToFormData({lang}), config),29 authenticate: (data, config) =>30 axios.post('oauth/token', objectToFormData(data), config),31 // axios.post('v1/register', objectToFormData(data), config)32 },33 user: {34 getUser: () =>35 axios.get('/v1/me'),36 subscribeUser: ({data, config = null}) =>37 axios.post('v1/users/subscribe', data, config),38 getUserFeeds: data =>39 axios.post('v1/me/feeds/new/all', data),40 viewFeeds: data =>41 axios.post('v1/me/feeds/view', data),42 unwatchedFeeds: () =>43 axios.get('v1/me/feeds/unwatched?by_type=true'),44 changeMySettings: data =>45 axios.post('v1/me/settings/edit', data),46 sendChinChin: data =>47 axios.post('v1/me/chats/messages/chin', data),48 checkChat: data =>49 axios.post('v1/me/chats/check', data),50 acceptGift: data =>51 axios.post('v1/me/gifts/accept', data),52 changeAvatar: data =>53 axios.post('v1/me/settings/avatar/change', data),54 editBaseSettings: data =>55 axios.post('v1/me/settings/base/edit', data),56 editSettings: data =>57 axios.post('v1/me/settings/edit', data),58 createUpload: data =>59 axios.post('v1/uploads/create', data),60 loadUpload: (data, config) =>61 axios.post('v1/uploads/load', data, config),62 loadImageUpload: (data, config) =>63 axios.post('v1/uploads/load-image', data, config),64 getBookmarks: data =>65 axios.post('v1/me/posts/bookmarks/all', data),66 getMentions: data =>67 axios.post('v1/me/posts/mentions/all', data),68 addToBlackList: data =>69 axios.post('v1/me/settings/blacklist/add', data),70 deleteFromBlackList: data =>71 axios.post('v1/me/settings/blacklist/delete', data),72 getRecommendations: data =>73 axios.post('v1/me/recommendations', data),74 getAllSubscribtionsPosts: data =>75 axios.post('v1/me/posts/subscriptions/all', data),76 getOutgoingRequests: data =>77 axios.post('v1/users/subscribers/requests/all', data),78 deleteRequest: data =>79 axios.post('v1/users/subscribers/requests/delete', data),80 getAdminStatistic: () =>81 axios.get('v1/me/statistic/admin/all?from=2017-01-01&to=today'),82 getWalletInfo: () =>83 axios.get('v1/me/wallet/info'),84 getCoinPacks: () =>85 axios.get('v1/me/wallet/coinpacks/all'),86 buyCoinPack: params =>87 axios.get('v1/me/wallet/coinpacks/buy', params)88 },89 users: {90 getAll: data =>91 axios.post('v1/users/all', data),92 getUser: data =>93 axios.post('v1/users/get', data),94 subscribeUser: data =>95 axios.post('v1/users/subscribe', data),96 reportPost: data =>97 axios.post('v1/users/posts/report', data),98 getPostStatistics: data =>99 axios.post('v1/users/posts/statistics/get', data),100 profileVisitFromPost: data =>101 axios.post('v1/users/posts/actions/add', data),102 addUserPost: (data, config) =>103 axios.post('v1/users/posts/add', data, config),104 getPost: data =>105 axios.post('v1/users/posts/get', data),106 getPosts: data =>107 axios.post('v1/users/posts/all', data),108 voteUser: data =>109 axios.post('v1/users/vote', data),110 deletePost: data =>111 axios.post('v1/users/posts/delete', data),112 sendViewedPosts: data =>113 axios.post('v1/users/posts/view', data),114 repostPost: data =>115 axios.post('v1/users/posts/repost', data),116 likePost: data =>117 axios.post('v1/users/posts/like', data),118 bookmarkPost: data =>119 axios.post('v1/users/posts/bookmark', data),120 usersSearch: data =>121 axios.post('v1/users/search', data),122 approveUser: data =>123 axios.post('v1/users/subscribers/requests/approve', data),124 getRatingHistory: data =>125 axios.post('v1/rating-history/get', data),126 deleteMentionOfCurrentUser: data =>127 axios.post('v1/users/posts/mentions/delete', data),128 },129 post: {130 makeRepost: data =>131 axios.post('v1/users/posts/repost', data),132 editPost: data =>133 axios.post('v1/users/posts/edit', data),134 searchChunks: data =>135 axios.post('v1/me/posts/search/chunks', data),136 comments: {137 delete: data =>138 axios.post('v1/users/posts/comments/delete', data),139 getAll: data =>140 axios.post('v1/users/posts/comments/all', data),141 add: data =>142 axios.post('v1/users/posts/comments/add', data)143 }144 },145 stories: {146 getAllStories: () =>147 axios.get('v1/users/stories/all'),148 deleteStory: data =>149 axios.post('v1/users/posts/delete', data),150 getActiveStories: data =>151 axios.post('v1/users/stories/get', data),152 getArchivedStories: data =>153 axios.post('v1/users/stories/archive/all', data),154 getStoryAlbums: data =>155 axios.post('v1/users/stories/albums/all', data),156 getStoryAlbum: data =>157 axios.post('v1/users/stories/albums/get', data),158 addStoryAlbum: data =>159 axios.post('v1/users/stories/albums/add', data),160 deleteStoryAlbum: data =>161 axios.post('v1/users/stories/albums/delete', data),162 },163 blacklist: {164 addToBlackList: ({data, config = null}) =>165 axios.post('v1/me/settings/blacklist/add', data, config),166 },167 gifts: {168 getMyGifts: data =>169 axios.post('v1/me/gifts/all', data),170 getAll: () =>171 axios.get('v1/gifts/all'),172 send: data =>173 axios.post('v1/me/gifts/send', data),174 sendCoins: data =>175 axios.post('v1/me/wallet/send', data),176 },177 groups: {178 getGroupSubjects: data =>179 axios.post('v1/groups/subjects/all', data),180 createGroup: data =>181 axios.post('v1/groups/create', data),182 getGroup: data =>183 axios.post('v1/groups/get', data),184 subscribeToGroup: data =>185 axios.post('v1/groups/join', data),186 getGroupVideos: data =>187 axios.post('v1/groups/videos/all', data),188 getGroupAlbums: data =>189 axios.post('v1/albums/all', data),190 getGroupPosts: data =>191 axios.post('v1/groups/posts/all', data),192 addGroupPost: data =>193 axios.post('v1/groups/posts/add', data),194 inviteToGroup: data =>195 axios.post('v1/groups/invite/add', data),196 getMyGroups: data =>197 axios.post('v1/me/groups/all', data),198 getGroups: data =>199 axios.post('v1/groups/all',data),200 getGroupSearch: (data, config) =>201 axios.post('v1/groups/search', data, config),202 deletePost: data =>203 axios.post('v1/groups/posts/delete', data),204 getGroupUsers: data =>205 axios.post('v1/groups/users/all', data),206 kickUserFromGroup: data =>207 axios.post('v1/groups/users/kick', objectToFormData(data)),208 getGroupRequests: data =>209 axios.post('v1/groups/users/requests', data),210 approveGroupUser: data =>211 axios.post('v1/groups/users/requests/apply', data),212 setRoleForUser: data =>213 axios.post('v1/groups/users/role', objectToFormData(data)),214 getBlacklist: data =>215 axios.post('v1/groups/blacklist/all', objectToFormData(data)),216 addUserToBlackList: data =>217 axios.post('v1/groups/blacklist/add', objectToFormData(data)),218 removeUserFromBlackList: data =>219 axios.post('v1/groups/blacklist/delete', objectToFormData(data)),220 addVideo: data =>221 axios.post('v1/groups/videos/add', data),222 addAlbum: data =>223 axios.post('v1/albums/create', data),224 },225 albums: {226 getAlbumPosts: data =>227 axios.post('v1/albums/posts/all', data),228 getAlbum: data =>229 axios.post('v1/albums/get', data),230 addAlbumPost: data =>231 axios.post('v1/albums/posts/add', data),232 deleteAlbumPost: data =>233 axios.post('v1/albums/posts/delete', data),234 createAlbum: data =>235 axios.post('v1/albums/create', data),236 updateAlbum: data =>237 axios.post('v1/albums/edit', data),238 deleteAlbum: data =>239 axios.post('v1/albums/delete', data),240 },241 search: {242 getPosts: data =>243 axios.post('v1/users/posts/search',data),244 },245 chat: {246 getAll: data =>247 axios.post('v1/me/chats/all', data),248 getList: data =>249 axios.post('v1/me/chats/list', data),250 addToArchive: data =>251 axios.post('v1/me/chats/archive', data),252 deleteChat: data =>253 axios.post('v1/me/chats/delete', data),254 getChat: data =>255 axios.post('v1/me/chats/get', data),256 getUnreadMessagesCount: () =>257 axios.get('v1/me/chats/messages/unread'),258 readMessages: data =>259 axios.post('v1/me/chats/messages/read', data),260 create: data =>261 axios.post('v1/me/chats/create', data),262 getArchive: data =>263 axios.post('v1/me/chats/archived/all', data),264 search: data =>265 axios.post('v1/me/chats/search', data)266 },267 messages: {268 getAll: data =>269 axios.post('v1/me/chats/messages/all', data),270 send: data =>271 axios.post('v1/me/chats/messages/send', data),272 distribution: data =>273 axios.post('v1/me/chats/messages/distribution', data),274 getFavourite: data =>275 axios.post('v1/me/chats/messages/favourite/all', data),276 addFavourite: data =>277 axios.post('v1/me/chats/messages/favourite/add', data),278 deleteFavourite: data =>279 axios.post('v1/me/chats/messages/favourite/delete', data),280 delete: data =>281 axios.post('v1/me/chats/messages/delete', data),282 forwardMessage: data =>283 axios.post('v1/me/chats/messages/forward', data),284 forwardPost: data =>285 axios.post('v1/me/chats/messages/forward-post', data)286 },287 banner: {288 getAll: () =>289 axios.get('v1/banners/all'),290 getBanner: data =>291 axios.post('v1/banners/get', data)292 },293 contests: {294 getAll: data =>295 axios.post('v1/contests/all', data)296 }...
axios_vx.x.x.js
Source:axios_vx.x.x.js
1// flow-typed signature: e0f675cc56db12f7865d542c523225c52// flow-typed version: <<STUB>>/axios_v1.0.0/flow_v0.63.13/**4 * This is an autogenerated libdef stub for:5 *6 * 'axios'7 *8 * Fill this stub out by replacing all the `any` types.9 *10 * Once filled out, we encourage you to share your work with the11 * community by sending a pull request to:12 * https://github.com/flowtype/flow-typed13 */14declare module 'axios' {15 declare module.exports: any;16}17/**18 * We include stubs for each file inside this npm package in case you need to19 * require those files directly. Feel free to delete any files that aren't20 * needed.21 */22declare module 'axios/dist/axios' {23 declare module.exports: any;24}25declare module 'axios/dist/axios.min' {26 declare module.exports: any;27}28declare module 'axios/lib/adapters/http' {29 declare module.exports: any;30}31declare module 'axios/lib/adapters/xhr' {32 declare module.exports: any;33}34declare module 'axios/lib/axios' {35 declare module.exports: any;36}37declare module 'axios/lib/cancel/Cancel' {38 declare module.exports: any;39}40declare module 'axios/lib/cancel/CancelToken' {41 declare module.exports: any;42}43declare module 'axios/lib/cancel/isCancel' {44 declare module.exports: any;45}46declare module 'axios/lib/core/Axios' {47 declare module.exports: any;48}49declare module 'axios/lib/core/createError' {50 declare module.exports: any;51}52declare module 'axios/lib/core/dispatchRequest' {53 declare module.exports: any;54}55declare module 'axios/lib/core/enhanceError' {56 declare module.exports: any;57}58declare module 'axios/lib/core/InterceptorManager' {59 declare module.exports: any;60}61declare module 'axios/lib/core/settle' {62 declare module.exports: any;63}64declare module 'axios/lib/core/transformData' {65 declare module.exports: any;66}67declare module 'axios/lib/defaults' {68 declare module.exports: any;69}70declare module 'axios/lib/helpers/bind' {71 declare module.exports: any;72}73declare module 'axios/lib/helpers/btoa' {74 declare module.exports: any;75}76declare module 'axios/lib/helpers/buildURL' {77 declare module.exports: any;78}79declare module 'axios/lib/helpers/combineURLs' {80 declare module.exports: any;81}82declare module 'axios/lib/helpers/cookies' {83 declare module.exports: any;84}85declare module 'axios/lib/helpers/deprecatedMethod' {86 declare module.exports: any;87}88declare module 'axios/lib/helpers/isAbsoluteURL' {89 declare module.exports: any;90}91declare module 'axios/lib/helpers/isURLSameOrigin' {92 declare module.exports: any;93}94declare module 'axios/lib/helpers/normalizeHeaderName' {95 declare module.exports: any;96}97declare module 'axios/lib/helpers/parseHeaders' {98 declare module.exports: any;99}100declare module 'axios/lib/helpers/spread' {101 declare module.exports: any;102}103declare module 'axios/lib/utils' {104 declare module.exports: any;105}106// Filename aliases107declare module 'axios/dist/axios.js' {108 declare module.exports: $Exports<'axios/dist/axios'>;109}110declare module 'axios/dist/axios.min.js' {111 declare module.exports: $Exports<'axios/dist/axios.min'>;112}113declare module 'axios/index' {114 declare module.exports: $Exports<'axios'>;115}116declare module 'axios/index.js' {117 declare module.exports: $Exports<'axios'>;118}119declare module 'axios/lib/adapters/http.js' {120 declare module.exports: $Exports<'axios/lib/adapters/http'>;121}122declare module 'axios/lib/adapters/xhr.js' {123 declare module.exports: $Exports<'axios/lib/adapters/xhr'>;124}125declare module 'axios/lib/axios.js' {126 declare module.exports: $Exports<'axios/lib/axios'>;127}128declare module 'axios/lib/cancel/Cancel.js' {129 declare module.exports: $Exports<'axios/lib/cancel/Cancel'>;130}131declare module 'axios/lib/cancel/CancelToken.js' {132 declare module.exports: $Exports<'axios/lib/cancel/CancelToken'>;133}134declare module 'axios/lib/cancel/isCancel.js' {135 declare module.exports: $Exports<'axios/lib/cancel/isCancel'>;136}137declare module 'axios/lib/core/Axios.js' {138 declare module.exports: $Exports<'axios/lib/core/Axios'>;139}140declare module 'axios/lib/core/createError.js' {141 declare module.exports: $Exports<'axios/lib/core/createError'>;142}143declare module 'axios/lib/core/dispatchRequest.js' {144 declare module.exports: $Exports<'axios/lib/core/dispatchRequest'>;145}146declare module 'axios/lib/core/enhanceError.js' {147 declare module.exports: $Exports<'axios/lib/core/enhanceError'>;148}149declare module 'axios/lib/core/InterceptorManager.js' {150 declare module.exports: $Exports<'axios/lib/core/InterceptorManager'>;151}152declare module 'axios/lib/core/settle.js' {153 declare module.exports: $Exports<'axios/lib/core/settle'>;154}155declare module 'axios/lib/core/transformData.js' {156 declare module.exports: $Exports<'axios/lib/core/transformData'>;157}158declare module 'axios/lib/defaults.js' {159 declare module.exports: $Exports<'axios/lib/defaults'>;160}161declare module 'axios/lib/helpers/bind.js' {162 declare module.exports: $Exports<'axios/lib/helpers/bind'>;163}164declare module 'axios/lib/helpers/btoa.js' {165 declare module.exports: $Exports<'axios/lib/helpers/btoa'>;166}167declare module 'axios/lib/helpers/buildURL.js' {168 declare module.exports: $Exports<'axios/lib/helpers/buildURL'>;169}170declare module 'axios/lib/helpers/combineURLs.js' {171 declare module.exports: $Exports<'axios/lib/helpers/combineURLs'>;172}173declare module 'axios/lib/helpers/cookies.js' {174 declare module.exports: $Exports<'axios/lib/helpers/cookies'>;175}176declare module 'axios/lib/helpers/deprecatedMethod.js' {177 declare module.exports: $Exports<'axios/lib/helpers/deprecatedMethod'>;178}179declare module 'axios/lib/helpers/isAbsoluteURL.js' {180 declare module.exports: $Exports<'axios/lib/helpers/isAbsoluteURL'>;181}182declare module 'axios/lib/helpers/isURLSameOrigin.js' {183 declare module.exports: $Exports<'axios/lib/helpers/isURLSameOrigin'>;184}185declare module 'axios/lib/helpers/normalizeHeaderName.js' {186 declare module.exports: $Exports<'axios/lib/helpers/normalizeHeaderName'>;187}188declare module 'axios/lib/helpers/parseHeaders.js' {189 declare module.exports: $Exports<'axios/lib/helpers/parseHeaders'>;190}191declare module 'axios/lib/helpers/spread.js' {192 declare module.exports: $Exports<'axios/lib/helpers/spread'>;193}194declare module 'axios/lib/utils.js' {195 declare module.exports: $Exports<'axios/lib/utils'>;...
test.mjs
Source:test.mjs
1import ava from 'ava'2import delay from 'delay'3import LRUCache from 'lru-cache'4import axios from 'axios'5import * as axiosCachingDns from '../index.mjs'6const test = ava.serial7let axiosClient8test.beforeEach(() => {9 axiosCachingDns.config.dnsTtlMs = 100010 axiosCachingDns.config.dnsIdleTtlMs = 500011 axiosCachingDns.config.cacheGraceExpireMultiplier = 212 axiosCachingDns.config.backgroundScanMs = 10013 axiosCachingDns.cacheConfig.maxAge = (axiosCachingDns.config.dnsTtlMs * axiosCachingDns.config.cacheGraceExpireMultiplier)14 axiosCachingDns.config.cache = new LRUCache(axiosCachingDns.cacheConfig)15 axiosClient = axios.create({16 timeout: 5000,17 // maxRedirects: 0,18 })19 axiosCachingDns.registerInterceptor(axiosClient)20 axiosCachingDns.startBackgroundRefresh()21 axiosCachingDns.startPeriodicCachePrune()22})23test.after.always(() => {24 axiosCachingDns.config.cache.reset()25})26test('query google with baseURL and relative url', async (t) => {27 axiosCachingDns.registerInterceptor(axios)28 const { data } = await axios.get('/finance', {29 baseURL: 'http://www.google.com',30 // headers: { Authorization: `Basic ${basicauth}` },31 })32 t.truthy(data)33 t.is(1, axiosCachingDns.getStats().dnsEntries)34 t.is(1, axiosCachingDns.getStats().misses)35})36test('query google caches and after idle delay uncached', async (t) => {37 const resp = await axiosClient.get('http://amazon.com')38 t.truthy(resp.data)39 t.truthy(axiosCachingDns.config.cache.get('amazon.com'))40 await delay(6000)41 t.falsy(axiosCachingDns.config.cache.get('amazon.com'))42 const expectedStats = {43 dnsEntries: 0,44 // refreshed: 4, variable45 hits: 0,46 misses: 2,47 idleExpired: 1,48 errors: 0,49 lastError: 0,50 lastErrorTs: 0,51 }52 const stats = axiosCachingDns.getStats()53 delete stats.refreshed54 t.deepEqual(expectedStats, stats)55})56test('query google caches and refreshes', async (t) => {57 await axiosClient.get('http://amazon.com')58 const { updatedTs } = axiosCachingDns.config.cache.get('amazon.com')59 const timeoutTime = Date.now() + 500060 // eslint-disable-next-line no-constant-condition61 while (true) {62 const dnsEntry = axiosCachingDns.config.cache.get('amazon.com')63 if (!dnsEntry) t.fail('dnsEntry missing or expired')64 // console.log(dnsEntry)65 if (updatedTs !== dnsEntry.updatedTs) break66 if (Date.now() > timeoutTime) t.fail()67 // eslint-disable-next-line no-await-in-loop68 await delay(10)69 }70 const expectedStats = {71 dnsEntries: 1,72 // refreshed: 5, variable73 hits: 0,74 misses: 3,75 idleExpired: 1,76 errors: 0,77 lastError: 0,78 lastErrorTs: 0,79 }80 const stats = axiosCachingDns.getStats()81 delete stats.refreshed82 t.deepEqual(expectedStats, stats)83})84test('query two services, caches and after one idle delay uncached', async (t) => {85 await axiosClient.get('http://amazon.com')86 await axiosClient.get('http://microsoft.com')87 const { lastUsedTs } = axiosCachingDns.config.cache.get('microsoft.com')88 t.is(1, axiosCachingDns.config.cache.get('microsoft.com').nextIdx)89 await axiosClient.get('http://microsoft.com')90 t.is(2, axiosCachingDns.config.cache.get('microsoft.com').nextIdx)91 t.truthy(lastUsedTs < axiosCachingDns.config.cache.get('microsoft.com').lastUsedTs)92 t.is(2, axiosCachingDns.config.cache.length)93 await axiosClient.get('http://microsoft.com')94 t.is(3, axiosCachingDns.config.cache.get('microsoft.com').nextIdx)95 t.falsy(lastUsedTs === axiosCachingDns.config.cache.get('microsoft.com').lastUsedTs)96 t.is(2, axiosCachingDns.config.cache.length)97 await delay(4000)98 t.is(1, axiosCachingDns.config.cache.length)99 await delay(2000)100 t.is(0, axiosCachingDns.config.cache.length)101 const expectedStats = {102 dnsEntries: 0,103 // refreshed: 17, variable104 hits: 2,105 misses: 5,106 idleExpired: 3,107 errors: 0,108 lastError: 0,109 lastErrorTs: 0,110 }111 const stats = axiosCachingDns.getStats()112 delete stats.refreshed113 t.deepEqual(expectedStats, stats)114})115test('validate axios config not altered', async (t) => {116 const baseURL = 'http://microsoft.com'117 const axiosConfig = { baseURL }118 const custAxiosClient = axios.create(axiosConfig)119 axiosCachingDns.registerInterceptor(custAxiosClient)120 await custAxiosClient.get('/')121 t.is(baseURL, axiosConfig.baseURL)122 await custAxiosClient.get('/')123 t.is(baseURL, axiosConfig.baseURL)124})125test('validate axios get config not altered', async (t) => {126 const url = 'http://microsoft.com'127 const custAxiosClient = axios.create()128 const reqConfig = {129 method: 'get',130 url,131 }132 axiosCachingDns.registerInterceptor(custAxiosClient)133 await custAxiosClient.get(url, reqConfig)134 t.is(url, reqConfig.url)135 await custAxiosClient.get(url, reqConfig)136 t.is(url, reqConfig.url)137})138test('validate axios request config not altered', async (t) => {139 const url = 'http://microsoft.com'140 const custAxiosClient = axios.create()141 const reqConfig = {142 method: 'get',143 url,144 }145 axiosCachingDns.registerInterceptor(custAxiosClient)146 await custAxiosClient.request(reqConfig)147 t.is(url, reqConfig.url)148 await custAxiosClient.request(reqConfig)149 t.is(url, reqConfig.url)...
test.js
Source:test.js
1import ava from 'ava'2import delay from 'delay'3import LRUCache from 'lru-cache'4import axios from 'axios'5import * as axiosCachingDns from '../index.js'6const test = ava.serial7let axiosClient8test.beforeEach(() => {9 axiosCachingDns.config.dnsTtlMs = 100010 axiosCachingDns.config.dnsIdleTtlMs = 500011 axiosCachingDns.config.cacheGraceExpireMultiplier = 212 axiosCachingDns.config.backgroundScanMs = 10013 axiosCachingDns.cacheConfig.ttl = (axiosCachingDns.config.dnsTtlMs * axiosCachingDns.config.cacheGraceExpireMultiplier)14 axiosCachingDns.config.cache = new LRUCache(axiosCachingDns.cacheConfig)15 axiosClient = axios.create({16 timeout: 5000,17 // maxRedirects: 0,18 })19 axiosCachingDns.registerInterceptor(axiosClient)20 axiosCachingDns.startBackgroundRefresh()21 axiosCachingDns.startPeriodicCachePrune()22})23test.after.always(() => {24 axiosCachingDns.config.cache.clear()25})26test('query google with baseURL and relative url', async (t) => {27 axiosCachingDns.registerInterceptor(axios)28 const { data } = await axios.get('/finance', {29 baseURL: 'http://www.google.com',30 // headers: { Authorization: `Basic ${basicauth}` },31 })32 t.truthy(data)33 t.is(1, axiosCachingDns.getStats().dnsEntries)34 t.is(1, axiosCachingDns.getStats().misses)35})36test('query google caches and after idle delay uncached', async (t) => {37 const resp = await axiosClient.get('http://amazon.com')38 t.truthy(resp.data)39 t.truthy(axiosCachingDns.config.cache.get('amazon.com'))40 await delay(6000)41 t.falsy(axiosCachingDns.config.cache.get('amazon.com'))42 const expectedStats = {43 dnsEntries: 0,44 // refreshed: 4, variable45 hits: 0,46 misses: 2,47 idleExpired: 1,48 errors: 0,49 lastError: 0,50 lastErrorTs: 0,51 }52 const stats = axiosCachingDns.getStats()53 delete stats.refreshed54 t.deepEqual(expectedStats, stats)55})56test('query google caches and refreshes', async (t) => {57 await axiosClient.get('http://amazon.com')58 const { updatedTs } = axiosCachingDns.config.cache.get('amazon.com')59 const timeoutTime = Date.now() + 500060 // eslint-disable-next-line no-constant-condition61 while (true) {62 const dnsEntry = axiosCachingDns.config.cache.get('amazon.com')63 if (!dnsEntry) t.fail('dnsEntry missing or expired')64 // console.log(dnsEntry)65 if (updatedTs !== dnsEntry.updatedTs) break66 if (Date.now() > timeoutTime) t.fail()67 // eslint-disable-next-line no-await-in-loop68 await delay(10)69 }70 const expectedStats = {71 dnsEntries: 1,72 // refreshed: 5, variable73 hits: 0,74 misses: 3,75 idleExpired: 1,76 errors: 0,77 lastError: 0,78 lastErrorTs: 0,79 }80 const stats = axiosCachingDns.getStats()81 delete stats.refreshed82 t.deepEqual(expectedStats, stats)83})84test('query two services, caches and after one idle delay uncached', async (t) => {85 await axiosClient.get('http://amazon.com')86 await axiosClient.get('http://microsoft.com')87 const { lastUsedTs } = axiosCachingDns.config.cache.get('microsoft.com')88 t.is(1, axiosCachingDns.config.cache.get('microsoft.com').nextIdx)89 await axiosClient.get('http://microsoft.com')90 t.is(2, axiosCachingDns.config.cache.get('microsoft.com').nextIdx)91 t.truthy(lastUsedTs < axiosCachingDns.config.cache.get('microsoft.com').lastUsedTs)92 t.is(2, axiosCachingDns.config.cache.size)93 await axiosClient.get('http://microsoft.com')94 t.is(3, axiosCachingDns.config.cache.get('microsoft.com').nextIdx)95 t.falsy(lastUsedTs === axiosCachingDns.config.cache.get('microsoft.com').lastUsedTs)96 t.is(2, axiosCachingDns.config.cache.size)97 await delay(4000)98 t.is(1, axiosCachingDns.config.cache.size)99 await delay(2000)100 t.is(0, axiosCachingDns.config.cache.size)101 const expectedStats = {102 dnsEntries: 0,103 // refreshed: 17, variable104 hits: 2,105 misses: 5,106 idleExpired: 3,107 errors: 0,108 lastError: 0,109 lastErrorTs: 0,110 }111 const stats = axiosCachingDns.getStats()112 delete stats.refreshed113 t.deepEqual(expectedStats, stats)114})115test('validate axios config not altered', async (t) => {116 const baseURL = 'http://microsoft.com'117 const axiosConfig = { baseURL }118 const custAxiosClient = axios.create(axiosConfig)119 axiosCachingDns.registerInterceptor(custAxiosClient)120 await custAxiosClient.get('/')121 t.is(baseURL, axiosConfig.baseURL)122 await custAxiosClient.get('/')123 t.is(baseURL, axiosConfig.baseURL)124})125test('validate axios get config not altered', async (t) => {126 const url = 'http://microsoft.com'127 const custAxiosClient = axios.create()128 const reqConfig = {129 method: 'get',130 url,131 }132 axiosCachingDns.registerInterceptor(custAxiosClient)133 await custAxiosClient.get(url, reqConfig)134 t.is(url, reqConfig.url)135 await custAxiosClient.get(url, reqConfig)136 t.is(url, reqConfig.url)137})138test('validate axios request config not altered', async (t) => {139 const url = 'http://microsoft.com'140 const custAxiosClient = axios.create()141 const reqConfig = {142 method: 'get',143 url,144 }145 axiosCachingDns.registerInterceptor(custAxiosClient)146 await custAxiosClient.request(reqConfig)147 t.is(url, reqConfig.url)148 await custAxiosClient.request(reqConfig)149 t.is(url, reqConfig.url)...
systemManage.js
Source:systemManage.js
1import { axios } from '@/utils/axios'2//ä¸ææ¡å¼(ç 表)3export function lableData( params ){4 return axios.get('codes/selectList',{params})5}6// 级è7export function cascadeLabelData(params ){8 return axios.get('codes/categoryCode/parentCodeKey',{params})9}10//ç³»ç»ç¨æ·11export function getUserList(params){12 return axios.post('adminUser/page',params)13}14export function agentSave(params){15 return axios.post(`adminUser/${params.id ? 'edit' : 'save'}`,params)16}17export function agentDetail(id){18 return axios.get('adminUser/select/detail/'+id)19}20export function agentDelete(params){21 return axios.post('adminUser/delete',params)22}23export function agentEnable(id,params){24 return axios.get('adminUser/enable/'+id,{params})25}26export function agentPassword(params){//éç½®å¯ç 27 return axios.post('adminUser/reset/password',params)28}29export function companySearch (companyName) {//ä¼ä¸æ¨¡ç³æç´¢ä¸ææ¡30 return axios.get('company/vague/list/'+companyName)31}32export function getAllUserData() {//è·åææçç¨æ·33 return axios.get('adminUser/list');34}35//èå管ç36export function menusList() {//è·åèåå表37 return axios.get('resource/treePage')38}39export function addMenus(params) {//æ·»å èåèç¹40 return axios.post('resource/save',params)41}42export function editMenus(params) {//ç¼è¾èåèç¹43 return axios.post('resource/edit',params)44}45export function deleteMenus(params) {//å é¤èåèç¹46 return axios.post('resource/delete',params)47}48//è§è²ç®¡ç49export function getRoleListData() {//è·åè§è²å表50 return axios.post('role/page')51}52export function addRole(params) {//æ·»å è§è²èç¹53 return axios.post('role/save',params)54}55export function editRole(params) {//ç¼è¾è§è²èç¹56 return axios.post('role/edit',params)57}58export function deleteRole(params) {//å é¤è§è²èç¹59 return axios.post('role/delete',params)60}61export function copyRole(params) {//å¤å¶è§è²èç¹62 return axios.post('role/copy',params)63}64export function enabledRole(id,params) {//ç¦ç¨å¯ç¨è§è²65 return axios.get(`role/enable/${id}`,{params})66}67export function getRoleResource(id) {//è·åè§è²å·²é
ç½®çèµæºæ°æ®68 return axios.get(`/role/select/${id}/resource`)69}70export function getRoleUser(id) {//è·åè§è²å·²é
ç½®çç¨æ·æ°æ®71 return axios.get(`/role/select/${id}/user`)72}73export function saveRoleResource(params) {//ä¿åè§è²é
ç½®çèµæºæ°æ®74 return axios.post('role/dispose/resource',params)75}76export function saveRoleUser(params) {//ä¿åè§è²é
ç½®çç¨æ·æ°æ®77 return axios.post('role/dispose/user',params)78}79//ç 表类å«ç®¡ç80export function getCategoryPage(params) {//è·åç 表类å«å表æ°æ®81 return axios.post('category/page',params)82}83export function getCategoryList() {//æ¥è¯¢ææçç±»å«84 return axios.get('category/list')85}86export function addCategory(params) {//æ°å»ºç 表类å«87 return axios.post('category/save',params)88}89export function editCategory(params) {//ç¼è¾ç 表类å«90 return axios.post('category/edit',params)91}92export function deleteCategory(id) {//å é¤ç 表类å«93 return axios.post(`category/deleted/${id}`)94}95export function getCateValuePage(params) {//è·åç 表å¼å表æ°æ®96 return axios.post('codes/page',params)97}98export function addCodeValue(params) {//æ°å»ºç 表å¼99 return axios.post('codes/save',params)100}101export function editCodeValue(params) {//ç¼è¾ç 表å¼102 return axios.post('codes/edit',params)103}104export function delCodeValue(params) {//å é¤ç 表å¼105 return axios.post('codes/delete/batch',params)106}107export function queryParentList(id) {//å¤çº§èå¨ç 表å¼å è½½ä¸çº§èç¹çä¸æå¼108 return axios.get(`codes/save/query/${id}`)109}110export function loadNextData(categoryCode,parentCodeKey) {//å¤çº§èå¨å è½½ä¸çº§æ°æ®111 return axios.get(`codes/categoryCode/parentCodeKey?categoryCode=${categoryCode}&parentCodeKey=${parentCodeKey}`)112}113//é¦é¡µé¡¶é¨æ°æ®ç»è®¡æ¥å£114export function getTopTotalData() {115 return axios.get('homePage/count')116}117export function getEnterpriseList(params){118 return axios.post('company/page',params)...
axios.js
Source:axios.js
1import Axios from 'axios'2import defu from 'defu'3// Axios.prototype cannot be modified4const axiosExtra = {5 setBaseURL (baseURL) {6 this.defaults.baseURL = baseURL7 },8 setHeader (name, value, scopes = 'common') {9 for (let scope of Array.isArray(scopes) ? scopes : [ scopes ]) {10 if (!value) {11 delete this.defaults.headers[scope][name];12 return13 }14 this.defaults.headers[scope][name] = value15 }16 },17 setToken (token, type, scopes = 'common') {18 const value = !token ? null : (type ? type + ' ' : '') + token19 this.setHeader('Authorization', value, scopes)20 },21 onRequest(fn) {22 this.interceptors.request.use(config => fn(config) || config)23 },24 onResponse(fn) {25 this.interceptors.response.use(response => fn(response) || response)26 },27 onRequestError(fn) {28 this.interceptors.request.use(undefined, error => fn(error) || Promise.reject(error))29 },30 onResponseError(fn) {31 this.interceptors.response.use(undefined, error => fn(error) || Promise.reject(error))32 },33 onError(fn) {34 this.onRequestError(fn)35 this.onResponseError(fn)36 },37 create(options) {38 return createAxiosInstance(defu(options, this.defaults))39 }40}41// Request helpers ($get, $post, ...)42for (let method of ['request', 'delete', 'get', 'head', 'options', 'post', 'put', 'patch']) {43 axiosExtra['$' + method] = function () { return this[method].apply(this, arguments).then(res => res && res.data) }44}45const extendAxiosInstance = axios => {46 for (let key in axiosExtra) {47 axios[key] = axiosExtra[key].bind(axios)48 }49}50const createAxiosInstance = axiosOptions => {51 // Create new axios instance52 const axios = Axios.create(axiosOptions)53 axios.CancelToken = Axios.CancelToken54 axios.isCancel = Axios.isCancel55 // Extend axios proto56 extendAxiosInstance(axios)57 // Setup interceptors58 setupProgress(axios)59 return axios60}61const setupProgress = (axios) => {62 if (process.server) {63 return64 }65 // A noop loading inteterface for when $nuxt is not yet ready66 const noopLoading = {67 finish: () => { },68 start: () => { },69 fail: () => { },70 set: () => { }71 }72 const $loading = () => (window.$nuxt && window.$nuxt.$loading && window.$nuxt.$loading.set) ? window.$nuxt.$loading : noopLoading73 let currentRequests = 074 axios.onRequest(config => {75 if (config && config.progress === false) {76 return77 }78 currentRequests++79 })80 axios.onResponse(response => {81 if (response && response.config && response.config.progress === false) {82 return83 }84 currentRequests--85 if (currentRequests <= 0) {86 currentRequests = 087 $loading().finish()88 }89 })90 axios.onError(error => {91 if (error && error.config && error.config.progress === false) {92 return93 }94 currentRequests--95 if (Axios.isCancel(error)) {96 return97 }98 $loading().fail()99 $loading().finish()100 })101 const onProgress = e => {102 if (!currentRequests) {103 return104 }105 const progress = ((e.loaded * 100) / (e.total * currentRequests))106 $loading().set(Math.min(100, progress))107 }108 axios.defaults.onUploadProgress = onProgress109 axios.defaults.onDownloadProgress = onProgress110}111export default (ctx, inject) => {112 // baseURL113 const baseURL = process.browser114 ? '/'115 : (process.env._AXIOS_BASE_URL_ || 'http://localhost:3000/')116 // Create fresh objects for all default header scopes117 // Axios creates only one which is shared across SSR requests!118 // https://github.com/mzabriskie/axios/blob/master/lib/defaults.js119 const headers = {120 "common": {121 "Accept": "application/json, text/plain, */*"122 },123 "delete": {},124 "get": {},125 "head": {},126 "post": {},127 "put": {},128 "patch": {}129}130 const axiosOptions = {131 baseURL,132 headers133 }134 // Proxy SSR request headers headers135 axiosOptions.headers.common = (ctx.req && ctx.req.headers) ? Object.assign({}, ctx.req.headers) : {}136 delete axiosOptions.headers.common['accept']137 delete axiosOptions.headers.common['host']138 delete axiosOptions.headers.common['cf-ray']139 delete axiosOptions.headers.common['cf-connecting-ip']140 delete axiosOptions.headers.common['content-length']141 delete axiosOptions.headers.common['content-md5']142 delete axiosOptions.headers.common['content-type']143 if (process.server) {144 // Don't accept brotli encoding because Node can't parse it145 axiosOptions.headers.common['accept-encoding'] = 'gzip, deflate'146 }147 const axios = createAxiosInstance(axiosOptions)148 // Inject axios to the context as $axios149 ctx.$axios = axios150 inject('axios', axios)...
index.js
Source:index.js
1import axios from 'axios'2axios.defaults.baseURL = 'http://127.0.0.1:3000/main/'3// é¦é¡µå¼å§4// 对è¿åçæ°æ®è¿è¡æ°æ®æ¦æª5axios.interceptors.response.use(function (response) {6 // è¿åresponse.data7 return response.data8}, function (error) {9 return Promise.reject(error)10})11// ä»æ¥æ¨èåç±»æ¥å£12export function getClassify () {13 return axios.get('classify')14}15// åçç¹åæ¥å£16export function getSaleHot () {17 return axios.get('saleHot')18}19// å¯åå¿«æ¢æ¥å£20export function getSaleFast () {21 return axios.get('saleFast')22}23// é¦é¡µä»æ¥ç¹åæ¥å£24export function getTodaySale () {25 return axios.get('todaySale')26}27// é¦é¡µæ¥å£ç»æ28// æ¯å©´é¡µé¢æ¥å£å¼å§29// æ¯å©´é¡µé¢è½®æå¾30export function getFransnanaBanner () {31 return axios.get('slider')32}33// æ¯å©´é¡µé¢åç±»34export function getWbClassify () {35 return axios.get('wbClassify')36}37// æ¯å©´é¡µé¢ä»æ¥ç¹å38export function getWbSaleHot () {39 return axios.get('wbSaleHot')40}41// æ¯å©´é¡µé¢å¯åå¿«æ¢çå42export function getWbSaleFast () {43 return axios.get('wbSaleFast')44}45// è·å主å类页é¢ç左边åç±»æ 46export function getWbLeftNav () {47 return axios.get('wbClassifyLeft')48}49// åç±»æ¨è50export function getWbRecommend () {51 return axios.get('recommend')52}53export function getRegister () {54 return axios.get('register')55}56// ç°å®è57// è½®ææ¥å£58export function getCarousel () {59 return axios.get('tcarousel')60}61// ææºæ¥å£62export function getCallphone () {63 return axios.get('tcellphone')64}65// 广å66export function getFenlei () {67 return axios.get('tfenlei')68}69// å¿«æ¢70export function getTkuai () {71 return axios.get('tkuai')72}73// å°ç±³74export function getTmi1 () {75 return axios.get('tmi1')76}77export function getTmi2 () {78 return axios.get('tmi2')79}80// å±ç¤º81export function getShow () {82 return axios.get('show')83}84// lfz85export function getBanner () {86 return axios.get('banner')87}88export function getHomeCate () {89 return axios.get('category')90}91export function getkuaiqiang () {92 return axios.get('weipinkuaiqiang')93}94// å°åºé¦æ¥å£95export function getBrandList () {96 return axios.get('brandList')97}98// çä½ å欢æ¥å£99export function getCainixihuan () {100 return axios.get('cainixihuan')101}102// æ´å¤æ¨èæ¥å£103export function getgengduotuijian () {104 return axios.get('gengduotuijian')105}106// 页头å¾çæ¥å£107export function getYetou () {108 return axios.get('yetou')109}110// èèè å½é
111// è½®æå¾æ¥å£112export function getBanner1 () {113 return axios.get('banner1')114}115// å±ç¤ºå¾æ¥å£116export function getComptPlay () {117 return axios.get('playList')118}119// å·¦æ»å¨æ¥å£120export function getLeftslide () {121 return axios.get('leftslide')122}123// å¿«æ¢æ¥å£124export function getGrabList () {125 return axios.get('grabList')126}127// çä½ å欢æ¥å£128export function getGuessLike () {129 return axios.get('guessLike')130}131// å¯åå½é
æ¥å£132export function getOnlyproduct () {133 return axios.get('onlyproduct')134}135// è±æ¬£æ¬£ çæ´»æ¥å£136export function getBanner2 () {137 return axios.get('banner2')138}139//第äºé¨å140export function getLiveCate () {141 return axios.get('category2')142}143// 第ä¸é¨å144export function getLiveThree () {145 return axios.get('three')146}147// 第åé¨å148export function getLiveFour () {149 return axios.get('four')150}151// 第äºé¨å152export function getLiveFive () {153 return axios.get('five')154}155// 第å
é¨å156export function getLiveSix () {157 return axios.get('six')...
actions.js
Source:actions.js
1const actions = {2 AXIOS_ADD_BEGIN: 'AXIOS_ADD_BEGIN',3 AXIOS_ADD_SUCCESS: 'AXIOS_ADD_SUCCESS',4 AXIOS_ADD_ERR: 'AXIOS_ADD_ERR',5 AXIOS_READ_BEGIN: 'AXIOS_READ_BEGIN',6 AXIOS_READ_SUCCESS: 'AXIOS_READ_SUCCESS',7 AXIOS_READ_ERR: 'AXIOS_READ_ERR',8 AXIOS_UPDATE_BEGIN: 'AXIOS_UPDATE_BEGIN',9 AXIOS_UPDATE_SUCCESS: 'AXIOS_UPDATE_SUCCESS',10 AXIOS_UPDATE_ERR: 'AXIOS_UPDATE_ERR',11 AXIOS_DELETE_BEGIN: 'AXIOS_DELETE_BEGIN',12 AXIOS_DELETE_SUCCESS: 'AXIOS_DELETE_SUCCESS',13 AXIOS_DELETE_ERR: 'AXIOS_DELETE_ERR',14 AXIOS_SINGLE_DATA_BEGIN: 'AXIOS_SINGLE_DATA_BEGIN',15 AXIOS_SINGLE_DATA_SUCCESS: 'AXIOS_SINGLE_DATA_SUCCESS',16 AXIOS_SINGLE_DATA_ERR: 'AXIOS_SINGLE_DATA_ERR',17 AXIOS_UPLOAD_BEGIN: 'AXIOS_UPLOAD_BEGIN',18 AXIOS_UPLOAD_SUCCESS: 'AXIOS_UPLOAD_SUCCESS',19 AXIOS_UPLOAD_ERR: 'AXIOS_UPLOAD_ERR',20 axiosUploadBegin: () => {21 return {22 type: actions.AXIOS_UPLOAD_BEGIN,23 };24 },25 axiosUploadSuccess: data => {26 return {27 type: actions.AXIOS_UPLOAD_SUCCESS,28 data,29 };30 },31 axiosUploadErr: err => {32 return {33 type: actions.AXIOS_UPLOAD_ERR,34 err,35 };36 },37 axiosAddBegin: () => {38 return {39 type: actions.AXIOS_ADD_BEGIN,40 };41 },42 axiosAddSuccess: data => {43 return {44 type: actions.AXIOS_ADD_SUCCESS,45 data,46 };47 },48 axiosAddErr: err => {49 return {50 type: actions.AXIOS_ADD_ERR,51 err,52 };53 },54 axiosReadBegin: () => {55 return {56 type: actions.AXIOS_READ_BEGIN,57 };58 },59 axiosReadSuccess: data => {60 return {61 type: actions.AXIOS_READ_SUCCESS,62 data,63 };64 },65 axiosReadErr: err => {66 return {67 type: actions.AXIOS_READ_ERR,68 err,69 };70 },71 axiosUpdateBegin: () => {72 return {73 type: actions.AXIOS_UPDATE_BEGIN,74 };75 },76 axiosUpdateSuccess: data => {77 return {78 type: actions.AXIOS_UPDATE_SUCCESS,79 data,80 };81 },82 axiosUpdateErr: err => {83 return {84 type: actions.AXIOS_UPDATE_ERR,85 err,86 };87 },88 axiosDeleteBegin: () => {89 return {90 type: actions.AXIOS_DELETE_BEGIN,91 };92 },93 axiosDeleteSuccess: data => {94 return {95 type: actions.AXIOS_DELETE_SUCCESS,96 data,97 };98 },99 axiosDeleteErr: err => {100 return {101 type: actions.AXIOS_DELETE_ERR,102 err,103 };104 },105 axiosSingleDataBegin: () => {106 return {107 type: actions.AXIOS_SINGLE_DATA_BEGIN,108 };109 },110 axiosSingleDataSuccess: data => {111 return {112 type: actions.AXIOS_SINGLE_DATA_SUCCESS,113 data,114 };115 },116 axiosSingleDataErr: err => {117 return {118 type: actions.AXIOS_SINGLE_DATA_ERR,119 err,120 };121 },122};...
Using AI Code Generation
1describe("GET /user", function() {2 it("respond with json", function(done) {3 request(app)4 .get("/user")5 .set("Accept", "application/json")6 .expect("Content-Type", /json/)7 .expect(200, done);8 });9});10describe("GET /user", function() {11 it("respond with json", function(done) {12 request(app)13 .get("/user")14 .set("Accept", "application/json")15 .expect("Content-Type", /json/)16 .expect(200, done);17 });18});19describe("GET /user", function() {20 it("respond with json", function(done) {21 request(app)22 .get("/user")23 .set("Accept", "application/json")24 .expect("Content-Type", /json/)25 .expect(200, done);26 });27});28describe("GET /user", function() {29 it("respond with json", function(done) {30 request(app)31 .get("/user")32 .set("Accept", "application/json")33 .expect("Content-Type", /json/)34 .expect(200, done);35 });36});37describe("GET /user", function() {38 it("respond with json", function(done) {39 request(app)40 .get("/user")41 .set("Accept", "application/json")42 .expect("Content-Type", /json/)43 .expect(200, done);44 });45});46describe("GET /user", function() {47 it("respond with json", function(done) {48 request(app)49 .get("/user")50 .set("Accept", "application/json")51 .expect("Content-Type", /json/)52 .expect(200, done);53 });54});55describe("GET /user", function() {56 it("respond with json", function(done) {57 request(app)58 .get("/user")59 .set("Accept", "application/json")60 .expect("Content-Type", /json/)61 .expect(200, done);62 });63});
Using AI Code Generation
1const sinon = require('sinon');2const axios = require('axios');3const { expect } = require('chai');4describe('Test the axios method', () => {5 let stub;6 beforeEach(() => {7 stub = sinon.stub(axios, 'get');8 });9 afterEach(() => {10 stub.restore();11 });12 it('should return the correct response', async () => {13 const response = {14 data: {15 },16 };17 stub.resolves(response);18 expect(result.data.name).to.equal('John');19 });20});21const sinon = require('sinon');22const axios = require('axios');23const { expect } = require('chai');24describe('Test the axios method', () => {25 let stub;26 beforeEach(() => {27 stub = sinon.stub(axios, 'get');28 });29 afterEach(() => {30 stub.restore();31 });32 it('should return the correct response', async () => {33 const response = {34 data: {35 },36 };37 stub.resolves(response);38 expect(result.data.name).to.equal('John');39 });40});41const sinon = require('sinon');42const axios = require('axios');43const { expect } = require('chai');44describe('Test the axios method', () => {45 let stub;46 beforeEach(() => {47 stub = sinon.stub(axios, 'get');48 });49 afterEach(() => {50 stub.restore();51 });52 it('should return the correct response', async () => {53 const response = {54 data: {55 },56 };57 stub.resolves(response);58 expect(result.data.name).to.equal('John');59 });60});61const sinon = require('sinon');62const axios = require('axios');63const { expect } = require('chai');64describe('Test the axios method', () => {65 let stub;
Using AI Code Generation
1const axios = require('axios');2const sinon = require('sinon');3const axiosStub = sinon.stub(axios, 'get');4axiosStub.resolves({ data: 'fake data' });5axiosStub.withArgs('wrong url').rejects({ error: 'wrong url' });6axiosStub.withArgs('another wrong url').rejects({ error: 'another wrong url' });7const axios = require('axios');8const sinon = require('sinon');9const axiosStub = sinon.stub(axios, 'get');10axiosStub.resolves({ data: 'fake data' });11axiosStub.withArgs('wrong url').rejects({ error: 'wrong url' });12axiosStub.withArgs('another wrong url').rejects({ error: 'another wrong url' });13const axios = require('axios');14const sinon = require('sinon');15const axiosStub = sinon.stub(axios, 'get');16axiosStub.resolves({ data: 'fake data' });17axiosStub.withArgs('wrong url').rejects({ error: 'wrong url' });18axiosStub.withArgs('another wrong url').rejects({ error: 'another wrong url' });19const axios = require('axios');20const sinon = require('sinon');21const axiosStub = sinon.stub(axios, 'get');22axiosStub.resolves({ data: 'fake data' });23axiosStub.withArgs('wrong url').rejects({ error: 'wrong url' });24axiosStub.withArgs('another wrong url').rejects({ error: 'another wrong url' });25const axios = require('axios');26const sinon = require('sinon');27const axiosStub = sinon.stub(axios, 'get');28axiosStub.resolves({ data: 'fake data' });29axiosStub.withArgs('wrong url').rejects({ error: 'wrong url' });30axiosStub.withArgs('another wrong url').rejects({ error: 'another wrong url' });31const axios = require('axios');32const sinon = require('sinon');33const axiosStub = sinon.stub(axios, 'get');34axiosStub.resolves({ data: 'fake data' });35axiosStub.withArgs('wrong url').rejects({ error: 'wrong url' });36axiosStub.withArgs('another wrong url').rejects({ error: 'another wrong url' });
Using AI Code Generation
1const axios = require("axios");2const sinon = require("sinon");3const assert = require("assert");4describe("Test axios", () => {5 it("should return data", async () => {6 const data = { name: "test" };7 const res = { data };8 const get = sinon.stub(axios, "get").resolves(res);9 assert.deepStrictEqual(result.data, data);10 get.restore();11 });12});13const axios = require("axios");14const sinon = require("sinon");15const assert = require("assert");16describe("Test axios", () => {17 it("should return data", async () => {18 const data = { name: "test" };19 const res = { data };20 sinon.stub(axios, "get").resolves(res);21 assert.deepStrictEqual(result.data, data);22 axios.get.restore();23 });24});25const axios = require("axios");26const sinon = require("sinon");27const assert = require("assert");28describe("Test axios", () => {29 it("should return data", async () => {30 const data = { name: "test" };31 const res = { data };32 sinon.stub(axios, "get").resolves(res);33 assert.deepStrictEqual(result.data, data);34 axios.get.restore();35 });36});37const axios = require("axios");38const sinon = require("sinon");39const assert = require("assert");40describe("Test axios", () => {41 it("should return data", async () => {42 const data = { name: "test" };43 const res = { data };44 sinon.stub(axios, "get").resolves(res);45 assert.deepStrictEqual(result.data, data);46 axios.get.restore();47 });48});49const axios = require("axios");50const sinon = require("sinon");51const assert = require("assert
Using AI Code Generation
1const axios = require("axios");2const sinon = require("sinon");3const expect = require("chai").expect;4const { describe } = require("mocha");5describe("Test axios", () => {6 it("should return a resolved promise", async () => {7 const response = { data: "data" };8 const stub = sinon.stub(axios, "get").resolves(response);9 expect(result.data).to.equal(response.data);10 stub.restore();11 });12});13const axios = require("axios");14const sinon = require("sinon");15const expect = require("chai").expect;16const { describe } = require("mocha");17describe("Test axios", () => {18 it("should return a rejected promise", async () => {19 const response = { data: "data" };20 const stub = sinon.stub(axios, "get").rejects(response);21 try {22 } catch (error) {23 expect(error).to.equal(response);24 }25 stub.restore();26 });27});28const axios = require("axios");29const sinon = require("sinon");30const expect = require("chai").expect;31const { describe } = require("mocha");32describe("Test axios", () => {33 it("should return a resolved promise", async () => {34 const response = { data: "data" };35 const stub = sinon.stub(axios, "get").resolves(response);36 expect(result.data).to.equal(response.data);37 stub.restore();38 });39});40const axios = require("axios");41const sinon = require("sinon");42const expect = require("chai").expect;43const { describe } = require("mocha");44describe("Test axios", () => {45 it("should return a rejected promise", async () => {46 const response = { data: "data" };47 const stub = sinon.stub(axios,
Using AI Code Generation
1import axios from 'axios';2import sinon from 'sinon';3import { expect } from 'chai';4import { service } from './service';5describe('service', () => {6 it('should call axios.get', async () => {7 const getStub = sinon.stub(axios, 'get');8 await service();9 expect(getStub.calledOnce).to.be.true;10 });11});12import axios from 'axios';13export const service = async () => {14 return response;15};16import axios from 'axios';17import sinon from 'sinon';18import { expect } from 'chai';19import { service } from './service';20describe('service', () => {21 it('should call axios.get', async () => {22 const getStub = sinon.stub(axios, 'get').returns({23 data: {24 },25 });26 const response = await service();27 expect(response).to.have.property('userId').to.equal(1);28 });29});30import axios from 'axios';31import sinon from 'sinon';32import { expect } from 'chai';33import { service } from './service';34describe('service', () => {35 it('should call axios.get', async () => {36 const getStub = sinon.stub(axios, 'get').returns({37 });38 const response = await service();39 expect(response).to.have.property('userId').to.equal(1);40 });41});42jest.mock('axios');
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!!