implement UserRespository and its test case