diff --git a/.github/file-filters.yml b/.github/file-filters.yml new file mode 100644 index 000000000..80b7482d9 --- /dev/null +++ b/.github/file-filters.yml @@ -0,0 +1,46 @@ +# These file filter patterns are used by the action https://github.com/dorny/paths-filter + +# more differentiated filters for admin interface, which might be used later +# admin_locales: &admin_locales +# - 'admin/src/locales/**' +# - 'admin/scripts/sort*' + +# admin_stylelinting: &admin_stylelinting +# - 'admin/{components,layouts,pages}/**/*.{scss,vue}' +# - 'admin/.stylelintrc.js' + +# admin_linting: &admin_linting +# - 'admin/.eslint*' +# - 'admin/babel.config.js' +# - 'admin/package.json' +# - 'admin/**/*.{js,vue}' +# - *admin_locales + +# admin_unit_testing: &admin_unit_testing +# - 'admin/package.json' +# - 'admin/{jest,vue}.config.js' +# - 'admin/{public,run,test}/**/*' +# - 'admin/src/!(locales)/**/*' + +# admin_docker_building: &admin_docker_building +# - 'admin/.dockerignore' +# - 'admin/Dockerfile' +# - *admin_unit_testing + +admin: &admin + - 'admin/**/*' + +dht_node: &dht_node + - 'dht-node/**/*' + +docker: &docker + - 'docker-compose.*' + +federation: &federation + - 'federation/**/*' + +frontend: &frontend + - 'frontend/**/*' + +nginx: &nginx + - 'nginx/**/*' \ No newline at end of file diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml new file mode 100644 index 000000000..d1dd2851a --- /dev/null +++ b/.github/workflows/e2e-test.yml @@ -0,0 +1,58 @@ +name: Gradido End-to-End Test CI + +on: push + +jobs: + end-to-end-tests: + name: End-to-End Tests + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Boot up test system | docker-compose mariadb + run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach mariadb + + - name: Boot up test system | docker-compose database + run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps database + + - name: Boot up test system | docker-compose backend + run: | + cd backend + cp .env.test_e2e .env + cd .. + docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps backend + + - name: Sleep for 10 seconds + run: sleep 10s + + - name: Boot up test system | seed backend + run: | + sudo chown runner:docker -R * + cd database + yarn && yarn dev_reset + cd ../backend + yarn && yarn seed + cd .. + + - name: Boot up test system | docker-compose frontends + run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps frontend admin nginx + + - name: Boot up test system | docker-compose mailserver + run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps mailserver + + - name: Sleep for 15 seconds + run: sleep 15s + + - name: End-to-end tests | run tests + id: e2e-tests + run: | + cd e2e-tests/ + yarn + yarn run cypress run + - name: End-to-end tests | if tests failed, upload screenshots + if: ${{ failure() && steps.e2e-tests.conclusion == 'failure' }} + uses: actions/upload-artifact@v3 + with: + name: cypress-screenshots + path: /home/runner/work/gradido/gradido/e2e-tests/cypress/screenshots/ diff --git a/.github/workflows/test-admin-interface.yml b/.github/workflows/test-admin-interface.yml new file mode 100644 index 000000000..a163af4e9 --- /dev/null +++ b/.github/workflows/test-admin-interface.yml @@ -0,0 +1,84 @@ +name: Gradido Admin Interface Test CI + +on: push + +jobs: + # only (but most important) job from this workflow required for pull requests + # check results serve as run conditions for all other jobs here + files-changed: + name: Detect File Changes - Admin Interface + runs-on: ubuntu-latest + outputs: + admin: ${{ steps.changes.outputs.admin }} + steps: + - uses: actions/checkout@v3.3.0 + + - name: Check for admin interface file changes + uses: dorny/paths-filter@v2.11.1 + id: changes + with: + token: ${{ github.token }} + filters: .github/file-filters.yml + list-files: shell + + + build_test: + if: needs.files-changed.outputs.admin == 'true' + name: Docker Build Test - Admin Interface + needs: files-changed + runs-on: ubuntu-latest + steps: + + - name: Checkout code + uses: actions/checkout@v3 + + - name: Admin Interface | Build 'test' image + run: docker build --target test -t "gradido/admin:test" admin/ --build-arg NODE_ENV="test" + + unit_test: + if: needs.files-changed.outputs.admin == 'true' + name: Unit Tests - Admin Interface + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Admin Interface | Unit tests + run: cd admin && yarn && yarn run test + + lint: + if: needs.files-changed.outputs.admin == 'true' + name: Lint - Admin Interface + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Admin Interface | Lint + run: cd admin && yarn && yarn run lint + + stylelint: + if: needs.files-changed.outputs.admin == 'true' + name: Stylelint - Admin Interface + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Admin Interface | Stylelint + run: cd admin && yarn && yarn run stylelint + + locales: + if: needs.files-changed.outputs.admin == 'true' + name: Locales - Admin Interface + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Admin Interface | Locales + run: cd admin && yarn && yarn run locales diff --git a/.github/workflows/test-nginx.yml b/.github/workflows/test-nginx.yml new file mode 100644 index 000000000..146e7a117 --- /dev/null +++ b/.github/workflows/test-nginx.yml @@ -0,0 +1,32 @@ +name: Gradido Nginx Test CI + +on: push + +jobs: + files-changed: + name: Detect File Changes - Nginx + runs-on: ubuntu-latest + outputs: + nginx: ${{ steps.changes.outputs.nginx }} + steps: + - uses: actions/checkout@v3.3.0 + + - name: Check for nginx file changes + uses: dorny/paths-filter@v2.11.1 + id: changes + with: + token: ${{ github.token }} + filters: .github/file-filters.yml + list-files: shell + + build_test_nginx: + name: Docker Build Test - Nginx + if: needs.files-changed.outputs.nginx == 'true' + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: nginx | Build 'test' image + run: docker build -t "gradido/nginx:test" nginx/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7819a0703..0fcedb4ce 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,57 +3,6 @@ name: gradido test CI on: push jobs: - ############################################################################## - # JOB: DOCKER BUILD TEST FRONTEND ############################################ - ############################################################################## - build_test_frontend: - name: Docker Build Test - Frontend - runs-on: ubuntu-latest - #needs: [nothing] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # FRONTEND ############################################################### - ########################################################################## - - name: Frontend | Build `test` image - run: | - docker build --target test -t "gradido/frontend:test" frontend/ - docker save "gradido/frontend:test" > /tmp/frontend.tar - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: docker-frontend-test - path: /tmp/frontend.tar - - ############################################################################## - # JOB: DOCKER BUILD TEST ADMIN INTERFACE ##################################### - ############################################################################## - build_test_admin: - name: Docker Build Test - Admin Interface - runs-on: ubuntu-latest - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # ADMIN INTERFACE ######################################################## - ########################################################################## - - name: Admin | Build `test` image - run: | - docker build --target test -t "gradido/admin:test" admin/ --build-arg NODE_ENV="test" - docker save "gradido/admin:test" > /tmp/admin.tar - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: docker-admin-test - path: /tmp/admin.tar - ############################################################################## # JOB: DOCKER BUILD TEST BACKEND ############################################# ############################################################################## @@ -132,212 +81,12 @@ jobs: name: docker-mariadb-test path: /tmp/mariadb.tar - ############################################################################## - # JOB: DOCKER BUILD TEST NGINX ############################################### - ############################################################################## - build_test_nginx: - name: Docker Build Test - Nginx - runs-on: ubuntu-latest - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # BUILD NGINX DOCKER IMAGE ############################################### - ########################################################################## - - name: nginx | Build `test` image - run: | - docker build -t "gradido/nginx:test" nginx/ - docker save "gradido/nginx:test" > /tmp/nginx.tar - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: docker-nginx-test - path: /tmp/nginx.tar - - ############################################################################## - # JOB: LOCALES FRONTEND ###################################################### - ############################################################################## - locales_frontend: - name: Locales - Frontend - runs-on: ubuntu-latest - needs: [build_test_frontend] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Frontend) - uses: actions/download-artifact@v3 - with: - name: docker-frontend-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/frontend.tar - ########################################################################## - # LOCALES FRONTEND ####################################################### - ########################################################################## - - name: Frontend | Locales - run: docker run --rm gradido/frontend:test yarn run locales - - ############################################################################## - # JOB: LINT FRONTEND ######################################################### - ############################################################################## - lint_frontend: - name: Lint - Frontend - runs-on: ubuntu-latest - needs: [build_test_frontend] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Frontend) - uses: actions/download-artifact@v3 - with: - name: docker-frontend-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/frontend.tar - ########################################################################## - # LINT FRONTEND ########################################################## - ########################################################################## - - name: Frontend | Lint - run: docker run --rm gradido/frontend:test yarn run lint - - ############################################################################## - # JOB: STYLELINT FRONTEND #################################################### - ############################################################################## - stylelint_frontend: - name: Stylelint - Frontend - runs-on: ubuntu-latest - needs: [build_test_frontend] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Frontend) - uses: actions/download-artifact@v3 - with: - name: docker-frontend-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/frontend.tar - ########################################################################## - # STYLELINT FRONTEND ##################################################### - ########################################################################## - - name: Frontend | Stylelint - run: docker run --rm gradido/frontend:test yarn run stylelint - - ############################################################################## - # JOB: LINT ADMIN INTERFACE ################################################## - ############################################################################## - lint_admin: - name: Lint - Admin Interface - runs-on: ubuntu-latest - needs: [build_test_admin] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Admin Interface) - uses: actions/download-artifact@v3 - with: - name: docker-admin-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/admin.tar - ########################################################################## - # LINT ADMIN INTERFACE ################################################### - ########################################################################## - - name: Admin Interface | Lint - run: docker run --rm gradido/admin:test yarn run lint - - ############################################################################## - # JOB: STYLELINT ADMIN INTERFACE ############################################## - ############################################################################## - stylelint_admin: - name: Stylelint - Admin Interface - runs-on: ubuntu-latest - needs: [build_test_admin] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Admin Interface) - uses: actions/download-artifact@v3 - with: - name: docker-admin-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/admin.tar - ########################################################################## - # STYLELINT ADMIN INTERFACE ############################################## - ########################################################################## - - name: Admin Interface | Stylelint - run: docker run --rm gradido/admin:test yarn run stylelint - - ############################################################################## - # JOB: LOCALES ADMIN ######################################################### - ############################################################################## - locales_admin: - name: Locales - Admin Interface - runs-on: ubuntu-latest - needs: [build_test_admin] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Admin Interface) - uses: actions/download-artifact@v3 - with: - name: docker-admin-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/admin.tar - ########################################################################## - # LOCALES FRONTEND ####################################################### - ########################################################################## - - name: admin | Locales - run: docker run --rm gradido/admin:test yarn run locales - ############################################################################## # JOB: LINT BACKEND ########################################################## ############################################################################## lint_backend: name: Lint - Backend runs-on: ubuntu-latest - needs: [build_test_backend] steps: ########################################################################## # CHECKOUT CODE ########################################################## @@ -345,20 +94,10 @@ jobs: - name: Checkout code uses: actions/checkout@v3 ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Backend) - uses: actions/download-artifact@v3 - with: - name: docker-backend-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/backend.tar - ########################################################################## # LINT BACKEND ########################################################### ########################################################################## - name: backend | Lint - run: docker run --rm gradido/backend:test yarn run lint + run: cd database && yarn && cd ../backend && yarn && yarn run lint ############################################################################## # JOB: LOCALES BACKEND ####################################################### @@ -366,7 +105,6 @@ jobs: locales_backend: name: Locales - Backend runs-on: ubuntu-latest - needs: [build_test_backend] steps: ########################################################################## # CHECKOUT CODE ########################################################## @@ -385,7 +123,6 @@ jobs: lint_database_up: name: Lint - Database Up runs-on: ubuntu-latest - needs: [build_test_database_up] steps: ########################################################################## # CHECKOUT CODE ########################################################## @@ -393,112 +130,10 @@ jobs: - name: Checkout code uses: actions/checkout@v3 ########################################################################## - # DOWNLOAD DOCKER IMAGE ################################################## - ########################################################################## - - name: Download Docker Image (Backend) - uses: actions/download-artifact@v3 - with: - name: docker-database-test_up - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/database_up.tar - ########################################################################## # LINT DATABASE ########################################################## ########################################################################## - - name: database | Lint - run: docker run --rm gradido/database:test_up yarn run lint - - ############################################################################## - # JOB: UNIT TEST FRONTEND ################################################### - ############################################################################## - unit_test_frontend: - name: Unit tests - Frontend - runs-on: ubuntu-latest - needs: [build_test_frontend] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGES ################################################# - ########################################################################## - - name: Download Docker Image (Frontend) - uses: actions/download-artifact@v3 - with: - name: docker-frontend-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/frontend.tar - ########################################################################## - # UNIT TESTS FRONTEND #################################################### - ########################################################################## - - name: frontend | Unit tests - run: | - docker run --env NODE_ENV=test -v ~/coverage:/app/coverage --rm gradido/frontend:test yarn run test - cp -r ~/coverage ./coverage - ########################################################################## - # COVERAGE REPORT FRONTEND ############################################### - ########################################################################## - #- name: frontend | Coverage report - # uses: romeovs/lcov-reporter-action@v0.2.21 - # with: - # github-token: ${{ secrets.GITHUB_TOKEN }} - # lcov-file: ./coverage/lcov.info - ########################################################################## - # COVERAGE CHECK FRONTEND ################################################ - ########################################################################## - - name: frontend | Coverage check - uses: webcraftmedia/coverage-check-action@master - with: - report_name: Coverage Frontend - type: lcov - result_path: ./coverage/lcov.info - min_coverage: 95 - token: ${{ github.token }} - - ############################################################################## - # JOB: UNIT TEST ADMIN INTERFACE ############################################# - ############################################################################## - unit_test_admin: - name: Unit tests - Admin Interface - runs-on: ubuntu-latest - needs: [build_test_admin] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGES ################################################# - ########################################################################## - - name: Download Docker Image (Admin Interface) - uses: actions/download-artifact@v3 - with: - name: docker-admin-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/admin.tar - ########################################################################## - # UNIT TESTS ADMIN INTERFACE ############################################# - ########################################################################## - - name: Admin Interface | Unit tests - run: | - docker run -v ~/coverage:/app/coverage --rm gradido/admin:test yarn run test - cp -r ~/coverage ./coverage - ########################################################################## - # COVERAGE CHECK ADMIN INTERFACE ######################################### - ########################################################################## - - name: Admin Interface | Coverage check - uses: webcraftmedia/coverage-check-action@master - with: - report_name: Coverage Admin Interface - type: lcov - result_path: ./coverage/lcov.info - min_coverage: 96 - token: ${{ github.token }} + - name: Database | Lint + run: cd database && yarn && yarn run lint ############################################################################## # JOB: UNIT TEST BACKEND #################################################### @@ -535,18 +170,6 @@ jobs: run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps database - name: backend Unit tests | test run: cd database && yarn && yarn build && cd ../backend && yarn && yarn test - # run: docker-compose -f docker-compose.yml -f docker-compose.test.yml exec -T backend yarn test - ########################################################################## - # COVERAGE CHECK BACKEND ################################################# - ########################################################################## - - name: backend | Coverage check - uses: webcraftmedia/coverage-check-action@master - with: - report_name: Coverage Backend - type: lcov - result_path: ./backend/coverage/lcov.info - min_coverage: 80 - token: ${{ github.token }} ########################################################################## # DATABASE MIGRATION TEST UP + RESET ##################################### @@ -570,108 +193,3 @@ jobs: run: docker-compose -f docker-compose.yml run -T database yarn up - name: database | reset run: docker-compose -f docker-compose.yml run -T database yarn reset - - ############################################################################## - # JOB: END-TO-END TESTS ##################################################### - ############################################################################## - end-to-end-tests: - name: End-to-End Tests - runs-on: ubuntu-latest - needs: [build_test_mariadb, build_test_database_up, build_test_backend, build_test_admin, build_test_frontend, build_test_nginx] - steps: - ########################################################################## - # CHECKOUT CODE ########################################################## - ########################################################################## - - name: Checkout code - uses: actions/checkout@v3 - ########################################################################## - # DOWNLOAD DOCKER IMAGES ################################################# - ########################################################################## - - name: Download Docker Image (Mariadb) - uses: actions/download-artifact@v3 - with: - name: docker-mariadb-test - path: /tmp - - name: Load Docker Image (Mariadb) - run: docker load < /tmp/mariadb.tar - - name: Download Docker Image (Database Up) - uses: actions/download-artifact@v3 - with: - name: docker-database-test_up - path: /tmp - - name: Load Docker Image (Database Up) - run: docker load < /tmp/database_up.tar - - name: Download Docker Image (Backend) - uses: actions/download-artifact@v3 - with: - name: docker-backend-test - path: /tmp - - name: Load Docker Image (Backend) - run: docker load < /tmp/backend.tar - - name: Download Docker Image (Frontend) - uses: actions/download-artifact@v3 - with: - name: docker-frontend-test - path: /tmp - - name: Load Docker Image (Frontend) - run: docker load < /tmp/frontend.tar - - name: Download Docker Image (Admin Interface) - uses: actions/download-artifact@v3 - with: - name: docker-admin-test - path: /tmp - - name: Load Docker Image (Admin Interface) - run: docker load < /tmp/admin.tar - - name: Download Docker Image (Nginx) - uses: actions/download-artifact@v3 - with: - name: docker-nginx-test - path: /tmp - - name: Load Docker Image (Nginx) - run: docker load < /tmp/nginx.tar - - ########################################################################## - # BOOT UP THE TEST SYSTEM ################################################ - ########################################################################## - - name: Boot up test system | docker-compose mariadb - run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach mariadb - - - name: Boot up test system | docker-compose database - run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps database - - - name: Boot up test system | docker-compose backend - run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps backend - - - name: Sleep for 10 seconds - run: sleep 10s - - - name: Boot up test system | seed backend - run: | - sudo chown runner:docker -R * - cd database - yarn && yarn dev_reset - cd ../backend - yarn && yarn seed - cd .. - - - name: Boot up test system | docker-compose frontends - run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps frontend admin nginx - - - name: Sleep for 15 seconds - run: sleep 15s - - ########################################################################## - # END-TO-END TESTS ####################################################### - ########################################################################## - - name: End-to-end tests | run tests - id: e2e-tests - run: | - cd e2e-tests/cypress/tests/ - yarn - yarn run cypress run --spec cypress/e2e/User.Authentication.feature - - name: End-to-end tests | if tests failed, upload screenshots - if: steps.e2e-tests.outcome == 'failure' - uses: actions/upload-artifact@v3 - with: - name: cypress-screenshots - path: /home/runner/work/gradido/gradido/e2e-tests/cypress/tests/cypress/screenshots/ diff --git a/.github/workflows/test_dht-node.yml b/.github/workflows/test_dht-node.yml index 5b3a65a70..a57f09399 100644 --- a/.github/workflows/test_dht-node.yml +++ b/.github/workflows/test_dht-node.yml @@ -1,19 +1,40 @@ -name: gradido test_dht-node CI +name: Gradido DHT Node Test CI on: push jobs: + # only (but most important) job from this workflow required for pull requests + # check results serve as run conditions for all other jobs here + files-changed: + name: Detect File Changes - DHT Node + runs-on: ubuntu-latest + outputs: + dht_node: ${{ steps.changes.outputs.dht_node }} + docker: ${{ steps.changes.outputs.docker }} + steps: + - uses: actions/checkout@v3.3.0 + + - name: Check for frontend file changes + uses: dorny/paths-filter@v2.11.1 + id: changes + with: + token: ${{ github.token }} + filters: .github/file-filters.yml + list-files: shell + ############################################################################## # JOB: DOCKER BUILD TEST ##################################################### ############################################################################## build: - name: Docker Build Test + name: Docker Build Test - DHT Node + if: needs.files-changed.outputs.dht_node == 'true' || needs.files-changed.outputs.docker == 'true' + needs: files-changed runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - - name: Build `test` image + - name: Build 'test' image run: | docker build --target test -t "gradido/dht-node:test" -f dht-node/Dockerfile . docker save "gradido/dht-node:test" > /tmp/dht-node.tar @@ -28,31 +49,25 @@ jobs: # JOB: LINT ################################################################## ############################################################################## lint: - name: Lint + name: Lint - DHT Node + if: needs.files-changed.outputs.dht_node == 'true' + needs: files-changed runs-on: ubuntu-latest - needs: [build] steps: - name: Checkout code uses: actions/checkout@v3 - - - name: Download Docker Image - uses: actions/download-artifact@v3 - with: - name: docker-dht-node-test - path: /tmp - - name: Load Docker Image - run: docker load < /tmp/dht-node.tar - name: Lint - run: docker run --rm gradido/dht-node:test yarn run lint + run: cd dht-node && yarn && yarn run lint ############################################################################## # JOB: UNIT TEST ############################################################# ############################################################################## unit_test: - name: Unit tests + name: Unit Tests - DHT Node + if: needs.files-changed.outputs.dht_node == 'true' || needs.files-changed.outputs.docker == 'true' + needs: [files-changed, build] runs-on: ubuntu-latest - needs: [build] steps: - name: Checkout code uses: actions/checkout@v3 @@ -83,16 +98,4 @@ jobs: #- name: Unit tests # run: cd database && yarn && yarn build && cd ../dht-node && yarn && yarn test - name: Unit tests - run: | - docker run --env NODE_ENV=test --env DB_HOST=mariadb --network gradido_internal-net -v ~/coverage:/app/coverage --rm gradido/dht-node:test yarn run test - cp -r ~/coverage ./coverage - - - name: Coverage check - uses: webcraftmedia/coverage-check-action@master - with: - report_name: Coverage dht-node - type: lcov - #result_path: ./dht-node/coverage/lcov.info - result_path: ./coverage/lcov.info - min_coverage: 79 - token: ${{ github.token }} + run: docker run --env NODE_ENV=test --env DB_HOST=mariadb --network gradido_internal-net --rm gradido/dht-node:test yarn run test diff --git a/.github/workflows/test_federation.yml b/.github/workflows/test_federation.yml new file mode 100644 index 000000000..fc29a1bf8 --- /dev/null +++ b/.github/workflows/test_federation.yml @@ -0,0 +1,102 @@ +name: Gradido Federation Test CI + +on: push + +jobs: + # only (but most important) job from this workflow required for pull requests + # check results serve as run conditions for all other jobs here + files-changed: + name: Detect File Changes - Federation + runs-on: ubuntu-latest + outputs: + docker: ${{ steps.changes.outputs.docker }} + federation: ${{ steps.changes.outputs.federation }} + steps: + - uses: actions/checkout@v3.3.0 + + - name: Check for frontend file changes + uses: dorny/paths-filter@v2.11.1 + id: changes + with: + token: ${{ github.token }} + filters: .github/file-filters.yml + list-files: shell + + ############################################################################## + # JOB: DOCKER BUILD TEST ##################################################### + ############################################################################## + build: + name: Docker Build Test - Federation + if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.federation == 'true' + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Build `test` image + run: | + docker build --target test -t "gradido/federation:test" -f federation/Dockerfile . + docker save "gradido/federation:test" > /tmp/federation.tar + + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: docker-federation-test + path: /tmp/federation.tar + + ############################################################################## + # JOB: LINT ################################################################## + ############################################################################## + lint: + name: Lint - Federation + if: needs.files-changed.outputs.federation == 'true' + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Lint + run: cd federation && yarn && yarn run lint + + ############################################################################## + # JOB: UNIT TEST ############################################################# + ############################################################################## + unit_test: + name: Unit Tests - Federation + if: needs.files-changed.outputs.docker == 'true' || needs.files-changed.outputs.federation == 'true' + needs: [files-changed, build] + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Download Docker Image + uses: actions/download-artifact@v3 + with: + name: docker-federation-test + path: /tmp + + - name: Load Docker Image + run: docker load < /tmp/federation.tar + + - name: docker-compose mariadb + run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps mariadb + + - name: Sleep for 30 seconds + run: sleep 30s + shell: bash + + - name: docker-compose database + run: docker-compose -f docker-compose.yml -f docker-compose.test.yml up --detach --no-deps database + + - name: Sleep for 30 seconds + run: sleep 30s + shell: bash + + #- name: Unit tests + # run: cd database && yarn && yarn build && cd ../dht-node && yarn && yarn test + - name: Unit tests + run: | + docker run --env NODE_ENV=test --env DB_HOST=mariadb --network gradido_internal-net --rm gradido/federation:test yarn run test diff --git a/.github/workflows/test_frontend.yml b/.github/workflows/test_frontend.yml new file mode 100644 index 000000000..6dd527079 --- /dev/null +++ b/.github/workflows/test_frontend.yml @@ -0,0 +1,84 @@ +name: Gradido Frontend Test CI + +on: push + +jobs: + # only (but most important) job from this workflow required for pull requests + # check results serve as run conditions for all other jobs here + files-changed: + name: Detect File Changes - Frontend + runs-on: ubuntu-latest + outputs: + frontend: ${{ steps.changes.outputs.frontend }} + steps: + - uses: actions/checkout@v3.3.0 + + - name: Check for frontend file changes + uses: dorny/paths-filter@v2.11.1 + id: changes + with: + token: ${{ github.token }} + filters: .github/file-filters.yml + list-files: shell + + + build_test: + if: needs.files-changed.outputs.frontend == 'true' + name: Docker Build Test - Frontend + needs: files-changed + runs-on: ubuntu-latest + steps: + + - name: Checkout code + uses: actions/checkout@v3 + + - name: Frontend | Build 'test' image + run: docker build --target test -t "gradido/frontend:test" frontend/ --build-arg NODE_ENV="test" + + unit_test: + if: needs.files-changed.outputs.frontend == 'true' + name: Unit Tests - Frontend + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Frontend | Unit tests + run: cd frontend && yarn && yarn run test + + lint: + if: needs.files-changed.outputs.frontend == 'true' + name: Lint - Frontend + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Frontend | Lint + run: cd frontend && yarn && yarn run lint + + stylelint: + if: needs.files-changed.outputs.frontend == 'true' + name: Stylelint - Frontend + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Frontend | Stylelint + run: cd frontend && yarn && yarn run stylelint + + locales: + if: needs.files-changed.outputs.frontend == 'true' + name: Locales - Frontend + needs: files-changed + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Frontend | Locales + run: cd frontend && yarn && yarn run locales diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bfc66e39..8dc91f2fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,76 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.19.1](https://github.com/gradido/gradido/compare/1.19.0...1.19.1) + +- fix(frontend): admin question clickable [`#2810`](https://github.com/gradido/gradido/pull/2810) +- refactor(frontend): change b-img to b-icon send [`#2809`](https://github.com/gradido/gradido/pull/2809) +- fix(admin): update openCreation in case of tab open. [`#2806`](https://github.com/gradido/gradido/pull/2806) +- fix(admin): english language for contributions in admin [`#2804`](https://github.com/gradido/gradido/pull/2804) +- refactor(admin): event buttons for myself turned off in open contributions [`#2760`](https://github.com/gradido/gradido/pull/2760) +- fix(admin): contribution page [`#2794`](https://github.com/gradido/gradido/pull/2794) +- fix(frontend): info.svg [`#2798`](https://github.com/gradido/gradido/pull/2798) +- fix(backend): add relation messages to database query [`#2795`](https://github.com/gradido/gradido/pull/2795) +- fix(admin): header and menu [`#2793`](https://github.com/gradido/gradido/pull/2793) +- fix(frontend): send gdd - change first submit button text to 'Check Now' [`#2774`](https://github.com/gradido/gradido/pull/2774) +- refactor(frontend): creations generated by link NL [`#2771`](https://github.com/gradido/gradido/pull/2771) +- refactor(frontend): creations generated by link (FR) + (NL) [`#2770`](https://github.com/gradido/gradido/pull/2770) +- refactor(frontend): update German locales [`#2765`](https://github.com/gradido/gradido/pull/2765) +- refactor(backend): use find contributions helper for list contributions [`#2762`](https://github.com/gradido/gradido/pull/2762) + +#### [1.19.0](https://github.com/gradido/gradido/compare/1.18.2...1.19.0) + +> 7 March 2023 + +- chore(release): version 1.19.0 [`#2786`](https://github.com/gradido/gradido/pull/2786) +- fix(frontend): change contribution design [`#2731`](https://github.com/gradido/gradido/pull/2731) +- refactor(frontend): commnity navbar- & unauthenticated b-gradido styles [`#2732`](https://github.com/gradido/gradido/pull/2732) +- fix(database): change downwards migration to delete entries with last_announced_at IS NULL [`#2767`](https://github.com/gradido/gradido/pull/2767) +- feat(admin): deleted contributions visible [`#2759`](https://github.com/gradido/gradido/pull/2759) +- feat(other): e2e test user story user registration [`#2753`](https://github.com/gradido/gradido/pull/2753) +- refactor(frontend): style and design changes to a contribution [`#2648`](https://github.com/gradido/gradido/pull/2648) +- test(backend): add tests that ``sendContributionDeleted`` and ``sendContributionDenied`` are called [`#2740`](https://github.com/gradido/gradido/pull/2740) +- fix(backend): set email tls true in test [`#2763`](https://github.com/gradido/gradido/pull/2763) +- refactor(frontend): add visible event an answer question [`#2750`](https://github.com/gradido/gradido/pull/2750) +- refactor(frontend): style sidebar, add icons [`#2737`](https://github.com/gradido/gradido/pull/2737) +- fix(backend): possible flaky test [`#2761`](https://github.com/gradido/gradido/pull/2761) +- fix(backend): emails – adjust namings of menus to new design [`#2756`](https://github.com/gradido/gradido/pull/2756) +- ci(other): rename dht node and federation workflow jobs for better branch protection maintenance [`#2743`](https://github.com/gradido/gradido/pull/2743) +- refactor(backend): combine logic for `listTransactionLinks` & `listTransactionLinksAdmin` [`#2706`](https://github.com/gradido/gradido/pull/2706) +- refactor(backend): remove admin create contributions [`#2724`](https://github.com/gradido/gradido/pull/2724) +- refactor(frontend): remove .vue as imports [`#2725`](https://github.com/gradido/gradido/pull/2725) +- feat(federation): add dht-node to deployment scripts [`#2729`](https://github.com/gradido/gradido/pull/2729) +- fix(frontend): change fetchPolicy, add scripts.update [`#2718`](https://github.com/gradido/gradido/pull/2718) +- refactor(backend): list unconfirmed contribution to admin list all contribution [`#2666`](https://github.com/gradido/gradido/pull/2666) +- refactor(frontend): community routes [`#2721`](https://github.com/gradido/gradido/pull/2721) +- test(backend): authentication tests for TransactionLinkResolver [`#2705`](https://github.com/gradido/gradido/pull/2705) +- refactor(backend): use LogError on errors [`#2679`](https://github.com/gradido/gradido/pull/2679) +- refactor(backend): use LogError on encryptorUtils [`#2678`](https://github.com/gradido/gradido/pull/2678) +- refactor(backend): use LogError on creations [`#2677`](https://github.com/gradido/gradido/pull/2677) +- refactor(other): decrease docker build dependencies in test workflow [`#2719`](https://github.com/gradido/gradido/pull/2719) +- refactor(backend): unit test for the method denyContribution [`#2639`](https://github.com/gradido/gradido/pull/2639) +- refactor(frontend): logo inserted with better quality. [`#2646`](https://github.com/gradido/gradido/pull/2646) +- feat(federation): harmonize and sync modules and data of federation [`#2665`](https://github.com/gradido/gradido/pull/2665) +- feat(federation): add docker and github-workflow files [`#2680`](https://github.com/gradido/gradido/pull/2680) +- feat(other): e2e test user authentication reset password [`#2644`](https://github.com/gradido/gradido/pull/2644) +- refactor(admin): add tabs for all statusus on contributions [`#2623`](https://github.com/gradido/gradido/pull/2623) +- feat(federation): implement a graphql client to request getpublickey [`#2511`](https://github.com/gradido/gradido/pull/2511) +- refactor(frontend): style refactor mobil auth area [`#2643`](https://github.com/gradido/gradido/pull/2643) +- refactor(backend): use LogError on TransactionResolver [`#2676`](https://github.com/gradido/gradido/pull/2676) +- refactor(backend): event protocol rework [`#2691`](https://github.com/gradido/gradido/pull/2691) +- refactor(backend): use LogError on TransactionLinkResolver [`#2673`](https://github.com/gradido/gradido/pull/2673) +- fix(frontend): simple disabled function on submit send [`#2647`](https://github.com/gradido/gradido/pull/2647) +- refactor(frontend): missing message on old transactions [`#2660`](https://github.com/gradido/gradido/pull/2660) +- refactor(admin): remove overview and multi creation menu entry [`#2661`](https://github.com/gradido/gradido/pull/2661) +- feat(other): add locales check to backend and integrate it to test workflow [`#2693`](https://github.com/gradido/gradido/pull/2693) +- refactor(other): add linting rules like in backend modul [`#2695`](https://github.com/gradido/gradido/pull/2695) +- refactor(backend): use LogError on contributionResolver [`#2669`](https://github.com/gradido/gradido/pull/2669) + #### [1.18.2](https://github.com/gradido/gradido/compare/1.18.1...1.18.2) +> 10 February 2023 + +- chore(release): version 1.18.2 [`#2700`](https://github.com/gradido/gradido/pull/2700) - fix(admin): deny contribution button to left [`#2699`](https://github.com/gradido/gradido/pull/2699) #### [1.18.1](https://github.com/gradido/gradido/compare/1.18.0...1.18.1) diff --git a/admin/jest.config.js b/admin/jest.config.js index 9233dd2e7..b6ec1dc80 100644 --- a/admin/jest.config.js +++ b/admin/jest.config.js @@ -1,11 +1,17 @@ module.exports = { verbose: true, + collectCoverage: true, collectCoverageFrom: [ 'src/**/*.{js,vue}', '!**/node_modules/**', '!src/assets/**', '!**/?(*.)+(spec|test).js?(x)', ], + coverageThreshold: { + global: { + lines: 97, + }, + }, moduleFileExtensions: [ 'js', // 'jsx', diff --git a/admin/package.json b/admin/package.json index 941a9bf69..3406c326a 100644 --- a/admin/package.json +++ b/admin/package.json @@ -3,7 +3,7 @@ "description": "Administraion Interface for Gradido", "main": "index.js", "author": "Moriz Wahl", - "version": "1.18.2", + "version": "1.19.1", "license": "Apache-2.0", "private": false, "scripts": { @@ -14,7 +14,7 @@ "analyse-bundle": "yarn build && webpack-bundle-analyzer dist/webpack.stats.json", "lint": "eslint --max-warnings=0 --ext .js,.vue,.json .", "stylelint": "stylelint --max-warnings=0 '**/*.{scss,vue}'", - "test": "cross-env TZ=UTC jest --coverage", + "test": "cross-env TZ=UTC jest", "locales": "scripts/sort.sh" }, "dependencies": { diff --git a/admin/src/App.vue b/admin/src/App.vue index bcaab2ef9..2094e06b1 100644 --- a/admin/src/App.vue +++ b/admin/src/App.vue @@ -6,7 +6,7 @@ diff --git a/admin/src/pages/UserSearch.spec.js b/admin/src/pages/UserSearch.spec.js index 1020d2b00..77e8a3559 100644 --- a/admin/src/pages/UserSearch.spec.js +++ b/admin/src/pages/UserSearch.spec.js @@ -1,5 +1,5 @@ import { mount } from '@vue/test-utils' -import UserSearch from './UserSearch.vue' +import UserSearch from './UserSearch' import { toastErrorSpy, toastSuccessSpy } from '../../test/testSetup' const localVue = global.localVue diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index df49526d7..8f24181ee 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -58,7 +58,7 @@ + diff --git a/frontend/src/components/Template/ContentHeader/NavCommunity.vue b/frontend/src/components/Template/ContentHeader/NavCommunity.vue index 31a839af4..9748eb187 100644 --- a/frontend/src/components/Template/ContentHeader/NavCommunity.vue +++ b/frontend/src/components/Template/ContentHeader/NavCommunity.vue @@ -1,25 +1,19 @@ diff --git a/frontend/src/components/Template/RightSide/ContributionInfo.vue b/frontend/src/components/Template/RightSide/ContributionInfo.vue index 2227df1c3..d2b1c9ac1 100644 --- a/frontend/src/components/Template/RightSide/ContributionInfo.vue +++ b/frontend/src/components/Template/RightSide/ContributionInfo.vue @@ -1,76 +1,10 @@ diff --git a/frontend/src/components/Template/RightSide/LastTransactions.vue b/frontend/src/components/Template/RightSide/LastTransactions.vue index 83b4bae7e..54e959436 100644 --- a/frontend/src/components/Template/RightSide/LastTransactions.vue +++ b/frontend/src/components/Template/RightSide/LastTransactions.vue @@ -55,7 +55,7 @@ diff --git a/frontend/src/layouts/templates/ContentHeader.vue b/frontend/src/layouts/templates/ContentHeader.vue index 407d8dcad..78252e450 100644 --- a/frontend/src/layouts/templates/ContentHeader.vue +++ b/frontend/src/layouts/templates/ContentHeader.vue @@ -9,7 +9,7 @@ export default { name: 'ContentHeader', computed: { path() { - return this.$route.path.replace(/^\//, '') + return this.$route.path.replace(/^\/(.+?)(\/.+)?$/, '$1') }, }, } diff --git a/frontend/src/layouts/templates/RightSide.vue b/frontend/src/layouts/templates/RightSide.vue index 0a92cb1a1..315c374ed 100644 --- a/frontend/src/layouts/templates/RightSide.vue +++ b/frontend/src/layouts/templates/RightSide.vue @@ -10,7 +10,7 @@ export default { name: 'RightSide', computed: { name() { - switch (this.$route.path.replace(/^\//, '')) { + switch (this.$route.path.replace(/^\/(.+?)(\/.+)?$/, '$1')) { case 'settings': return 'empty' case 'community': diff --git a/frontend/src/locales/de.json b/frontend/src/locales/de.json index c826b9e30..719ed4cad 100644 --- a/frontend/src/locales/de.json +++ b/frontend/src/locales/de.json @@ -27,9 +27,9 @@ "moderator": "Moderator", "moderators": "Moderatoren", "myContributions": "Meine Beiträge", - "noOpenContributionLinkText": "Zur Zeit gibt es keine automatischen Schöpfungen.", - "openContributionLinks": "Öffentliche Beitrags-Linkliste", - "openContributionLinkText": "Folgende {count} automatische Schöpfungen werden zur Zeit durch die Gemeinschaft „{name}“ bereitgestellt.", + "noOpenContributionLinkText": "Zur Zeit gibt es keine per Link erzeugte Schöpfungen.", + "openContributionLinks": "Per Link erzeugte Schöpfungen", + "openContributionLinkText": "Die Gemeinschaft „{name}“ unterstützt aktuell {count} per Link erzeugte Schöpfungen:", "submitContribution": "Schreiben" }, "communityInfo": "Gemeinschaft Information", @@ -56,6 +56,7 @@ "openAmountForMonth": "Für {monthAndYear} kannst du noch {creation} GDD einreichen.", "yourContribution": "Dein Beitrag zum Gemeinwohl" }, + "isEdited": "hat den Beitrag bearbeitet", "lastContribution": "Letzte Beiträge", "noContributions": { "allContributions": "Es wurden noch keine Beiträge eingereicht.", @@ -67,6 +68,7 @@ "lastMonth": "Für den ausgewählten Monat ist das Schöpfungslimit erreicht.", "thisMonth": "Für den aktuellen Monat ist das Schöpfungslimit erreicht." }, + "oldContribution": "Vorherige Version", "selectDate": "Wann war dein Beitrag?", "submit": "Einreichen", "submitted": "Der Beitrag wurde eingereicht.", @@ -214,7 +216,6 @@ "factor": "Faktor", "formula": "Berechnungsformel", "funding": "Zu den Förderbeiträgen", - "gdt": "Gradido Transform", "gdt-received": "Gradido Transform (GDT) erhalten", "gdtKonto": "GDT Konto", "no-transactions": "Du hast noch keine Gradido Transform (GDT).", diff --git a/frontend/src/locales/en.json b/frontend/src/locales/en.json index 193aff666..a0c06dc56 100644 --- a/frontend/src/locales/en.json +++ b/frontend/src/locales/en.json @@ -27,9 +27,9 @@ "moderator": "Moderator", "moderators": "Moderators", "myContributions": "My contributions", - "noOpenContributionLinkText": "Currently there are no automatic creations.", - "openContributionLinks": "Open contribution-link list", - "openContributionLinkText": "The following {count} automatic creations are currently provided by the \"{name}\" community.", + "noOpenContributionLinkText": "Currently there are no link-generated creations.", + "openContributionLinks": "Creations generated by link", + "openContributionLinkText": "The \"{name}\" community currently supports {count} link-generated creations:", "submitContribution": "Contribute" }, "communityInfo": "Community Information", @@ -56,6 +56,7 @@ "openAmountForMonth": "For {monthAndYear}, you can still submit {creation} GDD.", "yourContribution": "Your Contributions to the Common Good" }, + "isEdited": "edited the contribution", "lastContribution": "Last Contributions", "noContributions": { "allContributions": "No contributions have been submitted yet.", @@ -67,6 +68,7 @@ "lastMonth": "The creation limit is reached for the selected month.", "thisMonth": "The creation limit has been reached for the current month." }, + "oldContribution": "Previous version", "selectDate": "When was your contribution?", "submit": "Submit", "submitted": "The contribution was submitted.", @@ -214,7 +216,6 @@ "factor": "Factor", "formula": "Calculation formula", "funding": "To the funding contributions", - "gdt": "Gradido Transform", "gdt-received": "Gradido Transform (GDT) received", "gdtKonto": "GDT Konto", "no-transactions": "You do not have Gradido Transform (GDT) yet.", diff --git a/frontend/src/locales/es.json b/frontend/src/locales/es.json index 9441a10a2..725eb10ad 100644 --- a/frontend/src/locales/es.json +++ b/frontend/src/locales/es.json @@ -26,8 +26,9 @@ "moderator": "Moderador", "moderators": "Moderadores", "myContributions": "Mis contribuciones al bien común", - "openContributionLinks": "lista de enlaces de contribuciones públicas", - "openContributionLinkText": "La comunidad \"{name}\" proporciona actualmente las siguientes {count} creaciones automáticas.", + "noOpenContributionLinkText": "Actualmente no hay creaciones generadas por enlaces.", + "openContributionLinks": "Creaciones generadas por enlace", + "openContributionLinkText": "La comunidad \"{name}\" admite actualmente {count} creaciones generadas por enlaces:", "other-communities": "Otras comunidades", "statistic": "Estadísticas", "submitContribution": "escribir", diff --git a/frontend/src/locales/fr.json b/frontend/src/locales/fr.json index 9e2c11fc5..102825acc 100644 --- a/frontend/src/locales/fr.json +++ b/frontend/src/locales/fr.json @@ -27,9 +27,9 @@ "moderator": "Modérateur", "moderators": "Modérateurs", "myContributions": "Mes contributions", - "noOpenContributionLinkText": "Currently there are no automatic creations.", - "openContributionLinks": "liste de liens de contribution publique", - "openContributionLinkText": "Les {count} créations automatiques suivantes sont actuellement fournies par la communauté \"{name}\".", + "noOpenContributionLinkText": "Actuellement, il n'y a pas de créations générées par lien.", + "openContributionLinks": "Créations générées par lien", + "openContributionLinkText": "La communauté \"{name}\" soutient actuellement {count} créations générées par lien:", "submitContribution": "Contribuer" }, "communityInfo": "Information communauté^^", diff --git a/frontend/src/locales/nl.json b/frontend/src/locales/nl.json index 0ac052c47..f1306eda8 100644 --- a/frontend/src/locales/nl.json +++ b/frontend/src/locales/nl.json @@ -26,8 +26,9 @@ "moderator": "Moderator", "moderators": "Moderators", "myContributions": "Mijn bijdragen voor het algemeen belang", - "openContributionLinks": "openbare lijst van bijdragen", - "openContributionLinkText": "De volgende {count} automatische creaties worden momenteel aangeboden door de gemeenschap \"{name}\".", + "noOpenContributionLinkText": "Er zijn momenteel geen link-gegenereerde creaties.", + "openContributionLinks": "Creaties gegenereerd door link", + "openContributionLinkText": "De community \"{name}\" ondersteunt momenteel {count} link-gegenereerde creaties:", "other-communities": "Verdere gemeenschappen", "statistic": "Statistieken", "submitContribution": "schrijf", diff --git a/frontend/src/main.js b/frontend/src/main.js index 0edcb7211..4809e490c 100755 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -1,6 +1,6 @@ import Vue from 'vue' import DashboardPlugin from './plugins/dashboard-plugin' -import App from './App.vue' +import App from './App' import i18n from './i18n.js' import { loadAllRules } from './validation-rules' import { toasters } from './mixins/toaster' diff --git a/frontend/src/pages/Community.spec.js b/frontend/src/pages/Community.spec.js index b4d1677df..28d742fe9 100644 --- a/frontend/src/pages/Community.spec.js +++ b/frontend/src/pages/Community.spec.js @@ -215,7 +215,9 @@ describe('Community', () => { push: routerPushMock, }, $route: { - hash: '#edit', + params: { + tab: 'contribute', + }, }, } @@ -260,7 +262,11 @@ describe('Community', () => { }) it('check for correct tabIndex if state is "IN_PROGRESS" or not', () => { - expect(routerPushMock).toBeCalledWith({ path: '/community#my' }) + expect(routerPushMock).toBeCalledWith({ params: { tab: 'contributions' } }) + }) + + it('sets tab index to 1', () => { + expect(wrapper.vm.tabIndex).toBe(1) }) it('toasts an info', () => { @@ -268,16 +274,6 @@ describe('Community', () => { }) }) - describe('API calls after creation', () => { - it('has a DIV .community-page', () => { - expect(wrapper.find('div.community-page').exists()).toBe(true) - }) - - it('emits update transactions', () => { - expect(wrapper.emitted('update-transactions')).toEqual([[0]]) - }) - }) - describe('save contrubtion', () => { describe('with error', () => { const now = new Date().toISOString() @@ -491,6 +487,10 @@ describe('Community', () => { it('sets tab index back to 0', () => { expect(wrapper.vm.tabIndex).toBe(0) }) + + it('pushes contribute parameter to router', () => { + expect(routerPushMock).toBeCalledWith({ params: { tab: 'contribute' } }) + }) }) describe('update list all contributions', () => { diff --git a/frontend/src/pages/Community.vue b/frontend/src/pages/Community.vue index 113bcd4e4..20e7d3fe6 100644 --- a/frontend/src/pages/Community.vue +++ b/frontend/src/pages/Community.vue @@ -58,12 +58,14 @@ diff --git a/frontend/src/pages/Login.vue b/frontend/src/pages/Login.vue old mode 100755 new mode 100644 index c615d4d16..c02ee0e45 --- a/frontend/src/pages/Login.vue +++ b/frontend/src/pages/Login.vue @@ -2,7 +2,7 @@
{{ $t('gdd_per_link.isFree') }}
- + @@ -24,14 +24,21 @@ - + {{ $t('settings.password.forgot_pwd') }} - - {{ $t('login') }} + + + {{ $t('login') }} + @@ -127,3 +134,13 @@ export default { }, } + diff --git a/frontend/src/pages/Overview.vue b/frontend/src/pages/Overview.vue index 3dc767799..0a9f304af 100644 --- a/frontend/src/pages/Overview.vue +++ b/frontend/src/pages/Overview.vue @@ -4,7 +4,7 @@
+ diff --git a/frontend/src/pages/ResetPassword.vue b/frontend/src/pages/ResetPassword.vue index ec7ae6811..6fa76d994 100644 --- a/frontend/src/pages/ResetPassword.vue +++ b/frontend/src/pages/ResetPassword.vue @@ -1,15 +1,24 @@