mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-01-10 04:11:20 +00:00
61 lines
1.9 KiB
TypeScript
61 lines
1.9 KiB
TypeScript
import { HttpTestingController } from '@angular/common/http/testing'
|
|
import { TestBed } from '@angular/core/testing'
|
|
import { Subscription } from 'rxjs'
|
|
import { environment } from 'src/environments/environment'
|
|
import { commonAbstractPaperlessServiceTests } from './abstract-paperless-service.spec'
|
|
import { ShareLinkBundleService } from './share-link-bundle.service'
|
|
|
|
const endpoint = 'share_link_bundles'
|
|
|
|
commonAbstractPaperlessServiceTests(endpoint, ShareLinkBundleService)
|
|
|
|
describe('ShareLinkBundleService', () => {
|
|
let httpTestingController: HttpTestingController
|
|
let service: ShareLinkBundleService
|
|
let subscription: Subscription | undefined
|
|
|
|
beforeEach(() => {
|
|
httpTestingController = TestBed.inject(HttpTestingController)
|
|
service = TestBed.inject(ShareLinkBundleService)
|
|
})
|
|
|
|
afterEach(() => {
|
|
subscription?.unsubscribe()
|
|
httpTestingController.verify()
|
|
})
|
|
|
|
it('creates bundled share links', () => {
|
|
const payload = {
|
|
document_ids: [1, 2],
|
|
file_version: 'archive',
|
|
expiration_days: 7,
|
|
}
|
|
subscription = service.createBundle(payload as any).subscribe()
|
|
const req = httpTestingController.expectOne(
|
|
`${environment.apiBaseUrl}${endpoint}/`
|
|
)
|
|
expect(req.request.method).toBe('POST')
|
|
expect(req.request.body).toEqual(payload)
|
|
req.flush({})
|
|
})
|
|
|
|
it('rebuilds bundles', () => {
|
|
subscription = service.rebuildBundle(12).subscribe()
|
|
const req = httpTestingController.expectOne(
|
|
`${environment.apiBaseUrl}${endpoint}/12/rebuild/`
|
|
)
|
|
expect(req.request.method).toBe('POST')
|
|
expect(req.request.body).toEqual({})
|
|
req.flush({})
|
|
})
|
|
|
|
it('lists bundles with expected parameters', () => {
|
|
subscription = service.listAllBundles().subscribe()
|
|
const req = httpTestingController.expectOne(
|
|
`${environment.apiBaseUrl}${endpoint}/?page=1&page_size=1000&ordering=-created`
|
|
)
|
|
expect(req.request.method).toBe('GET')
|
|
req.flush({ results: [] })
|
|
})
|
|
})
|