currentUserCan = true
})
- it('should support creating tag', () => {
+ it('should support creating tag, remove from suggestions', () => {
initNormally()
+ component.suggestions = {
+ suggested_tags: ['Tag1', 'NewTag12'],
+ }
let openModal: NgbModalRef
modalService.activeInstances.subscribe((modal) => (openModal = modal[0]))
const modalSpy = jest.spyOn(modalService, 'open')
text_color: '#000000',
})
expect(component.documentForm.get('tags').value).toContain(12)
+ expect(component.suggestions.suggested_tags).not.toContain('NewTag12')
})
- it('should support creating document type', () => {
+ it('should support creating document type, remove from suggestions', () => {
initNormally()
+ component.suggestions = {
+ suggested_document_types: ['DocumentType1', 'NewDocType2'],
+ }
let openModal: NgbModalRef
modalService.activeInstances.subscribe((modal) => (openModal = modal[0]))
const modalSpy = jest.spyOn(modalService, 'open')
expect(modalSpy).toHaveBeenCalled()
openModal.componentInstance.succeeded.next({ id: 12, name: 'NewDocType12' })
expect(component.documentForm.get('document_type').value).toEqual(12)
+ expect(component.suggestions.suggested_document_types).not.toContain(
+ 'NewDocType2'
+ )
})
- it('should support creating correspondent', () => {
+ it('should support creating correspondent, remove from suggestions', () => {
initNormally()
+ component.suggestions = {
+ suggested_correspondents: ['Correspondent1', 'NewCorrrespondent12'],
+ }
let openModal: NgbModalRef
modalService.activeInstances.subscribe((modal) => (openModal = modal[0]))
const modalSpy = jest.spyOn(modalService, 'open')
name: 'NewCorrrespondent12',
})
expect(component.documentForm.get('correspondent').value).toEqual(12)
+ expect(component.suggestions.suggested_correspondents).not.toContain(
+ 'NewCorrrespondent12'
+ )
})
it('should support creating storage path', () => {
expect(errorSpy).toHaveBeenCalled()
})
- it('should support removing suggestions', () => {
- initNormally()
- component.removeSuggestion('tag', 'Hello') // coverage
- component.suggestions = {
- tags: [42, 43],
- suggested_tags: ['foo'],
- document_types: [],
- suggested_document_types: ['bar'],
- correspondents: [],
- suggested_correspondents: ['baz'],
- }
- component.removeSuggestion('tag', 'foo')
- component.removeSuggestion('documentType', 'bar')
- component.removeSuggestion('correspondent', 'baz')
- expect(component.suggestions).toEqual({
- tags: [42, 43],
- suggested_tags: [],
- document_types: [],
- suggested_document_types: [],
- correspondents: [],
- suggested_correspondents: [],
- })
- })
-
it('should warn when open document does not match doc retrieved from backend on init', () => {
let openModal: NgbModalRef
modalService.activeInstances.subscribe((modals) => (openModal = modals[0]))
})
}
- public removeSuggestion(type: string, value: string) {
- if (!this.suggestions) return
-
- switch (type) {
- case 'tag':
- this.suggestions.suggested_tags =
- this.suggestions.suggested_tags.filter((t) => t !== value)
- break
- case 'correspondent':
- this.suggestions.suggested_correspondents =
- this.suggestions.suggested_correspondents.filter((c) => c !== value)
- break
- case 'documentType':
- this.suggestions.suggested_document_types =
- this.suggestions.suggested_document_types.filter((dt) => dt !== value)
- break
- }
- }
-
createTag(newName: string) {
var modal = this.modalService.open(TagEditDialogComponent, {
backdrop: 'static',
.subscribe(({ newTag, tags }) => {
this.tagsInput.tags = tags.results
this.tagsInput.addTag(newTag.id)
- this.removeSuggestion('tag', newName)
+ if (this.suggestions) {
+ this.suggestions.suggested_tags =
+ this.suggestions.suggested_tags.filter((tag) => tag !== newName)
+ }
})
}
this.documentTypes = documentTypes.results
this.documentForm.get('document_type').setValue(newDocumentType.id)
this.documentForm.get('document_type').markAsDirty()
- this.removeSuggestion('documentType', newName)
+ if (this.suggestions) {
+ this.suggestions.suggested_document_types =
+ this.suggestions.suggested_document_types.filter(
+ (dt) => dt !== newName
+ )
+ }
})
}
this.correspondents = correspondents.results
this.documentForm.get('correspondent').setValue(newCorrespondent.id)
this.documentForm.get('correspondent').markAsDirty()
- this.removeSuggestion('correspondent', newName)
+ if (this.suggestions) {
+ this.suggestions.suggested_correspondents =
+ this.suggestions.suggested_correspondents.filter(
+ (c) => c !== newName
+ )
+ }
})
}