diff --git a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts index e81c7c99c..d0974236d 100644 --- a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts +++ b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.spec.ts @@ -131,6 +131,7 @@ describe('EditDialogComponent', () => { }) it('should interpolate object permissions', () => { + component.getMatchingAlgorithms() // coverage component.object = tag component.dialogMode = EditDialogMode.EDIT component.ngOnInit() diff --git a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts index 30384ea31..43253ba8a 100644 --- a/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts +++ b/src-ui/src/app/components/common/edit-dialog/edit-dialog.component.ts @@ -58,8 +58,8 @@ export abstract class EditDialogComponent< objectForm: FormGroup = this.getForm() ngOnInit(): void { - if (this.object != null) { - if (this.object['permissions']) { + if (this.object != null && this.dialogMode !== EditDialogMode.CREATE) { + if ((this.object as ObjectWithPermissions).permissions) { this.object['set_permissions'] = this.object['permissions'] } @@ -69,6 +69,8 @@ export abstract class EditDialogComponent< } this.objectForm.patchValue(this.object) } else { + // e.g. if name was set + this.objectForm.patchValue(this.object) // defaults from settings this.objectForm.patchValue({ permissions_form: { diff --git a/src-ui/src/app/components/common/input/tags/tags.component.spec.ts b/src-ui/src/app/components/common/input/tags/tags.component.spec.ts index 85c492aba..7244560fd 100644 --- a/src-ui/src/app/components/common/input/tags/tags.component.spec.ts +++ b/src-ui/src/app/components/common/input/tags/tags.component.spec.ts @@ -32,11 +32,9 @@ import { CheckComponent } from '../check/check.component' import { IfOwnerDirective } from 'src/app/directives/if-owner.directive' import { TextComponent } from '../text/text.component' import { ColorComponent } from '../color/color.component' -import { IfPermissionsDirective } from 'src/app/directives/if-permissions.directive' import { PermissionsFormComponent } from '../permissions/permissions-form/permissions-form.component' import { SelectComponent } from '../select/select.component' -import { ColorSliderModule } from 'ngx-color/slider' -import { By } from '@angular/platform-browser' +import { SettingsService } from 'src/app/services/settings.service' const tags: PaperlessTag[] = [ { @@ -63,8 +61,8 @@ const tags: PaperlessTag[] = [ describe('TagsComponent', () => { let component: TagsComponent let fixture: ComponentFixture - let input: HTMLInputElement let modalService: NgbModal + let settingsService: SettingsService beforeEach(async () => { TestBed.configureTestingModule({ @@ -110,6 +108,7 @@ describe('TagsComponent', () => { }).compileComponents() modalService = TestBed.inject(NgbModal) + settingsService = TestBed.inject(SettingsService) fixture = TestBed.createComponent(TagsComponent) fixture.debugElement.injector.get(NG_VALUE_ACCESSOR) component = fixture.componentInstance @@ -139,6 +138,7 @@ describe('TagsComponent', () => { }) it('should support create new using last search term and open a modal', () => { + settingsService.currentUser = { id: 1 } let activeInstances: NgbModalRef[] modalService.activeInstances.subscribe((v) => (activeInstances = v)) component.select.searchTerm = 'foobar' diff --git a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts index 9f49e737b..4c3f6004d 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.spec.ts +++ b/src-ui/src/app/components/document-detail/document-detail.component.spec.ts @@ -263,6 +263,7 @@ describe('DocumentDetailComponent', () => { toastService = TestBed.inject(ToastService) documentListViewService = TestBed.inject(DocumentListViewService) settingsService = TestBed.inject(SettingsService) + settingsService.currentUser = { id: 1 } customFieldsService = TestBed.inject(CustomFieldsService) fixture = TestBed.createComponent(DocumentDetailComponent) component = fixture.componentInstance