-
{{'collection.source.controls.test.submit' | translate}}
+ [dsDisabled]="true">
{{'collection.source.controls.test.running' | translate}}
{{'collection.source.controls.import.submit' | translate}}
+ [dsDisabled]="true">
{{'collection.source.controls.import.running' | translate}}
{{'collection.source.controls.reset.submit' | translate}}
+ [dsDisabled]="true">
{{'collection.source.controls.reset.running' | translate}}
diff --git a/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.spec.ts b/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.spec.ts
index 3eb83ebe8a..245fbe4d58 100644
--- a/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.spec.ts
+++ b/src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.spec.ts
@@ -22,6 +22,7 @@ import { TestScheduler } from 'rxjs/testing';
import { By } from '@angular/platform-browser';
import { VarDirective } from '../../../../shared/utils/var.directive';
import { ContentSourceSetSerializer } from '../../../../core/shared/content-source-set-serializer';
+import {DisabledDirective} from '../../../../shared/disabled-directive';
describe('CollectionSourceControlsComponent', () => {
let comp: CollectionSourceControlsComponent;
@@ -100,7 +101,7 @@ describe('CollectionSourceControlsComponent', () => {
TestBed.configureTestingModule({
imports: [TranslateModule.forRoot(), RouterTestingModule],
- declarations: [CollectionSourceControlsComponent, VarDirective],
+ declarations: [CollectionSourceControlsComponent, VarDirective, DisabledDirective],
providers: [
{provide: ScriptDataService, useValue: scriptDataService},
{provide: ProcessDataService, useValue: processDataService},
@@ -189,9 +190,11 @@ describe('CollectionSourceControlsComponent', () => {
const buttons = fixture.debugElement.queryAll(By.css('button'));
- expect(buttons[0].nativeElement.disabled).toBeTrue();
- expect(buttons[1].nativeElement.disabled).toBeTrue();
- expect(buttons[2].nativeElement.disabled).toBeTrue();
+ buttons.forEach(button => {
+ console.log(button.nativeElement);
+ expect(button.nativeElement.getAttribute('aria-disabled')).toBe('true');
+ expect(button.nativeElement.classList.contains('disabled')).toBeTrue();
+ });
});
it('should be enabled when isEnabled is true', () => {
comp.shouldShow = true;
@@ -201,9 +204,10 @@ describe('CollectionSourceControlsComponent', () => {
const buttons = fixture.debugElement.queryAll(By.css('button'));
- expect(buttons[0].nativeElement.disabled).toBeFalse();
- expect(buttons[1].nativeElement.disabled).toBeFalse();
- expect(buttons[2].nativeElement.disabled).toBeFalse();
+ buttons.forEach(button => {
+ expect(button.nativeElement.getAttribute('aria-disabled')).toBe('false');
+ expect(button.nativeElement.classList.contains('disabled')).toBeFalse();
+ });
});
it('should call the corresponding button when clicked', () => {
spyOn(comp, 'testConfiguration');
diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts
index 459095ea67..07bc66da3c 100644
--- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts
+++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts
@@ -11,6 +11,7 @@ import { ItemMetadataRepresentation } from '../../../core/shared/metadata-repres
import { MetadataValue, VIRTUAL_METADATA_PREFIX } from '../../../core/shared/metadata.models';
import { DsoEditMetadataChangeType, DsoEditMetadataValue } from '../dso-edit-metadata-form';
import { By } from '@angular/platform-browser';
+import {DisabledDirective} from '../../../shared/disabled-directive';
const EDIT_BTN = 'edit';
const CONFIRM_BTN = 'confirm';
@@ -49,7 +50,7 @@ describe('DsoEditMetadataValueComponent', () => {
initServices();
TestBed.configureTestingModule({
- declarations: [DsoEditMetadataValueComponent, VarDirective],
+ declarations: [DsoEditMetadataValueComponent, VarDirective, DisabledDirective],
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
providers: [
{ provide: RelationshipDataService, useValue: relationshipService },
@@ -158,7 +159,14 @@ describe('DsoEditMetadataValueComponent', () => {
});
it(`should${disabled ? ' ' : ' not '}be disabled`, () => {
- expect(btn.nativeElement.disabled).toBe(disabled);
+ if (disabled) {
+ expect(btn.nativeElement.getAttribute('aria-disabled')).toBe('true');
+ expect(btn.nativeElement.classList.contains('disabled')).toBeTrue();
+ } else {
+ // Can be null or false, depending on if button was ever disabled so just check not true
+ expect(btn.nativeElement.getAttribute('aria-disabled')).not.toBe('true');
+ expect(btn.nativeElement.classList.contains('disabled')).toBeFalse();
+ }
});
} else {
it('should not exist', () => {
diff --git a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts
index 7067c44fbb..3a431705c3 100644
--- a/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts
+++ b/src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts
@@ -16,6 +16,7 @@ import { DATA_SERVICE_FACTORY } from '../../core/data/base/data-service.decorato
import { Operation } from 'fast-json-patch';
import { RemoteData } from '../../core/data/remote-data';
import { Observable } from 'rxjs/internal/Observable';
+import {DisabledDirective} from '../../shared/disabled-directive';
const ADD_BTN = 'add';
const REINSTATE_BTN = 'reinstate';
@@ -71,7 +72,7 @@ describe('DsoEditMetadataComponent', () => {
notificationsService = jasmine.createSpyObj('notificationsService', ['error', 'success']);
TestBed.configureTestingModule({
- declarations: [DsoEditMetadataComponent, VarDirective],
+ declarations: [DsoEditMetadataComponent, VarDirective, DisabledDirective],
imports: [TranslateModule.forRoot(), RouterTestingModule.withRoutes([])],
providers: [
TestDataService,
@@ -180,7 +181,13 @@ describe('DsoEditMetadataComponent', () => {
});
it(`should${disabled ? ' ' : ' not '}be disabled`, () => {
- expect(btn.nativeElement.disabled).toBe(disabled);
+ if (disabled) {
+ expect(btn.nativeElement.getAttribute('aria-disabled')).toBe('true');
+ expect(btn.nativeElement.classList.contains('disabled')).toBeTrue();
+ } else {
+ expect(btn.nativeElement.getAttribute('aria-disabled')).not.toBe('true');
+ expect(btn.nativeElement.classList.contains('disabled')).toBeFalse();
+ }
});
} else {
it('should not exist', () => {
diff --git a/src/app/forgot-password/forgot-password-form/forgot-password-form.component.html b/src/app/forgot-password/forgot-password-form/forgot-password-form.component.html
index 189d0bee40..1f3df7e333 100644
--- a/src/app/forgot-password/forgot-password-form/forgot-password-form.component.html
+++ b/src/app/forgot-password/forgot-password-form/forgot-password-form.component.html
@@ -28,7 +28,7 @@
{{'forgot-password.form.submit' | translate}}
diff --git a/src/app/info/end-user-agreement/end-user-agreement.component.html b/src/app/info/end-user-agreement/end-user-agreement.component.html
index 2ab0005c69..4b93d631b7 100644
--- a/src/app/info/end-user-agreement/end-user-agreement.component.html
+++ b/src/app/info/end-user-agreement/end-user-agreement.component.html
@@ -7,7 +7,7 @@
{{ 'info.end-user-agreement.buttons.cancel' | translate }}
- {{ 'info.end-user-agreement.buttons.save' | translate }}
+ {{ 'info.end-user-agreement.buttons.save' | translate }}
diff --git a/src/app/info/end-user-agreement/end-user-agreement.component.spec.ts b/src/app/info/end-user-agreement/end-user-agreement.component.spec.ts
index dc4f4cf412..153fe4a51f 100644
--- a/src/app/info/end-user-agreement/end-user-agreement.component.spec.ts
+++ b/src/app/info/end-user-agreement/end-user-agreement.component.spec.ts
@@ -11,6 +11,7 @@ import { Store } from '@ngrx/store';
import { By } from '@angular/platform-browser';
import { LogOutAction } from '../../core/auth/auth.actions';
import { ActivatedRouteStub } from '../../shared/testing/active-router.stub';
+import {DisabledDirective} from '../../shared/disabled-directive';
describe('EndUserAgreementComponent', () => {
let component: EndUserAgreementComponent;
@@ -49,7 +50,7 @@ describe('EndUserAgreementComponent', () => {
init();
TestBed.configureTestingModule({
imports: [TranslateModule.forRoot()],
- declarations: [EndUserAgreementComponent],
+ declarations: [EndUserAgreementComponent, DisabledDirective],
providers: [
{ provide: EndUserAgreementService, useValue: endUserAgreementService },
{ provide: NotificationsService, useValue: notificationsService },
@@ -81,7 +82,8 @@ describe('EndUserAgreementComponent', () => {
it('should disable the save button', () => {
const button = fixture.debugElement.query(By.css('#button-save')).nativeElement;
- expect(button.disabled).toBeTruthy();
+ expect(button.getAttribute('aria-disabled')).toBe('true');
+ expect(button.classList.contains('disabled')).toBeTrue();
});
});
diff --git a/src/app/info/feedback/feedback-form/feedback-form.component.spec.ts b/src/app/info/feedback/feedback-form/feedback-form.component.spec.ts
index c3d38a2876..0507b7173b 100644
--- a/src/app/info/feedback/feedback-form/feedback-form.component.spec.ts
+++ b/src/app/info/feedback/feedback-form/feedback-form.component.spec.ts
@@ -18,6 +18,7 @@ import { Router } from '@angular/router';
import { RouterMock } from '../../../shared/mocks/router.mock';
import { NativeWindowService } from '../../../core/services/window.service';
import { NativeWindowMockFactory } from '../../../shared/mocks/mock-native-window-ref';
+import {DisabledDirective} from '../../../shared/disabled-directive';
describe('FeedbackFormComponent', () => {
@@ -38,7 +39,7 @@ describe('FeedbackFormComponent', () => {
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
imports: [TranslateModule.forRoot()],
- declarations: [FeedbackFormComponent],
+ declarations: [FeedbackFormComponent, DisabledDirective],
providers: [
{ provide: RouteService, useValue: routeServiceStub },
{ provide: UntypedFormBuilder, useValue: new UntypedFormBuilder() },
@@ -72,7 +73,8 @@ describe('FeedbackFormComponent', () => {
});
it('should have disabled button', () => {
- expect(de.query(By.css('button')).nativeElement.disabled).toBeTrue();
+ expect(de.query(By.css('button')).nativeElement.getAttribute('aria-disabled')).toBe('true');
+ expect(de.query(By.css('button')).nativeElement.classList.contains('disabled')).toBeTrue();
});
describe('when message is inserted', () => {
@@ -83,7 +85,8 @@ describe('FeedbackFormComponent', () => {
});
it('should not have disabled button', () => {
- expect(de.query(By.css('button')).nativeElement.disabled).toBeFalse();
+ expect(de.query(By.css('button')).nativeElement.getAttribute('aria-disabled')).toBe('false');
+ expect(de.query(By.css('button')).nativeElement.classList.contains('disabled')).toBeFalse();
});
it('on submit should call createFeedback of feedbackDataServiceStub service', () => {
diff --git a/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.html b/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.html
index 2d4ac89fcc..feffb1066f 100644
--- a/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.html
+++ b/src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.html
@@ -79,7 +79,7 @@
{{'bitstream-request-a-copy.submit' | translate}}
diff --git a/src/app/item-page/edit-item-page/item-move/item-move.component.html b/src/app/item-page/edit-item-page/item-move/item-move.component.html
index d136f003f4..2df52c6651 100644
--- a/src/app/item-page/edit-item-page/item-move/item-move.component.html
+++ b/src/app/item-page/edit-item-page/item-move/item-move.component.html
@@ -40,7 +40,7 @@