import React from 'react';
import { render } from '@testing-library/react';
import Tone from 'tone';
import { Song, Track, Instrument } from '..';
beforeEach(() => {
jest.resetAllMocks();
});
describe('Song', () => {
it('should render Song with bpm of 100 and then play with volume -3', () => {
const { rerender } = render(
,
);
expect(Tone.Transport.bpm.value).toEqual(100);
expect(Tone.Transport.start).toBeCalledTimes(0);
expect(Tone.Master.volume.value).toEqual(0);
expect(Tone.Master.mute).toEqual(true);
rerender(
,
);
expect(Tone.Transport.start).toBeCalledTimes(1);
expect(Tone.Master.volume.value).toEqual(-3);
expect(Tone.Master.mute).toEqual(false);
});
});