Skip to content

Commit 817810d

Browse files
committed
chore: improve MidiHandler test
1 parent 031faea commit 817810d

File tree

1 file changed

+21
-8
lines changed

1 file changed

+21
-8
lines changed

src/utils/__tests__/MidiHandler.test.ts

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,16 @@ describe('MidiHandler', () => {
1616
])
1717
};
1818

19-
Object.defineProperty(navigator, 'requestMIDIAccess', {
20-
value: () =>
21-
Promise.resolve({
22-
inputs: source,
23-
outputs: source
24-
})
25-
});
26-
2719
test('listens to events', async () => {
20+
Object.defineProperty(navigator, 'requestMIDIAccess', {
21+
value: () =>
22+
Promise.resolve({
23+
inputs: source,
24+
outputs: source
25+
}),
26+
writable: true
27+
});
28+
2829
const midi = new MidiHandler();
2930
await midi.requestAccess();
3031

@@ -48,4 +49,16 @@ describe('MidiHandler', () => {
4849
expect(listenerUp.mock.calls[0][0]).toBe(60);
4950
expect(listenerDown.mock.calls[0][0]).toBe(62);
5051
});
52+
53+
it('catches denial', async () => {
54+
Object.defineProperty(navigator, 'requestMIDIAccess', {
55+
value: () => Promise.reject(),
56+
writable: true
57+
});
58+
59+
const midi = new MidiHandler();
60+
await midi.requestAccess();
61+
62+
expect(midi.state).toBe('denied');
63+
});
5164
});

0 commit comments

Comments
 (0)