|
@@ -8,6 +8,7 @@ process.env.BROWSERSLIST_IGNORE_OLD_DATA = 'true'
|
|
|
|
|
|
|
|
const routerPath = path.resolve(__dirname, '../../src/router/index.js')
|
|
const routerPath = path.resolve(__dirname, '../../src/router/index.js')
|
|
|
const pagePath = path.resolve(__dirname, '../../src/views/pages/team-background-upload.vue')
|
|
const pagePath = path.resolve(__dirname, '../../src/views/pages/team-background-upload.vue')
|
|
|
|
|
+const queuePath = path.resolve(__dirname, '../../src/components/team-background/TeamBackgroundUploadQueue.vue')
|
|
|
|
|
|
|
|
const readIfPresent = file => fs.existsSync(file) ? fs.readFileSync(file, 'utf8') : ''
|
|
const readIfPresent = file => fs.existsSync(file) ? fs.readFileSync(file, 'utf8') : ''
|
|
|
|
|
|
|
@@ -687,6 +688,27 @@ describe('public team background upload page state machine', () => {
|
|
|
expect(api.completePublicUpload).toHaveBeenCalledTimes(1)
|
|
expect(api.completePublicUpload).toHaveBeenCalledTimes(1)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ test('a successful upload cannot be removed or omitted from the completion count', async () => {
|
|
|
|
|
+ if (!expectPage(source)) return
|
|
|
|
|
+ const successful = { id: 'success', status: 'success' }
|
|
|
|
|
+ const failed = { id: 'failed', status: 'failed' }
|
|
|
|
|
+ const vm = createPageVm(api, {
|
|
|
|
|
+ state: 'ready',
|
|
|
|
|
+ session: { uploadToken: 'upload-token' },
|
|
|
|
|
+ queue: [successful, failed]
|
|
|
|
|
+ })
|
|
|
|
|
+ api.completePublicUpload.mockResolvedValue({ code: 0 })
|
|
|
|
|
+
|
|
|
|
|
+ vm.removeQueueItem(successful)
|
|
|
|
|
+ expect(vm.queue).toContain(successful)
|
|
|
|
|
+ await vm.completeUpload()
|
|
|
|
|
+
|
|
|
|
|
+ expect(vm.successCount).toBe(1)
|
|
|
|
|
+ expect(readIfPresent(queuePath)).toContain(
|
|
|
|
|
+ 'v-if="item.status !== \'uploading\' && item.status !== \'success\'"'
|
|
|
|
|
+ )
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
test('completion closes empty and all-failed queues with a zero success count', async () => {
|
|
test('completion closes empty and all-failed queues with a zero success count', async () => {
|
|
|
if (!expectPage(source)) return
|
|
if (!expectPage(source)) return
|
|
|
api.completePublicUpload.mockResolvedValue({ code: 0 })
|
|
api.completePublicUpload.mockResolvedValue({ code: 0 })
|