* upgrade typeorm to 3.0 * use new datasource object in typeorm 3 * fix tests * fix tests * migrate before creating connection * fail the test if migration failed
56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
import 'mocha'
|
|
import { expect } from 'chai'
|
|
import 'chai/register-should'
|
|
import {
|
|
createTestLabel,
|
|
createTestLink,
|
|
createTestPage,
|
|
createTestUser,
|
|
deleteTestUser,
|
|
} from '../db'
|
|
import { LinkLabel } from '../../src/entity/link_label'
|
|
import { Label } from '../../src/entity/label'
|
|
import { Link } from '../../src/entity/link'
|
|
import { labelsLoader } from '../../src/services/labels'
|
|
import { getRepository } from '../../src/entity/utils'
|
|
|
|
describe('batch get labels from linkIds', () => {
|
|
let username = 'testUser'
|
|
let labels: Label[] = []
|
|
let link: Link
|
|
|
|
before(async () => {
|
|
// create test user
|
|
const user = await createTestUser(username)
|
|
|
|
// Create some test links
|
|
const page = await createTestPage()
|
|
link = await createTestLink(user, page)
|
|
|
|
for (let i = 0; i < 3; i++) {
|
|
// create testing labels
|
|
const label = await createTestLabel(user, `label_${i}`, '#d55757')
|
|
// set label to a link
|
|
await getRepository(LinkLabel).save({
|
|
link: link,
|
|
label: label,
|
|
})
|
|
labels.push(label)
|
|
}
|
|
})
|
|
|
|
after(async () => {
|
|
// clean up
|
|
await deleteTestUser(username)
|
|
})
|
|
|
|
it('should return a list of label from one link', async () => {
|
|
const result = await labelsLoader.load(link.id)
|
|
|
|
expect(result).length(3)
|
|
expect(result[0].id).to.eql(labels[0].id)
|
|
expect(result[1].id).to.eql(labels[1].id)
|
|
expect(result[2].id).to.eql(labels[2].id)
|
|
})
|
|
})
|