chore(channel): add test and base for channel