mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-07-08 10:44:12 -04:00
Testing
This commit is contained in:
parent
8ee8f2d4c5
commit
ae174613ff
@ -23,6 +23,20 @@ describe('PDFEditorComponent', () => {
|
|||||||
fixture.detectChanges()
|
fixture.detectChanges()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should return correct operations with no changes', () => {
|
||||||
|
component.pages = [
|
||||||
|
{ page: 1, rotate: 0, splitAfter: false },
|
||||||
|
{ page: 2, rotate: 0, splitAfter: false },
|
||||||
|
{ page: 3, rotate: 0, splitAfter: false },
|
||||||
|
]
|
||||||
|
const ops = component.getOperations()
|
||||||
|
expect(ops).toEqual([
|
||||||
|
{ page: 1, rotate: 0, doc: 0 },
|
||||||
|
{ page: 2, rotate: 0, doc: 0 },
|
||||||
|
{ page: 3, rotate: 0, doc: 0 },
|
||||||
|
])
|
||||||
|
})
|
||||||
|
|
||||||
it('should rotate, delete and reorder pages', () => {
|
it('should rotate, delete and reorder pages', () => {
|
||||||
component.pages = [
|
component.pages = [
|
||||||
{ page: 1, rotate: 0, splitAfter: false, selected: false },
|
{ page: 1, rotate: 0, splitAfter: false, selected: false },
|
||||||
@ -41,4 +55,88 @@ describe('PDFEditorComponent', () => {
|
|||||||
component.rotate(0)
|
component.rotate(0)
|
||||||
expect(component.pages[0].rotate).toBe(90)
|
expect(component.pages[0].rotate).toBe(90)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should handle empty pages array', () => {
|
||||||
|
component.pages = []
|
||||||
|
expect(component.getOperations()).toEqual([])
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should increment doc index after splitAfter', () => {
|
||||||
|
component.pages = [
|
||||||
|
{ page: 1, rotate: 0, splitAfter: true },
|
||||||
|
{ page: 2, rotate: 0, splitAfter: false },
|
||||||
|
{ page: 3, rotate: 0, splitAfter: true },
|
||||||
|
{ page: 4, rotate: 0, splitAfter: false },
|
||||||
|
]
|
||||||
|
const ops = component.getOperations()
|
||||||
|
expect(ops).toEqual([
|
||||||
|
{ page: 1, rotate: 0, doc: 0 },
|
||||||
|
{ page: 2, rotate: 0, doc: 1 },
|
||||||
|
{ page: 3, rotate: 0, doc: 1 },
|
||||||
|
{ page: 4, rotate: 0, doc: 2 },
|
||||||
|
])
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should include rotations in operations', () => {
|
||||||
|
component.pages = [
|
||||||
|
{ page: 1, rotate: 90, splitAfter: false },
|
||||||
|
{ page: 2, rotate: 180, splitAfter: true },
|
||||||
|
{ page: 3, rotate: 270, splitAfter: false },
|
||||||
|
]
|
||||||
|
const ops = component.getOperations()
|
||||||
|
expect(ops).toEqual([
|
||||||
|
{ page: 1, rotate: 90, doc: 0 },
|
||||||
|
{ page: 2, rotate: 180, doc: 0 },
|
||||||
|
{ page: 3, rotate: 270, doc: 1 },
|
||||||
|
])
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should handle remove operation', () => {
|
||||||
|
component.pages = [
|
||||||
|
{ page: 1, rotate: 0, splitAfter: false, selected: false },
|
||||||
|
{ page: 2, rotate: 0, splitAfter: false, selected: true },
|
||||||
|
{ page: 3, rotate: 0, splitAfter: false, selected: false },
|
||||||
|
]
|
||||||
|
component.remove(1) // remove page 2
|
||||||
|
expect(component.pages.length).toBe(2)
|
||||||
|
expect(component.pages[0].page).toBe(1)
|
||||||
|
expect(component.pages[1].page).toBe(3)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should toggle splitAfter correctly', () => {
|
||||||
|
component.pages = [
|
||||||
|
{ page: 1, rotate: 0, splitAfter: false },
|
||||||
|
{ page: 2, rotate: 0, splitAfter: false },
|
||||||
|
]
|
||||||
|
component.toggleSplit(0)
|
||||||
|
expect(component.pages[0].splitAfter).toBeTruthy()
|
||||||
|
component.toggleSplit(1)
|
||||||
|
expect(component.pages[1].splitAfter).toBeTruthy()
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should select and deselect all pages', () => {
|
||||||
|
component.pages = [
|
||||||
|
{ page: 1, rotate: 0, splitAfter: false, selected: false },
|
||||||
|
{ page: 2, rotate: 0, splitAfter: false, selected: false },
|
||||||
|
]
|
||||||
|
component.selectAll()
|
||||||
|
expect(component.pages.every((p) => p.selected)).toBeTruthy()
|
||||||
|
expect(component.hasSelection()).toBeTruthy()
|
||||||
|
component.deselectAll()
|
||||||
|
expect(component.pages.every((p) => !p.selected)).toBeTruthy()
|
||||||
|
expect(component.hasSelection()).toBeFalsy()
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should handle pdf loading and page generation', () => {
|
||||||
|
const mockPdf = {
|
||||||
|
numPages: 3,
|
||||||
|
getPage: (pageNum: number) => Promise.resolve({ pageNumber: pageNum }),
|
||||||
|
}
|
||||||
|
component.pdfLoaded(mockPdf as any)
|
||||||
|
expect(component.totalPages).toBe(3)
|
||||||
|
expect(component.pages.length).toBe(3)
|
||||||
|
expect(component.pages[0].page).toBe(1)
|
||||||
|
expect(component.pages[1].page).toBe(2)
|
||||||
|
expect(component.pages[2].page).toBe(3)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user