Fix reassign mechanic admin function, add tests