feat(plugins/leetcode): add plugin (#1213) [skip ci]
This commit is contained in:
102
tests/mocks/api/axios/post/leetcode.mjs
Normal file
102
tests/mocks/api/axios/post/leetcode.mjs
Normal file
@@ -0,0 +1,102 @@
|
||||
/**Mocked data */
|
||||
export default function({faker, url, body, login = faker.internet.userName()}) {
|
||||
if (/^https:..leetcode.com.graphql.*$/.test(url)) {
|
||||
const {query} = body
|
||||
//Languages query
|
||||
if (/^query Languages /.test(query)) {
|
||||
console.debug("metrics/compute/mocks > mocking leetcode api result > Languages")
|
||||
return ({
|
||||
status: 200,
|
||||
data: {
|
||||
data: {
|
||||
matchedUser:{
|
||||
languageProblemCount:new Array(6).fill(null).map(_ => ({
|
||||
languageName:faker.hacker.noun(),
|
||||
problemsSolved:faker.datatype.number(200)
|
||||
}))
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
//Skills query
|
||||
if (/^query Skills /.test(query)) {
|
||||
console.debug("metrics/compute/mocks > mocking leetcode api result > Skills")
|
||||
return ({
|
||||
status: 200,
|
||||
data: {
|
||||
data: {
|
||||
matchedUser:{
|
||||
tagProblemCounts:{
|
||||
advanced:new Array(6).fill(null).map(_ => ({
|
||||
tagName:faker.hacker.noun(),
|
||||
tagSlug:faker.lorem.slug(),
|
||||
problemsSolved:faker.datatype.number(200)
|
||||
})),
|
||||
intermediate:new Array(6).fill(null).map(_ => ({
|
||||
tagName:faker.hacker.noun(),
|
||||
tagSlug:faker.lorem.slug(),
|
||||
problemsSolved:faker.datatype.number(200)
|
||||
})),
|
||||
fundamental:new Array(6).fill(null).map(_ => ({
|
||||
tagName:faker.hacker.noun(),
|
||||
tagSlug:faker.lorem.slug(),
|
||||
problemsSolved:faker.datatype.number(200)
|
||||
}))
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
//Problems query
|
||||
if (/^query Problems /.test(query)) {
|
||||
console.debug("metrics/compute/mocks > mocking leetcode api result > Problems")
|
||||
return ({
|
||||
status: 200,
|
||||
data: {
|
||||
data: {
|
||||
allQuestionsCount:[
|
||||
{difficulty:"All", count:2402},
|
||||
{difficulty:"Easy", count:592},
|
||||
{difficulty:"Medium", count:1283},
|
||||
{difficulty:"Hard", count:527},
|
||||
],
|
||||
matchedUser:{
|
||||
problemsSolvedBeatsStats:[
|
||||
{difficulty:"Easy", percentage:faker.datatype.float({max:100})},
|
||||
{difficulty:"Medium", percentage:faker.datatype.float({max:100})},
|
||||
{difficulty:"Hard", percentage:faker.datatype.float({max:100})},
|
||||
],
|
||||
submitStatsGlobal:{
|
||||
acSubmissionNum:[
|
||||
{difficulty:"All", count:faker.datatype.number(2402)},
|
||||
{difficulty:"Easy", count:faker.datatype.number(592)},
|
||||
{difficulty:"Medium", count:faker.datatype.number(1283)},
|
||||
{difficulty:"Hard", count:faker.datatype.number(527)},
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
//Recent query
|
||||
if (/^query Recent /.test(query)) {
|
||||
console.debug("metrics/compute/mocks > mocking leetcode api result > Recent")
|
||||
return ({
|
||||
status: 200,
|
||||
data: {
|
||||
data: {
|
||||
recentAcSubmissionList:new Array(6).fill(null).map(_ => ({
|
||||
id:`${faker.datatype.number(10000)}`,
|
||||
title:faker.lorem.sentence(),
|
||||
titleSlug:faker.lorem.slug(),
|
||||
timestamp:`${Math.round(faker.date.recent().getTime()/1000)}`,
|
||||
})),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user