diff --git a/src/app/components/node-version/node-version-form.component.spec.ts b/src/app/components/node-version/node-version-form.component.spec.ts new file mode 100644 index 000000000..ffb8caeb7 --- /dev/null +++ b/src/app/components/node-version/node-version-form.component.spec.ts @@ -0,0 +1,64 @@ +/*! + * @license + * Alfresco Example Content Application + * + * Copyright (C) 2005 - 2018 Alfresco Software Limited + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + */ + +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { AppNodeVersionFormComponent } from './node-version-form.component'; +import { setupTestBed, CoreModule } from '@alfresco/adf-core'; +import { TestBed } from '@angular/core/testing'; + +describe('AppNodeVersionFormComponent', () => { + let fixture; + let component; + + setupTestBed({ + imports: [CoreModule, NoopAnimationsModule], + declarations: [AppNodeVersionFormComponent] + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AppNodeVersionFormComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should have minor version option selected', () => { + const isSelected = fixture.debugElement.nativeElement + .querySelectorAll('.form__version--option')[0] + .classList.contains('mat-radio-checked'); + + expect(isSelected).toBe(true); + }); + + it('should emit form state on changes', () => { + spyOn(component.update, 'emit'); + + component.form.valueChanges.next({ test: 'test' }); + expect(component.update.emit).toHaveBeenCalledWith({ test: 'test' }); + }); + + it('form should have valid state upon initialization', () => { + expect(component.form.valid).toBe(true); + }); +}); diff --git a/src/app/components/node-version/node-version-form.component.ts b/src/app/components/node-version/node-version-form.component.ts index 5caed5ac1..85b145e03 100644 --- a/src/app/components/node-version/node-version-form.component.ts +++ b/src/app/components/node-version/node-version-form.component.ts @@ -31,7 +31,7 @@ import { Output, EventEmitter } from '@angular/core'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { FormBuilder, FormGroup } from '@angular/forms'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; @@ -50,15 +50,15 @@ export class AppNodeVersionFormComponent implements OnInit, OnDestroy { private onDestroy$: Subject = new Subject(); private versionOptions = [ - { label: 'VERSION.FORM.VERSION.MAJOR', value: 'major' }, - { label: 'VERSION.FORM.VERSION.MINOR', value: 'minor' } + { label: 'VERSION.FORM.VERSION.MINOR', value: 'minor' }, + { label: 'VERSION.FORM.VERSION.MAJOR', value: 'major' } ]; constructor(private formBuilder: FormBuilder) {} ngOnInit() { this.form = this.formBuilder.group({ - comment: ['', Validators.required], + comment: [''], version: [this.versionOptions[0].value] }); diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index fc8441913..7f2d60d45 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -373,8 +373,8 @@ "FORM": { "SUBTITLE": "What level of changes were made to this version?", "VERSION": { - "MINOR": "Minor (2.#)", - "MAJOR": "Major (#.1)" + "MINOR": "Minor (#.1)", + "MAJOR": "Major (2.0)" }, "COMMENT": { "PLACEHOLDER": "Add notes describing what changed"