Skip to content

Commit 17fae6d

Browse files
author
Salma Alam-Naylor
committed
Update test coverage
1 parent 88736c7 commit 17fae6d

File tree

9 files changed

+133
-19
lines changed

9 files changed

+133
-19
lines changed

apps/fretonator-web/src/app/common/fret-map/fret-map.service.spec.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1353,6 +1353,49 @@ describe('FretMapService:convertFretMapConfigurationToDisplayString', () => {
13531353
});
13541354
});
13551355

1356+
describe('FretMapService:getNoteExtenderStringFromNoteObject', () => {
1357+
let service: FretMapService;
1358+
1359+
beforeEach(() => {
1360+
TestBed.configureTestingModule({});
1361+
service = TestBed.inject(FretMapService);
1362+
});
1363+
1364+
it('returns NoteExtenderString.flat for a flat note', () => {
1365+
const result = service.getNoteExtenderStringFromNoteObject({
1366+
name: 'b',
1367+
flat: true,
1368+
sharp: false,
1369+
doubleSharp: false,
1370+
doubleFlat: false
1371+
});
1372+
expect(result).toBe('flat');
1373+
});
1374+
1375+
1376+
it('returns NoteExtenderString.sharp for a sharp note', () => {
1377+
const result = service.getNoteExtenderStringFromNoteObject({
1378+
name: 'd',
1379+
flat: false,
1380+
sharp: true,
1381+
doubleSharp: false,
1382+
doubleFlat: false
1383+
});
1384+
expect(result).toBe('sharp');
1385+
});
1386+
1387+
it('returns NoteExtenderString.natural for a natural note', () => {
1388+
const result = service.getNoteExtenderStringFromNoteObject({
1389+
name: 'd',
1390+
flat: false,
1391+
sharp: false,
1392+
doubleSharp: false,
1393+
doubleFlat: false
1394+
});
1395+
expect(result).toBe('natural');
1396+
});
1397+
});
1398+
13561399
describe('FretMapService:getSimilarModes', () => {
13571400
let service: FretMapService;
13581401

apps/fretonator-web/src/app/common/fretonator/fretonator.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
</ng-template>
1717

1818
<div class="fretboard__toggle">
19-
<button class="fretboard__toggleButton fretboard__toggleButton--left"
19+
<button class="fretboard__toggleButton fretboard__toggleButton--twelve"
2020
[class.fretboard__toggleButton--active]="fretMode === fretModes.twelve"
2121
(click)="setFretMode(fretModes.twelve)">12 frets
2222
</button>
23-
<button class="fretboard__toggleButton fretboard__toggleButton--right"
23+
<button class="fretboard__toggleButton fretboard__toggleButton--twentyFour"
2424
[class.fretboard__toggleButton--active]="fretMode === fretModes.twentyFour"
2525
(click)="setFretMode(fretModes.twentyFour)">24 frets
2626
</button>

apps/fretonator-web/src/app/common/fretonator/fretonator.component.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,13 +369,13 @@
369369
color: var(--offwhite);
370370
}
371371

372-
.fretboard__toggleButton--left {
372+
.fretboard__toggleButton--twelve {
373373
border-top-right-radius: 0;
374374
border-bottom-right-radius: 0;
375375
border-right-width: calc(var(--border-width-button) / 2);
376376
}
377377

378-
.fretboard__toggleButton--right {
378+
.fretboard__toggleButton--twentyFour {
379379
border-top-left-radius: 0;
380380
border-bottom-left-radius: 0;
381381
border-left-width: calc(var(--border-width-button) / 2);

apps/fretonator-web/src/app/common/fretonator/fretonator.component.spec.ts

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,20 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing';
22

33
import { FretonatorComponent } from './fretonator.component';
44
import { FretonatorModule } from './fretonator.module';
5-
import { Component } from '@angular/core';
5+
import { Component, DebugElement } from '@angular/core';
6+
import { By } from '@angular/platform-browser';
67

78
describe('FretonatorComponent', () => {
9+
10+
const selectors = {
11+
twelveButton: By.css('.fretboard__toggleButton--twelve'),
12+
twentyFourButton: By.css('.fretboard__toggleButton--twentyFour')
13+
}
14+
15+
const classNames = {
16+
toggleFretButtonSelected: 'fretboard__toggleButton--active'
17+
}
18+
819
@Component({
920
selector: 'app-fretonator-spec',
1021
template: `
@@ -44,4 +55,26 @@ describe('FretonatorComponent', () => {
4455
it('should create', () => {
4556
expect(component).toBeTruthy();
4657
});
58+
59+
describe('setFretMode()', () => {
60+
let twelveButton: DebugElement;
61+
let twentyFourButton: DebugElement;
62+
63+
beforeEach(() => {
64+
twelveButton = fixture.debugElement.query(selectors.twelveButton);
65+
twentyFourButton = fixture.debugElement.query(selectors.twentyFourButton);
66+
});
67+
68+
it('changes the fret mode to twenty four when the button is clicked', () => {
69+
twentyFourButton.nativeElement.click();
70+
fixture.detectChanges();
71+
expect(twentyFourButton.classes[classNames.toggleFretButtonSelected]).toBeTruthy();
72+
});
73+
74+
it('changes the fret mode to twelve when the button is clicked', () => {
75+
twelveButton.nativeElement.click();
76+
fixture.detectChanges();
77+
expect(twelveButton.classes[classNames.toggleFretButtonSelected]).toBeTruthy();
78+
});
79+
});
4780
});

apps/fretonator-web/src/app/common/fretonator/interval-map/convert-interval-integer-to-string.pipe.spec.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,16 @@ describe('ConvertIntervalIntegerToStringPipe', () => {
2323
const result = pipe.transform(3);
2424
expect(result).toBe('aug 2nd');
2525
});
26+
27+
it('returns "min 3rd" for 4', () => {
28+
const pipe = new ConvertIntervalIntegerToStringPipe();
29+
const result = pipe.transform(4);
30+
expect(result).toBe('min 3rd');
31+
});
32+
33+
it('returns "" for something else', () => {
34+
const pipe = new ConvertIntervalIntegerToStringPipe();
35+
const result = pipe.transform(5);
36+
expect(result).toBe('');
37+
});
2638
});

apps/fretonator-web/src/app/common/fretonator/scale-map/scale-map.component.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ <h5 class="scaleDisplay__note">
2020
Play scale
2121
</button>
2222
<button *ngIf="isTheoretical"
23-
class="button__infoToggle"
23+
class="button__infoToggle button__infoToggle--theoretical"
2424
aria-label="Theoretical Scales Info Toggle"
2525
type="button"
2626
(click)="toggleTheoreticalScaleInfo()">{{theoreticalScalesToggleText}}
@@ -38,15 +38,15 @@ <h4 class="scaleMap__title">Degrees</h4>
3838
<span class="degreesDisplay__degree degreesDisplay__degree--dominant"
3939
>5</span>
4040
</div>
41-
<button class="button__infoToggle"
41+
<button class="button__infoToggle button__infoToggle--scaleDegrees"
4242
aria-label="Scale Degrees Info Toggle"
4343
type="button"
4444
(click)="toggleScaleMapInfo()">{{scaleDegreesToggleText}}
4545
</button>
4646
</div>
4747
</div>
4848

49-
<div class="infoBlock"
49+
<div class="infoBlock infoBlock--theoreticalScales"
5050
[attr.aria-expanded]="showTheoreticalScalesInfo"
5151
*ngIf="showTheoreticalScalesInfo">
5252
<h2 class="infoBlock__title">About Theoretical Scales
@@ -69,7 +69,7 @@ <h2 class="infoBlock__title">About Theoretical Scales
6969
>Switch to {{scale[0] | getEnharmonicEquivalent }}</a>
7070
</div>
7171

72-
<div class="infoBlock"
72+
<div class="infoBlock infoBlock--scaleDegrees"
7373
[attr.aria-expanded]="showScaleMapInfo"
7474
*ngIf="showScaleMapInfo">
7575
<h2 class="infoBlock__title">About Scale Degrees

apps/fretonator-web/src/app/common/fretonator/scale-map/scale-map.component.spec.ts

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
22

33
import { ScaleMapComponent } from './scale-map.component';
4-
import { Component } from '@angular/core';
4+
import { Component, DebugElement } from '@angular/core';
55
import { ScaleMapModule } from './scale-map.module';
6+
import { By } from '@angular/platform-browser';
67

78
describe('ScaleMapComponent', () => {
89

10+
const selectors = {
11+
toggleScaleInfo: By.css('.button__infoToggle--scaleDegrees'),
12+
scaleMapDegreesInfo: By.css('.infoBlock--scaleDegrees'),
13+
};
14+
915
@Component({
1016
selector: 'app-scale-map-spec',
1117
template: `
1218
<app-scale-map></app-scale-map>
13-
`,
19+
`
1420
})
1521
class ScaleMapComponentSpec {
1622
}
@@ -20,10 +26,10 @@ describe('ScaleMapComponent', () => {
2026

2127
beforeEach(async(() => {
2228
TestBed.configureTestingModule({
23-
declarations: [ ScaleMapComponentSpec ],
24-
imports: [ ScaleMapModule ]
29+
declarations: [ScaleMapComponentSpec],
30+
imports: [ScaleMapModule]
2531
})
26-
.compileComponents();
32+
.compileComponents();
2733
}));
2834

2935
beforeEach(() => {
@@ -35,4 +41,23 @@ describe('ScaleMapComponent', () => {
3541
it('should create', () => {
3642
expect(component).toBeTruthy();
3743
});
44+
45+
describe('toggleScaleMapInfo()', () => {
46+
let toggleScaleButton: DebugElement;
47+
48+
beforeEach(() => {
49+
toggleScaleButton = fixture.debugElement.query(selectors.toggleScaleInfo);
50+
toggleScaleButton.nativeElement.click();
51+
fixture.detectChanges();
52+
});
53+
54+
it('should show the scale map info', () => {
55+
expect(fixture.debugElement.query(selectors.scaleMapDegreesInfo)).toBeTruthy();
56+
});
57+
58+
it('should update the text on the toggle button', () => {
59+
expect(toggleScaleButton.nativeElement.textContent.trim()).toBe('Hide info');
60+
});
61+
});
3862
});
63+

apps/fretonator-web/src/app/common/header/header.component.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ describe('HeaderComponent', () => {
1515
};
1616

1717
const classNames = {
18-
menuHide: '.header__links--hide'
18+
menuHide: 'header__links--hide'
1919
}
2020

2121
@Component({
@@ -85,7 +85,8 @@ describe('HeaderComponent', () => {
8585
beforeEach(() => {
8686
hamburger = fixture.debugElement.query(selectors.hamburger);
8787
menu = fixture.debugElement.query(selectors.menu);
88-
hamburger.triggerEventHandler('click', new Event('click'));
88+
hamburger.nativeElement.click();
89+
fixture.detectChanges();
8990
});
9091

9192
it('removes the hidden links modifier', () => {

apps/fretonator-web/src/app/pages/home/home-index/__snapshots__/home-index.component.spec.ts.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -343,12 +343,12 @@ exports[`HomeIndexComponent should create 1`] = `
343343
class="fretboard__toggle"
344344
>
345345
<button
346-
class="fretboard__toggleButton fretboard__toggleButton--left fretboard__toggleButton--active"
346+
class="fretboard__toggleButton fretboard__toggleButton--twelve fretboard__toggleButton--active"
347347
>
348348
12 frets
349349
</button>
350350
<button
351-
class="fretboard__toggleButton fretboard__toggleButton--right"
351+
class="fretboard__toggleButton fretboard__toggleButton--twentyFour"
352352
>
353353
24 frets
354354
</button>
@@ -1180,7 +1180,7 @@ exports[`HomeIndexComponent should create 1`] = `
11801180
</div>
11811181
<button
11821182
aria-label="Scale Degrees Info Toggle"
1183-
class="button__infoToggle"
1183+
class="button__infoToggle button__infoToggle--scaleDegrees"
11841184
type="button"
11851185
>
11861186
What is this?

0 commit comments

Comments
 (0)