这里有三个function:
async all() {
const sql = 'SELECT users.user, contacts.* FROM contacts, users\
WHERE contacts.userid = users.id;'
const contacts = await this.db.all(sql)
for(const index in contacts) {
if(contacts[index].photo === null) contacts[index].photo = 'placeholder.jpg'
}
return contacts
}
-----------------------------------------
async getByID(id) {
try{
const sql = `SELECT users.user, contacts.* FROM contacts, users\
WHERE contacts.userid = users.id AND contacts.id = ${id};`
console.log(sql)
const contact = await this.db.get(sql)
if(contact.photo === null) contact.photo = 'placeholder.jpg'
const dateTime = new Date(contact.lastcontact)
const date = `${dateTime.getDate()}/${dateTime.getMonth() + 1}/${dateTime.getFullYear()}`
contact.lastcontact = date
return contact
} catch(err) {
console.log(err)
throw err
}
}
----------------------------------------
async add(data) {
console.log(data)
let filename
if(data.fileName) {
filename = `${Date.now()}.${mime.extension(data.fileType)}`
console.log(filename)
await fs.copy(data.filePath, `public/avatars/${filename}`)
}
const timestamp = Math.floor(Date.now() / 1000)
try {
const sql = `INSERT INTO contacts(userid, title, description, avatar, lastcontact)\
VALUES(${data.account}, "${data.title}", "${data.description}", "${filename}", ${timestamp})`
console.log(sql)
await this.db.run(sql)
return true
} catch(err) {
console.log(err)
throw err
}
}
async close() {
await this.db.close()
}
需要对他们写出三个单元测试。
使用AAA模式:编排(Arrange),执行(Act),断言(Assert)
下面有个模版就类似于这样的
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,超出我们目前的服务范围,暂时无法为您解答。
问答VIP目前服务范围为 :Python、Java、MySQL、Redis、MongoDB、HBase、Zookeeper、Kafka、Linux领域专业问题解答,为您提供解决问题的思路和指导。
不提供源码代写、项目文档代写、论文代写、安装包资源发送或安装指导等服务。
本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。