I'm generally assuming that the right course and component names have been used. Short of renaming these perhaps we could make the test names more verbose or add some comments to make the tests more readable?

In this test are we asserting that the number of `signups` has changed? Would it help to call them `waitingSignups`?

For some of the tests it's not clear what the expected point of failure is, e.g. do we want an `IllegalStateException`? I guess it doesn't help that the exceptions we might be expecting are unchecked.

It's hard to say what practical steps would improve the situation or whether it's even worth doing in the first place. Now that I have read through some and understand them, it's hard to say whether they are or aren't readable.