diff --git a/.travis.yml b/.travis.yml index 42b427a11..04fc54e60 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,9 @@ install: - wait-on http://localhost:7474 script: + - export CYPRESS_RETRIES=1 + - export BRANCH=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo $TRAVIS_PULL_REQUEST_BRANCH; fi) + - echo "TRAVIS_BRANCH=$TRAVIS_BRANCH, PR=$PR, BRANCH=$BRANCH" # Backend - docker-compose exec backend yarn run lint - docker-compose exec backend yarn run test:jest --ci --verbose=false --coverage @@ -34,7 +37,7 @@ script: - docker-compose exec webapp yarn run test --ci --verbose=false --coverage - docker-compose exec -d backend yarn run test:before:seeder # Fullstack - - CYPRESS_RETRIES=1 yarn run cypress:run + - yarn run cypress:run # Coverage - codecov diff --git a/backend/Dockerfile b/backend/Dockerfile index d24f2747e..f0251bddc 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -24,4 +24,5 @@ RUN yarn run build FROM base as production ENV NODE_ENV=production COPY --from=builder /nitro-backend/dist ./dist +COPY ./public/img/ ./public/img/ RUN yarn install --frozen-lockfile --non-interactive diff --git a/backend/src/middleware/fixImageUrlsMiddleware.js b/backend/src/middleware/fixImageUrlsMiddleware.js index c930915bf..3bfa8537a 100644 --- a/backend/src/middleware/fixImageUrlsMiddleware.js +++ b/backend/src/middleware/fixImageUrlsMiddleware.js @@ -6,8 +6,11 @@ const legacyUrls = [ export const fixUrl = url => { legacyUrls.forEach(legacyUrl => { - url = url.replace(legacyUrl, '/api') + url = url.replace(legacyUrl, '') }) + if (!url.startsWith('/')) { + url = `/${url}` + } return url } diff --git a/backend/src/middleware/fixImageUrlsMiddleware.spec.js b/backend/src/middleware/fixImageUrlsMiddleware.spec.js index b2d808dd9..0da66811a 100644 --- a/backend/src/middleware/fixImageUrlsMiddleware.spec.js +++ b/backend/src/middleware/fixImageUrlsMiddleware.spec.js @@ -1,12 +1,19 @@ import { fixImageURLs } from './fixImageUrlsMiddleware' describe('fixImageURLs', () => { + describe('edge case: image url is exact match of legacy url', () => { + it('replaces it with `/`', () => { + const url = 'https://api-alpha.human-connection.org' + expect(fixImageURLs(url)).toEqual('/') + }) + }) + describe('image url of legacy alpha', () => { it('removes domain', () => { const url = 'https://api-alpha.human-connection.org/uploads/4bfaf9172c4ba03d7645108bbbd16f0a696a37d01eacd025fb131e5da61b15d9.png' expect(fixImageURLs(url)).toEqual( - '/api/uploads/4bfaf9172c4ba03d7645108bbbd16f0a696a37d01eacd025fb131e5da61b15d9.png', + '/uploads/4bfaf9172c4ba03d7645108bbbd16f0a696a37d01eacd025fb131e5da61b15d9.png', ) }) }) @@ -16,7 +23,7 @@ describe('fixImageURLs', () => { const url = 'https://staging-api.human-connection.org/uploads/1b3c39a24f27e2fb62b69074b2f71363b63b263f0c4574047d279967124c026e.jpeg' expect(fixImageURLs(url)).toEqual( - '/api/uploads/1b3c39a24f27e2fb62b69074b2f71363b63b263f0c4574047d279967124c026e.jpeg', + '/uploads/1b3c39a24f27e2fb62b69074b2f71363b63b263f0c4574047d279967124c026e.jpeg', ) }) })