add test with data send
move duplicate methods in a abstract class
add application tests