Initial commit

This commit is contained in:
John Wang
2023-05-15 08:51:32 +08:00
commit db896255d6
744 changed files with 56028 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
import { Factory } from 'miragejs'
import { faker } from '@faker-js/faker'
import type { History } from '@/models/history'
import type { User } from '@/models/user'
import type { Log } from '@/models/log'
export const seedHistory = () => {
return Factory.extend<Partial<History>>({
source() {
return faker.address.streetAddress()
},
target() {
return faker.address.streetAddress()
},
})
}
export const seedUser = () => {
return Factory.extend<Partial<User>>({
firstName() {
return faker.name.firstName()
},
lastName() {
return faker.name.lastName()
},
name() {
return faker.address.streetAddress()
},
phone() {
return faker.phone.number()
},
email() {
return faker.internet.email()
},
username() {
return faker.internet.userName()
},
avatar() {
return faker.internet.avatar()
},
})
}
export const seedLog = () => {
return Factory.extend<Partial<Log>>({
get key() {
return faker.datatype.uuid()
},
get conversationId() {
return faker.datatype.uuid()
},
get question() {
return faker.lorem.sentence()
},
get answer() {
return faker.lorem.sentence()
},
get userRate() {
return faker.datatype.number(5)
},
get adminRate() {
return faker.datatype.number(5)
}
})
}

45
web/test/test_util.ts Normal file
View File

@@ -0,0 +1,45 @@
import { Model, createServer } from 'miragejs'
import type { User } from '@/models/user'
import type { History } from '@/models/history'
import type { Log } from '@/models/log'
import { seedUser, seedHistory, seedLog } from '@/test/factories'
export function mockAPI() {
if (process.env.NODE_ENV === 'development') {
console.log('in development mode, starting mock server ... ')
const server = createServer({
environment: process.env.NODE_ENV,
factories: {
user: seedUser(),
history: seedHistory(),
log: seedLog(),
},
models: {
user: Model.extend<Partial<User>>({}),
history: Model.extend<Partial<History>>({}),
log: Model.extend<Partial<Log>>({}),
},
routes() {
this.namespace = '/api'
this.get('/users', () => {
return this.schema.all('user')
})
this.get('/histories', () => {
return this.schema.all('history')
})
this.get('/logs', () => {
return this.schema.all('log')
})
},
seeds(server) {
server.createList('user', 20)
server.createList('history', 50)
server.createList('log', 50)
},
})
return server
}
console.log('Not in development mode, not starting mock server ... ')
return null
}