UPDATE: Thank you to @bbsmooth for pointing out my audio issue. Now my current issue is that it is failing the display test, even though my element with id=“display” does actually display a unique string for each drum-pad trigger.
UPDATE 2: Thanks to @lasjorg for recognizing my display issue with the current version of React. All tests are now passing.
I am not sure why my project is not passing all tests. It says the audio clips aren’t being triggered when the parent element is clicked or the corresponding key is pressed, but if you try it yourself, you will find that it does in fact trigger the audio on click and key press.
I am painfully aware that there are probably better ways to do a lot of things in this project, but I can always go back and clean up. This project was a huge learning experience for me. Please help me figure out why it’s not passing. Thanks in advance.
I don’t think the tests want you to create a new Audio object each time you play a sound. I think they want you call play directly on the <audio> element for the sound.
I don’t have a lot of time to do a deep review, but just reviewing the layout, one thing I noticed that might be an issue is your “display” item.
When a sound is played, the name of the sound is to be displayed in an object with an id of “display”… but in reviewing your code, “display” seems to be a main DIV containing other components of your drumkit. “display” needs to be the id of the object containing the text of your audio sounds.
Not sure if that’s causing some of the other tests to fail, but thats the first thing that caught my eye.
This didn’t affect the audio tests failing, but after I got those passing, the display test isn’t passing even after giving the Display component the id “display”. It is displaying a unique string on each drum-pad trigger, which is what the test requires, yet it’s failing.
Or if you switch back to ReactDOM.render (basically going back to 17) it will pass the tests as well (put it below your arrays and comment out the other ReactDOM code)