downcases username on update only
adds tests for username