downloading components with promises and tests