diff --git a/lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.spec.ts b/lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.spec.ts index c4a832a83f..2d27092fa2 100644 --- a/lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.spec.ts +++ b/lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.spec.ts @@ -21,7 +21,7 @@ import { By } from '@angular/platform-browser'; import { Subject } from 'rxjs'; import { ContentTestingModule } from '../../../testing/content.testing.module'; import { SearchChipAutocompleteInputComponent } from './search-chip-autocomplete-input.component'; -import { DebugElement } from '@angular/core'; +import { DebugElement, SimpleChanges } from '@angular/core'; import { HarnessLoader } from '@angular/cdk/testing'; import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed'; import { MatChipHarness, MatChipGridHarness } from '@angular/material/chips/testing'; @@ -128,6 +128,16 @@ describe('SearchChipAutocompleteInputComponent', () => { expect(component.selectedOptions).toEqual([{ value: 'option1' }]); }); + it('should assign preselected values whenever they are changed', async () => { + const preselectedOptionsChange: SimpleChanges = { + preselectedOptions: { currentValue: [{ value: 'option1' }], previousValue: [], firstChange: false, isFirstChange: () => false } + }; + component.ngOnChanges(preselectedOptionsChange); + fixture.detectChanges(); + expect(component.selectedOptions).toEqual([{ value: 'option1' }]); + expect(await getChipValue(0)).toBe('option1'); + }); + it('should add new option only if value is predefined when allowOnlyPredefinedValues = true', async () => { addNewOption('test'); addNewOption('option1'); diff --git a/lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.ts b/lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.ts index 3373be641d..547a7257be 100644 --- a/lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.ts +++ b/lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.ts @@ -122,6 +122,9 @@ export class SearchChipAutocompleteInputComponent implements OnInit, OnChanges { ? this.filter(changes.autocompleteOptions.currentValue, this.formCtrl.value) : []; } + if (changes.preselectedOptions) { + this.selectedOptions = changes.preselectedOptions.currentValue ?? []; + } } add(event: MatChipInputEvent) {