Add app-based extension and associated tests