user spec refactor part1
add shared examples