Add test for label parsing
This commit is contained in:
@ -109,3 +109,29 @@ describe('A file with no status set', () => {
|
||||
expect(states).to.eql([undefined, ArticleSavingRequestStatus.Archived])
|
||||
})
|
||||
})
|
||||
|
||||
describe('A file with some labels', () => {
|
||||
it('gets the labels, handles empty, and trims extra whitespace', async () => {
|
||||
const importedLabels: (string[] | undefined)[] = []
|
||||
const stream = fs.createReadStream('./test/csv/data/labels.csv')
|
||||
const stub = stubImportCtx()
|
||||
stub.urlHandler = (
|
||||
ctx: ImportContext,
|
||||
url,
|
||||
state?: ArticleSavingRequestStatus,
|
||||
labels?: string[]
|
||||
): Promise<void> => {
|
||||
importedLabels.push(labels)
|
||||
return Promise.resolve()
|
||||
}
|
||||
|
||||
await importCsv(stub, stream)
|
||||
expect(stub.countFailed).to.equal(0)
|
||||
expect(stub.countImported).to.equal(3)
|
||||
expect(importedLabels).to.eql([
|
||||
['Label1', 'Label2', 'Label 3', 'Label 4'],
|
||||
[],
|
||||
[],
|
||||
])
|
||||
})
|
||||
})
|
||||
|
||||
3
packages/import-handler/test/csv/data/labels.csv
Normal file
3
packages/import-handler/test/csv/data/labels.csv
Normal file
@ -0,0 +1,3 @@
|
||||
"https://test.url/path01",,"[Label1,Label2, Label 3, Label 4 ]"
|
||||
"https://test.url/path02",,"[]"
|
||||
"https://test.url/path03",,
|
||||
|
Reference in New Issue
Block a user