Refactor sign_in_spec

Use shared_context and shared_examples to DRY up sign_in_spec

@yozlet ... can you take a look?
move to a let