diff --git a/ee/app/assets/javascripts/vulnerabilities/components/new_vulnerability/section_identifiers.vue b/ee/app/assets/javascripts/vulnerabilities/components/new_vulnerability/section_identifiers.vue index 05c33335227a8a428c4c50ed97bcf37d28e809d0..4f6e30360f1e534702f4d7fff0660f8af5a51c55 100644 --- a/ee/app/assets/javascripts/vulnerabilities/components/new_vulnerability/section_identifiers.vue +++ b/ee/app/assets/javascripts/vulnerabilities/components/new_vulnerability/section_identifiers.vue @@ -21,6 +21,11 @@ export default { identifiers: [{ identifierCode: '', identifierUrl: '' }], }; }, + watch: { + identifiers() { + this.emitChanges(); + }, + }, methods: { emitChanges() { this.$emit('change', { @@ -35,7 +40,6 @@ export default { }, removeIdentifier(index) { this.identifiers.splice(index, 1); - this.emitChanges(); }, // null is when the user didn't input anything yet // false when the user provided invalid input and diff --git a/ee/spec/frontend/vulnerabilities/new_vulnerability/section_identifiers_spec.js b/ee/spec/frontend/vulnerabilities/new_vulnerability/section_identifiers_spec.js index c33b3160fcff443db22b42896ae553f342140971..692ec14f3c207b06ede84148e27cd5b505876d39 100644 --- a/ee/spec/frontend/vulnerabilities/new_vulnerability/section_identifiers_spec.js +++ b/ee/spec/frontend/vulnerabilities/new_vulnerability/section_identifiers_spec.js @@ -80,6 +80,13 @@ describe('New vulnerability - Section Identifiers', () => { expect(findIdentifierRows()).toHaveLength(2); + expect(wrapper.emitted('change')[0][0]).toEqual({ + identifiers: [ + { name: '', url: '' }, + { name: '', url: '' }, + ], + }); + wrapper.findByLabelText('Remove identifier row').trigger('click'); await nextTick();