Есть много тестов, к примеру
тут.
Но это не слишком хорошо отражает градацию.
Попробую обобщить мой опыт.
Junior пишет код под присмотром более опытных программистов, сам делает только простые вещи.
Middle это обычный программист, таких большинство. Он может отлично проходить любые тесты, иметь хороший опыт, знать все тонкости JS. А может и не знать.Но в любом случае он должен справляться с любой разумной задачей.
А senior это не только про JS. Он должен быть специалистом во многих смежных областях, чтобы понимать "философию JS". Как правило такие люди либо сами пишут популярные библиотеки, либо контрибьюторы в них, либо пишут книги. В общем как то двигают язык вперед.
Впрочем, есть компании в которых могут дать миддла студенту, а сеньера рядовому девелоперу. А в некоторых компаниях ступней четыре. Все относительно.