diff --git a/.github/helpers/.env-selenium b/.github/helpers/.env-selenium new file mode 100644 index 0000000000..99acb3b9ef --- /dev/null +++ b/.github/helpers/.env-selenium @@ -0,0 +1,15 @@ +REDIS_INSTANCE=redis:6379 +PYTHONUNBUFFERED=1 +SECRET_KEY=secretkey +ENV=dev +DEBUG=true +CELERY_BROKER_URL=redis://redis:6379/0 +CELERY_RESULT_BACKEND=redis://redis:6379/0 +CACHE_LOCATION=redis://redis:6379/1 +DATABASE_URL=postgis://postgres:postgres@db:5432/postgres +DATABASE_URL_HUB_MIS=postgis://postgres:postgres@db:5432/mis_datahub +DATABASE_URL_HUB_CA=postgis://postgres:postgres@db:5432/ca_datahub +DATABASE_URL_HUB_ERP=postgis://postgres:postgres@db:5432/erp_datahub +DATABASE_URL_HUB_REGISTRATION=postgis://postgres:postgres@db:5432/rdi_datahub +USE_DUMMY_EXCHANGE_RATES=yes +CELERY_TASK_ALWAYS_EAGER=true \ No newline at end of file diff --git a/.github/helpers/.env-unit b/.github/helpers/.env-unit new file mode 100644 index 0000000000..0f765bbb08 --- /dev/null +++ b/.github/helpers/.env-unit @@ -0,0 +1,20 @@ +ENV=dev +SECRET_KEY=31283012-38dasda +POSTGRES_DB=postgres +POSTGRES_USER=postgres +POSTGRES_PASSWORD=postgres +DATABASE_URL=postgis://postgres:postgres@db:5432/postgres +DATABASE_URL_HUB_MIS=postgis://postgres:postgres@db:5432/mis_datahub +DATABASE_URL_HUB_CA=postgis://postgres:postgres@db:5432/ca_datahub +DATABASE_URL_HUB_ERP=postgis://postgres:postgres@db:5432/erp_datahub +DATABASE_URL_HUB_REGISTRATION=postgis://postgres:postgres@db:5432/rdi_datahub +POSTGRES_SSL_MODE=off +EMAIL_HOST=TBD +EMAIL_HOST_USER=TBD +EMAIL_HOST_PASSWORD=TBD +KOBO_KF_URL=https://kobo.humanitarianresponse.info +KOBO_KC_URL=https://kobo.humanitarianresponse.info +KOBO_MASTER_API_TOKEN=token +EXCHANGE_RATES_API_KEY=token +REDIS_INSTANCE=redis:6379 +PYTHONUNBUFFERED=1 \ No newline at end of file diff --git a/deployment/.gitignore b/.github/helpers/.gitignore similarity index 78% rename from deployment/.gitignore rename to .github/helpers/.gitignore index 1c375916a4..2a1215bad8 100644 --- a/deployment/.gitignore +++ b/.github/helpers/.gitignore @@ -1 +1,3 @@ pipeline-*secret* + +.env \ No newline at end of file diff --git a/deployment/bump_version.sh b/.github/helpers/bump_version.sh similarity index 100% rename from deployment/bump_version.sh rename to .github/helpers/bump_version.sh diff --git a/backend/dev.sh b/.github/helpers/dev.sh similarity index 94% rename from backend/dev.sh rename to .github/helpers/dev.sh index c48220eba9..ca25a814cc 100755 --- a/backend/dev.sh +++ b/.github/helpers/dev.sh @@ -20,8 +20,7 @@ else --cov-report xml:coverage.xml \ --randomly-seed=42 \ --create-db \ - hct_mis_api/ \ - tests/ + /tests/unit/ ;; "lint") mkdir -p ./lint-results diff --git a/.github/helpers/docker-compose.selenium.yml b/.github/helpers/docker-compose.selenium.yml new file mode 100644 index 0000000000..c03d1381a5 --- /dev/null +++ b/.github/helpers/docker-compose.selenium.yml @@ -0,0 +1,48 @@ +volumes: + backend-web-app: + +services: + backend: + volumes: + - ../src/report/screenshot/:/code/screenshot/ + - ../src/report/:/code/report/ + - type: volume + source: backend-web-app + target: /code/hct_mis_api/apps/web + volume: + nocopy: false + depends_on: + db: + condition: service_started + redis: + condition: service_started + elasticsearch: + condition: service_started + celery_worker: + condition: service_started + init_fe: + condition: service_completed_successfully + env_file: + - .env-selenium + + init_fe: + image: ${dist_backend_image} + volumes: + - backend-web-app:/tmp/ + command: | + sh -c " + cp -r ./hct_mis_api/apps/web/* /tmp/ + " + restart: "no" + + celery_worker: + image: ${dev_backend_image} + restart: unless-stopped + command: "celery -A hct_mis_api.apps.core.celery worker -E -l info" + depends_on: + - db + - redis + - elasticsearch + env_file: + - .env-selenium + diff --git a/compose.selenium.local.yml b/.github/helpers/docker-compose.tst.yml similarity index 62% rename from compose.selenium.local.yml rename to .github/helpers/docker-compose.tst.yml index 38e8c103fe..f9cb7512ab 100644 --- a/compose.selenium.local.yml +++ b/.github/helpers/docker-compose.tst.yml @@ -1,23 +1,21 @@ -version: "3.7" - -volumes: - backend-data-selenium: - backend-web-app-selenium: - db-selenium-data: - data_es-selenium: - services: - redis: - restart: always - image: redis:4.0.11-alpine3.8 - ports: - - 6379:6379 - db_selenium: + backend: + image: ${dev_backend_image} + volumes: + - ../../src/test-coverage:/code/backend/test-coverage + - ./dev.sh:/code/dev.sh + depends_on: + - db + - redis + - elasticsearch + env_file: + - .env-unit + + db: image: kartoza/postgis:14-3 volumes: - - db-selenium-data:/var/lib/postgresql/data - - ./postgres/init:/docker-entrypoint-initdb.d + - ../../development_tools/postgres/init:/docker-entrypoint-initdb.d environment: - POSTGRES_MULTIPLE_DATABASES=unicef_hct_mis_cashassist,rdi_datahub,mis_datahub,erp_datahub,ca_datahub - POSTGRES_DB=postgres @@ -27,14 +25,16 @@ services: - POSTGRES_HOST_AUTH_METHOD=trust - POSTGRES_SSL_MODE=off ports: - - 5432:5432 + - "5433:5432" + + redis: + restart: unless-stopped + image: redis:4.0.11-alpine3.8 elasticsearch: image: unicef/hct-elasticsearch - container_name: elasticsearch build: - context: elasticsearch - dockerfile: Dockerfile + context: ../../development_tools/elasticsearch environment: - node.name=es01 - cluster.name=es-docker-cluster @@ -46,7 +46,3 @@ services: memlock: soft: -1 hard: -1 - volumes: - - data_es-selenium:/usr/share/elasticsearch/data - ports: - - 9200:9200 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6f07b773fb..abddcdc030 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,18 +33,18 @@ jobs: uses: actions/cache@v2 with: path: | - frontend/node_modules - frontend/.yarn - frontend/.yarn/cache + src/frontend/node_modules + src/frontend/.yarn + src/frontend/.yarn/cache key: ${{ runner.os }}-node-${{ hashFiles('frontend/yarn.lock') }} restore-keys: | ${{ runner.os }}-node- - run: yarn install --frozen-lockfile - working-directory: frontend + working-directory: src/frontend - run: yarn lint - working-directory: frontend + working-directory: src/frontend - run: yarn test --watchAll=false - working-directory: frontend + working-directory: src/frontend build_and_push_dev: runs-on: ubuntu-latest @@ -207,7 +207,7 @@ jobs: --push ./" if [ "${{ github.ref }}" = "refs/heads/master" ]; then - version=$(python3 -c "import sys; version=None; [version:=line.split('=')[1].strip().strip('\"') for line in open('backend/pyproject.toml', 'r') if line.strip().startswith('version =')]; print(version if version else sys.exit(1))") + version=$(python3 -c "import sys; version=None; [version:=line.split('=')[1].strip().strip('\"') for line in open('src/pyproject.toml', 'r') if line.strip().startswith('version =')]; print(version if version else sys.exit(1))") tagged_image=${{ vars.DOCKERHUB_ORGANIZATION }}/hope:core-$version build_command="$build_command -t $tagged_image" fi @@ -228,13 +228,15 @@ jobs: - name: Unit tests run: | - backend_image=${{ vars.DOCKERHUB_ORGANIZATION }}/hope-support-images:core-${{ github.sha }}-dev docker compose \ - -f ./deployment/docker-compose.tst.yml \ + # a little hack to allow to have 1 compose file running 2 different test suites because --env-file didn't work as docs suggested it should + dev_backend_image=${{ vars.DOCKERHUB_ORGANIZATION }}/hope-support-images:core-${{ github.sha }}-dev docker compose \ + -f ./.github/helpers/docker-compose.tst.yml \ + --profile unit \ run backend ./dev.sh test - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 with: - files: ./backend/coverage.xml + files: ./src/coverage.xml flags: unittests token: ${{ secrets.CODECOV_TOKEN }} verbose: true @@ -253,27 +255,32 @@ jobs: - name: E2E tests run: | - compose_file=./deployment/docker-compose.selenium-night.yml + extra_options="" + if [ "${{ github.event_name }}" = "pull_request" ]; then - compose_file=./deployment/docker-compose.selenium.yml + extra_options="-m 'not night'" fi dist_backend_image=${{ vars.DOCKERHUB_ORGANIZATION }}/hope-support-images:core-${{ github.sha }}-dist dev_backend_image=${{ vars.DOCKERHUB_ORGANIZATION }}/hope-support-images:core-${{ github.sha }}-dev docker compose \ - -f $compose_file \ - run selenium + -f ./.github/helpers/docker-compose.tst.yml \ + -f ./.github/helpers/docker-compose.selenium.yml \ + run backend bash -c " + waitforit -host=db -port=5432 -timeout=30 + pytest -svvv $extra_options /tests/selenium --cov-report xml:./coverage.xml --html-report=./report/report.html --randomly-seed=42 + " - name: Upload Artifact uses: actions/upload-artifact@v4 if: always() continue-on-error: true with: name: report - path: ./backend/report/ + path: ./src/report/ retention-days: 5 - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 if: always() continue-on-error: true with: - files: ./backend/coverage.xml + files: ./src/coverage.xml flags: e2e token: ${{ secrets.CODECOV_TOKEN }} verbose: true diff --git a/.gitignore b/.gitignore index cf1eeb3395..1719e999f2 100644 --- a/.gitignore +++ b/.gitignore @@ -46,7 +46,7 @@ pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ -.coverage +.coveragep .coverage.* .cache nosetests.xml @@ -91,6 +91,7 @@ celerybeat-schedule *.sage.py # Environments +development_tools/.env .env .envrc .venv diff --git a/backend/compare_coverage.py b/backend/compare_coverage.py deleted file mode 100644 index fd52282202..0000000000 --- a/backend/compare_coverage.py +++ /dev/null @@ -1,40 +0,0 @@ -import sys -import xml.etree.ElementTree as ET -from decimal import Decimal -from typing import Optional - -new_file_argument = sys.argv[1] -old_file_argument = sys.argv[2] if len(sys.argv) == 3 else None -if not new_file_argument: - print("no new file argument, skipping coverage check") - exit(0) - - -def get_coverage_from_report(file_path: str) -> Optional[Decimal]: - try: - tree = ET.parse(file_path) - root = tree.getroot() - lines_valid = Decimal(root.get("lines-valid")) # type: ignore - lines_covered = Decimal(root.get("lines-covered")) # type: ignore - coverage = lines_covered / lines_valid - return coverage - except (FileNotFoundError, IsADirectoryError): - return None - - -current_coverage = get_coverage_from_report(new_file_argument) -previous_coverage: Optional[Decimal] = Decimal("0.0") -if old_file_argument: - previous_coverage = get_coverage_from_report(old_file_argument) -if previous_coverage is None: - print("could not get previous coverage, current coverage is", current_coverage) - exit(0) -if current_coverage is None: - print("could not get current coverage, previous coverage was", previous_coverage) - exit(0) -elif current_coverage - previous_coverage < Decimal(0.0): - print(f"coverage decreased from {previous_coverage} to {current_coverage}") - exit(1) -else: - print(f"coverage ok \nprevious coverage: {previous_coverage} \ncurrent coverage: {current_coverage}") - exit(0) diff --git a/backend/specific.json b/backend/specific.json deleted file mode 100644 index 27cf0063fc..0000000000 --- a/backend/specific.json +++ /dev/null @@ -1,72 +0,0 @@ -[ -{ - "model": "core.datacollectingtype", - "pk": 1, - "fields": { - "created": "2023-09-25T17:57:16.282Z", - "modified": "2023-09-25T17:57:16.282Z", - "code": "partial_individuals", - "description": "Partial individuals collected", - "active": true, - "individual_filters_available": false, - "compatible_types": [], - "limit_to": [] - } -}, -{ - "model": "core.datacollectingtype", - "pk": 2, - "fields": { - "created": "2023-09-25T17:57:16.284Z", - "modified": "2023-09-25T17:57:16.284Z", - "code": "full_collection", - "description": "Full individual collected", - "active": true, - "individual_filters_available": false, - "compatible_types": [], - "limit_to": [] - } -}, -{ - "model": "core.datacollectingtype", - "pk": 3, - "fields": { - "created": "2023-09-25T17:57:16.285Z", - "modified": "2023-09-25T17:57:16.285Z", - "code": "size_only", - "description": "Size only collected", - "active": true, - "individual_filters_available": false, - "compatible_types": [], - "limit_to": [] - } -}, -{ - "model": "core.datacollectingtype", - "pk": 4, - "fields": { - "created": "2023-09-25T17:57:16.286Z", - "modified": "2023-09-25T17:57:16.286Z", - "code": "size_age_gender_disaggregated", - "description": "No individual data", - "active": true, - "individual_filters_available": false, - "compatible_types": [], - "limit_to": [] - } -}, -{ - "model": "core.datacollectingtype", - "pk": 5, - "fields": { - "created": "2023-09-25T17:57:16.287Z", - "modified": "2023-09-25T17:57:16.287Z", - "code": "unknown", - "description": "Unknown", - "active": true, - "individual_filters_available": false, - "compatible_types": [], - "limit_to": [] - } -} -] diff --git a/backend/tests/apps/utils/__init__.py b/backend/tests/apps/utils/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/backend/tests/conftest.py b/backend/tests/conftest.py deleted file mode 100644 index 9c4ecea267..0000000000 --- a/backend/tests/conftest.py +++ /dev/null @@ -1 +0,0 @@ -from .fixtures import * # noqa: ABS101, F403, F401 diff --git a/compose.display.yml b/compose.display.yml deleted file mode 100644 index d90854dcff..0000000000 --- a/compose.display.yml +++ /dev/null @@ -1,134 +0,0 @@ -version: '3.7' - -volumes: - backend-data-selenium: - backend-web-app-selenium: - db-selenium: - data_es-selenium: - -services: - selenium: - stdin_open: true - image: unicef/hct-mis-backend-dev - environment: - - REDIS_INSTANCE=redis:6379 - - PYTHONUNBUFFERED=1 - - SECRET_KEY=secretkey - - ENV=dev - - DEBUG=true - - CELERY_BROKER_URL=redis://redis:6379/0 - - CELERY_RESULT_BACKEND=redis://redis:6379/0 - - CACHE_LOCATION=redis://redis:6379/1 - - DATABASE_URL=postgis://postgres:postgres@db:5432/postgres - - DATABASE_URL_HUB_MIS=postgis://postgres:postgres@db:5432/mis_datahub - - DATABASE_URL_HUB_CA=postgis://postgres:postgres@db:5432/ca_datahub - - DATABASE_URL_HUB_ERP=postgis://postgres:postgres@db:5432/erp_datahub - - DATABASE_URL_HUB_REGISTRATION=postgis://postgres:postgres@db:5432/rdi_datahub - - USE_DUMMY_EXCHANGE_RATES=yes - - CELERY_TASK_ALWAYS_EAGER=true - - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 - - DISPLAY=host.docker.internal:0 - - STREAM=true - build: - context: ./ - dockerfile: docker/Dockerfile - target: dev - volumes: - - ./backend/report/screenshot/:/code/screenshot/ - - ./backend/report/:/code/report/ - - backend-data:/data - - /tmp/.X11-unix:/tmp/.X11-unix - - $HOME/.Xauthority:/root/.Xauthority:rw - - backend-data-selenium:/data - - ./backend/selenium_tests:/code/selenium_tests - - type: volume - source: backend-web-app-selenium - target: /code/hct_mis_api/apps/web/static - volume: - nocopy: false - command: | - sh -c " - waitforit -host=db -port=5432 -timeout=30 && - pytest -svvv selenium_tests --html-report=./report/report.html - " - ports: - - "8080:8080" - depends_on: - db: - condition: service_started - redis: - condition: service_started - elasticsearch: - condition: service_started - init_fe: - condition: service_completed_successfully - selenium-hub: - condition: service_started - - init_fe: - image: unicef/hct-mis-backend-dist - build: - context: ./ - dockerfile: docker/Dockerfile - target: dist - volumes: - - backend-web-app-selenium:/tmp - command: | - sh -c " - cp -r ./hct_mis_api/apps/web/static/* /tmp/ - " - restart: "no" - - - redis: - restart: always - image: redis:4.0.11-alpine3.8 - expose: - - "6379" - - db: - image: kartoza/postgis:14-3 - volumes: - - db-selenium:/var/lib/postgresql/data - - ./postgres/init:/docker-entrypoint-initdb.d - environment: - - POSTGRES_MULTIPLE_DATABASES=unicef_hct_mis_cashassist,rdi_datahub,mis_datahub,erp_datahub,ca_datahub - - POSTGRES_DB=postgres - - POSTGRES_USER=postgres - - POSTGRES_PASS=postgres - - PGUSER=postgres - - POSTGRES_HOST_AUTH_METHOD=trust - - POSTGRES_SSL_MODE=off - ports: - - "5433:5432" - - elasticsearch: - image: unicef/hct-elasticsearch - container_name: elasticsearch - build: - context: elasticsearch - dockerfile: Dockerfile - environment: - - node.name=es01 - - cluster.name=es-docker-cluster - - cluster.initial_master_nodes=es01 - - bootstrap.memory_lock=true - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - - xpack.security.enabled=false - ulimits: - memlock: - soft: -1 - hard: -1 - volumes: - - data_es-selenium:/usr/share/elasticsearch/data - ports: - - 9200:9200 - - selenium-hub: - image: selenium/hub:latest - ports: - - "4442:4442" - - "4443:4443" - - "4444:4444" \ No newline at end of file diff --git a/compose.dist.yml b/compose.dist.yml deleted file mode 100644 index 5ce3a7da59..0000000000 --- a/compose.dist.yml +++ /dev/null @@ -1,118 +0,0 @@ -version: '3.7' - -volumes: - backend-data: - db: - db_ca: - db_mis: - db_erp: - db_reg: - data_es: - data_es_test: - ipython_data_local: - - -services: - redis: - restart: always - image: redis:4.0.11-alpine3.8 - expose: - - "6379" - - backend: - stdin_open: true - entrypoint: entrypoint.sh - command: dev - env_file: - - .env - environment: - - REDIS_INSTANCE=redis:6379 - - PYTHONUNBUFFERED=1 - build: - context: ./ - dockerfile: docker/Dockerfile - target: dist - ports: - - "80:80" - - "8000:8000" - depends_on: - - db - - redis - - elasticsearch - - celery_worker: - stdin_open: true - tty: true - build: - context: ./ - dockerfile: docker/Dockerfile - target: be-dist - command: celery -A hct_mis_api.apps.core.celery worker -E -l info -Q default,priority - env_file: - - .env - environment: - - REDIS_INSTANCE=redis:6379 - volumes: - - ./backend:/code/ - - backend-data:/data - restart: always - depends_on: - - backend - - db - - redis - - elasticsearch - - celery-beat: - stdin_open: true - tty: true - build: - context: ./ - dockerfile: docker/Dockerfile - target: be-dist - env_file: - - .env - environment: - - REDIS_INSTANCE=redis:6379 - volumes: - - ./backend:/code/ - - backend-data:/data - restart: always - command: "celery-beat" - depends_on: - - backend - - db - - redis - - elasticsearch - - db: - image: kartoza/postgis:14-3 - volumes: - - db:/var/lib/postgresql/data - - ./postgres/init:/docker-entrypoint-initdb.d - environment: - POSTGRES_MULTIPLE_DATABASES: unicef_hct_mis_cashassist,rdi_datahub,mis_datahub,erp_datahub,ca_datahub - env_file: - - .env - ports: - - "5433:5432" - - elasticsearch: - container_name: elasticsearch - build: - context: elasticsearch - dockerfile: Dockerfile - environment: - - node.name=es01 - - cluster.name=es-docker-cluster - - cluster.initial_master_nodes=es01 - - bootstrap.memory_lock=true - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - - xpack.security.enabled=false - ulimits: - memlock: - soft: -1 - hard: -1 - volumes: - - data_es:/usr/share/elasticsearch/data - ports: - - 9200:9200 diff --git a/compose.selenium.yml b/compose.selenium.yml deleted file mode 100644 index cbf13912bd..0000000000 --- a/compose.selenium.yml +++ /dev/null @@ -1,116 +0,0 @@ -version: "3.7" - -volumes: - backend-data-selenium: - backend-web-app-selenium: - db-selenium-data: - data_es-selenium: - -services: - selenium: - platform: linux/amd64 - stdin_open: true - tty: true - image: unicef/hct-mis-backend-dev - shm_size: 2gb - environment: - - REDIS_INSTANCE=redis:6379 - - PYTHONUNBUFFERED=1 - - SECRET_KEY=secretkey - - ENV=dev - - DEBUG=true - - CELERY_BROKER_URL=redis://redis:6379/0 - - CELERY_RESULT_BACKEND=redis://redis:6379/0 - - CACHE_LOCATION=redis://redis:6379/1 - - DATABASE_URL=postgis://postgres:postgres@db_selenium:5432/postgres - - DATABASE_URL_HUB_MIS=postgis://postgres:postgres@db_selenium:5432/mis_datahub - - DATABASE_URL_HUB_CA=postgis://postgres:postgres@db_selenium:5432/ca_datahub - - DATABASE_URL_HUB_ERP=postgis://postgres:postgres@db_selenium:5432/erp_datahub - - DATABASE_URL_HUB_REGISTRATION=postgis://postgres:postgres@db_selenium:5432/rdi_datahub - - USE_DUMMY_EXCHANGE_RATES=yes - - CELERY_TASK_ALWAYS_EAGER=true - build: - context: ./ - dockerfile: docker/Dockerfile - target: dev - volumes: - - ./backend/report/screenshot/:/code/screenshot/ - - ./backend/report/:/code/report/ - - backend-data-selenium:/data - - ./backend/selenium_tests:/code/selenium_tests - - ./backend/hct_mis_api:/code/hct_mis_api - - type: volume - source: backend-web-app-selenium - target: /code/hct_mis_api/apps/web/static - volume: - nocopy: false - command: | - sh -c " - waitforit -host=db_selenium -port=5432 -timeout=30 && - pytest -svvv -x selenium_tests --html-report=./report/report.html - " - ports: - - "8080:8080" - depends_on: - db_selenium: - condition: service_started - redis: - condition: service_started - elasticsearch: - condition: service_started - init_fe: - condition: service_completed_successfully - - init_fe: - image: unicef/hct-mis-backend-dist - build: - context: ./ - dockerfile: docker/Dockerfile - target: dist - volumes: - - backend-web-app-selenium:/tmp - command: | - sh -c " - cp -r ./hct_mis_api/apps/web/static/* /tmp/ - " - restart: "no" - - redis: - restart: always - image: redis:4.0.11-alpine3.8 - - db_selenium: - image: kartoza/postgis:14-3 - volumes: - - db-selenium-data:/var/lib/postgresql/data - - ./postgres/init:/docker-entrypoint-initdb.d - environment: - - POSTGRES_MULTIPLE_DATABASES=unicef_hct_mis_cashassist,rdi_datahub,mis_datahub,erp_datahub,ca_datahub - - POSTGRES_DB=postgres - - POSTGRES_USER=postgres - - POSTGRES_PASS=postgres - - PGUSER=postgres - - POSTGRES_HOST_AUTH_METHOD=trust - - POSTGRES_SSL_MODE=off - - elasticsearch: - image: unicef/hct-elasticsearch - container_name: elasticsearch - build: - context: elasticsearch - dockerfile: Dockerfile - environment: - - node.name=es01 - - cluster.name=es-docker-cluster - - cluster.initial_master_nodes=es01 - - bootstrap.memory_lock=true - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - - xpack.security.enabled=false - ulimits: - memlock: - soft: -1 - hard: -1 - volumes: - - data_es-selenium:/usr/share/elasticsearch/data - ports: - - 9200:9200 diff --git a/cypress/.dockerignore b/cypress/.dockerignore deleted file mode 100644 index b5ba367afa..0000000000 --- a/cypress/.dockerignore +++ /dev/null @@ -1,4 +0,0 @@ -cypress/downloads -cypress/screenshots -cypress/videos -cypress/results \ No newline at end of file diff --git a/cypress/.eslintrc b/cypress/.eslintrc deleted file mode 100644 index 7790aa8871..0000000000 --- a/cypress/.eslintrc +++ /dev/null @@ -1,15 +0,0 @@ -{ - "env": { - "browser": true, - "cypress/globals": true - }, - "extends": [ - "plugin:cypress/recommended", - "plugin:mocha/recommended" - ], - "rules": { - "mocha/no-mocha-arrows": "off", - "cypress/no-unnecessary-waiting": "off" // TODO - } -} - \ No newline at end of file diff --git a/cypress/.gitignore b/cypress/.gitignore deleted file mode 100644 index 9d400033e9..0000000000 --- a/cypress/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -node_modules -*.log -*.aes -report.zip -cypress/screenshots -cypress/videos -cypress/logs -cypress/fixtures/profile.json -cypress/fixtures/users.json -cypress/results -cypress/reports -.history -.vscode -env -.DS_Store diff --git a/cypress/.nvmrc b/cypress/.nvmrc deleted file mode 100644 index 5036cb7c07..0000000000 --- a/cypress/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -18.10.0 diff --git a/cypress/Dockerfile b/cypress/Dockerfile deleted file mode 100644 index 96b757ea05..0000000000 --- a/cypress/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM cypress/included:13.3.0 - -WORKDIR /code - -RUN apt update && apt install -y \ - curl \ - zip - -RUN curl -o /usr/local/bin/waitforit -sSL https://github.com/maxcnunes/waitforit/releases/download/v2.4.1/waitforit-linux_amd64 && \ - chmod +x /usr/local/bin/waitforit - -COPY package.json yarn.lock ./ -RUN yarn install --frozen-lockfile - -COPY . . -COPY docker-entrypoint.sh /usr/local/bin - -ENTRYPOINT [ "docker-entrypoint.sh" ] diff --git a/cypress/cypress.config.js b/cypress/cypress.config.js deleted file mode 100644 index 919e7176a7..0000000000 --- a/cypress/cypress.config.js +++ /dev/null @@ -1,43 +0,0 @@ -const { defineConfig } = require("cypress"); -const { verifyDownloadTasks } = require("cy-verify-downloads"); - -module.exports = defineConfig({ - experimentalMemoryManagement: true, - numTestsKeptInMemory: 20, - retries: 0, - viewportWidth: 1920, - viewportHeight: 1080, - e2e: { - testIsolation: false, - experimentalRunAllSpecs: true, - setupNodeEvents(on, config) { - on("task", verifyDownloadTasks); - }, - projectId: "cypress", - baseUrl: "http://localhost:8082", - specPattern: [ - "cypress/e2e/00-Login/*.js", - "cypress/e2e/02-registration-data-import/*.js", - "cypress/e2e/03-program-management/*.js", - "cypress/e2e/04-targeting/*.js", - "cypress/e2e/05-payment-module/*.js", - "cypress/e2e/06-payment-verification/*.js", - "cypress/e2e/07-population-module/*.js", - "cypress/e2e/08-grievance/*.js", - "cypress/e2e/09-global-program-filter/*.js", - "cypress/e2e/10-program-details/*.js", - "cypress/e2e/11-accountability/*.js", - "cypress/e2e/404/*.js", - ], - env: { - username: "cypress-username", - password: "cypress-password", - }, - screenshotOnRunFailure: true, - screenshotsFolder: "cypress/reports/mochareports/assets/", - reporter: "cypress-multi-reporters", - reporterOptions: { - configFile: "reporterOpts.json", - }, - }, -}); diff --git a/cypress/cypress/e2e/00-Login/availability.cy.js b/cypress/cypress/e2e/00-Login/availability.cy.js deleted file mode 100644 index 8b2a374523..0000000000 --- a/cypress/cypress/e2e/00-Login/availability.cy.js +++ /dev/null @@ -1,17 +0,0 @@ -import Login from "../../page-objects/pages/login/login.po"; - -let l = new Login(); - -context("Availibility", () => { - // ToDo - it.skip("Main page is available and shows the AD login view", () => { - cy.scenario(["Go to Home page without login", "Check Login page"]); - cy.visit("/"); - cy.get("p").should("contain", "Login via Active Directory"); - }); - it("Admin panel is available", () => { - cy.scenario(["Go to admin panel without login", "Check admin panel page"]); - l.navigateToLoginPage(); - cy.get("a").should("contain", "HOPE Administration"); - }); -}); diff --git a/cypress/cypress/e2e/00-Login/login.cy.js b/cypress/cypress/e2e/00-Login/login.cy.js deleted file mode 100644 index 801bd552c7..0000000000 --- a/cypress/cypress/e2e/00-Login/login.cy.js +++ /dev/null @@ -1,90 +0,0 @@ -import Login from "../../page-objects/pages/login/login.po"; - -let l = new Login(); -context.skip("Login", () => { - after(() => { - cy.adminLogin(); - }); - it("login with valid username and valid password", () => { - cy.scenario([ - "Log in via admin panel", - "Go to Home page", - "Check if logged in", - ]); - cy.adminLogin(); - cy.navigateToHomePage(); - cy.get("h5").should("contain", "Test Programm"); - }); - it("Check the login with valid username and Invalid password", () => { - cy.scenario([ - "Log in via admin panel using invalid password", - "Go to Home page", - "Check if did not log in", - ]); - Cypress.session.clearCurrentSessionData(); - cy.visit("/"); - l.navigateToLoginPage(); - cy.get('input[name="username"]').type(Cypress.env("username")); - cy.get('input[name="password"]').type("wrong-password"); - cy.get("input").contains("Log in").click(); - cy.get(".errornote").should( - "contain", - "Please enter the correct username and password for a staff account. Note that both fields may be case-sensitive." - ); - }); - it("Check the login with Invalid username and valid password", () => { - cy.scenario([ - "Log in via admin panel using invalid login", - "Go to Home page", - "Check if did not log in", - ]); - Cypress.session.clearCurrentSessionData(); - l.navigateToLoginPage(); - cy.get('input[name="username"]').type("wrong-username"); - cy.get('input[name="password"]').type(Cypress.env("password")); - cy.get("input").contains("Log in").click(); - cy.get(".errornote").should( - "contain", - "Please enter the correct username and password for a staff account. Note that both fields may be case-sensitive." - ); - }); - it("Check the login with Invalid username and Invalid password", () => { - cy.scenario([ - "Log in via admin panel using invalid login and password", - "Go to Home page", - "Check if did not log in", - ]); - Cypress.session.clearCurrentSessionData(); - l.navigateToLoginPage(); - cy.get('input[name="username"]').type("wrong-username"); - cy.get('input[name="password"]').type("wrong-password"); - cy.get("input").contains("Log in").click(); - cy.get(".errornote").should( - "contain", - "Please enter the correct username and password for a staff account. Note that both fields may be case-sensitive." - ); - }); - it("176667: Check page after logout", () => { - cy.scenario([ - "Logout", - "Check login page", - "Check main page", - "Log in via admin panel using valid login and password", - "Go to Home page", - "Check if did not log in", - ]); - cy.adminLogin(); - cy.navigateToHomePage(); - cy.get("h5").should("contain", "Test Programm"); - l.getMenuUserProfile().click(); - l.getMenuItemLogout().click(); - cy.url().should("include", "login"); - cy.get("p").contains("Login via Active Directory"); - cy.visit("/"); - cy.url().should("include", "login?next=/"); - cy.get("p").contains("Login via Active Directory"); - cy.adminLogin(); - cy.navigateToHomePage(); - cy.get("h5").should("contain", "Test Programm"); - }); -}); diff --git a/cypress/cypress/e2e/02-registration-data-import/registration.cy.js b/cypress/cypress/e2e/02-registration-data-import/registration.cy.js deleted file mode 100644 index e66f7b7edb..0000000000 --- a/cypress/cypress/e2e/02-registration-data-import/registration.cy.js +++ /dev/null @@ -1,68 +0,0 @@ -import RegistrationDataImport from "../../page-objects/pages/registration_data_import/registration_data_import.po"; - -let registrationDataImport = new RegistrationDataImport(); - -describe("Registration Data Import", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.navigateToHomePage(); - cy.get("span").contains("Registration Data Import").click(); - }); - - describe("Smoke tests Registration Data Import", () => { - it.skip("Check Registration Data Import page", () => {}); - it.skip("Check Registration Data Import Details page", () => {}); - }); - - describe("Component tests Registration Data Import", () => { - context("Registration Data Import - Download Template", () => { - // ToDo: Refactor this in second milestone - it("Import Template", () => { - cy.get("span").contains("IMPORT").click({ force: true }); - cy.window() - .document() - .then(function (doc) { - doc.addEventListener("click", () => { - setTimeout(function () { - doc.location.reload(); - }, 5000); - }); - cy.get("span").contains("DOWNLOAD TEMPLATE").click(); - }); - cy.verifyDownload("registration_data_import_template.xlsx", { - timeout: 20000, - }); - }); - // ToDo: Refactor this in second milestone - // TODO: 178234 - it.skip("Merge Data", () => { - registrationDataImport.uploadRDIFile(); - registrationDataImport.mergeRDIFile(); - registrationDataImport.verifyMergedData(); - }); - it.skip("Refuse import", () => {}); - context("Registration Data Import Filters", () => { - it.skip("Registration Data Import Search filter", () => {}); - it.skip("Registration Data Import Import Date filter", () => {}); - it.skip("Registration Data Import Imported By filter", () => {}); - it.skip("Registration Data Import Status filter", () => {}); - }); - }); - }); - describe.skip("E2E tests Registration Data Import", () => {}); - - describe("Regression tests Registration Data Import", () => { - it("174517: Check clear cache", () => { - cy.scenario([ - "Go to Registration Data Import page", - "Press Menu User Profile button", - "Press Clear Cache button", - "Check if page was opened properly", - ]); - registrationDataImport.clearCache(); - cy.get("h5").contains("Registration Data Import"); - }); - }); -}); diff --git a/cypress/cypress/e2e/03-program-management/program.cy.js b/cypress/cypress/e2e/03-program-management/program.cy.js deleted file mode 100644 index 79da656588..0000000000 --- a/cypress/cypress/e2e/03-program-management/program.cy.js +++ /dev/null @@ -1,205 +0,0 @@ -import ProgramManagement from "../../page-objects/pages/program_management/program_management.po"; -import PMDetailsPage from "../../page-objects/pages/program_management/details_page.po"; -import ProgramDetails from "../../page-objects/pages/program_details/program_details.po"; - -let programManagement = new ProgramManagement(); -let programManagementDetails = new PMDetailsPage(); -let programDetails = new ProgramDetails(); - -describe("Program Management", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - - beforeEach(() => { - cy.navigateToHomePage(); - cy.get("span").contains("Programme Management").click(); - }); - - after(() => { - cy.initScenario("init_clear"); - cy.adminLogin(); - }); - - describe("Smoke tests Program Management", () => { - it.skip("Check Program Management page", () => {}); - it.skip("Check Program Management Details page", () => {}); - }); - describe("Component tests Program Management", () => { - // ToDo: Refactor in second milestone - it("Create a program", () => { - cy.scenario([ - "Go to Programme Management page", - "Create new programme", - "Check if programme was created properly", - ]); - programManagement - .getPageHeaderTitle() - .should("contain", "Programme Management"); - programManagement.getButtonNewProgram().click({ force: true }); - programManagement - .getDialogTitle() - .should("contain", "New Programme"); - cy.uniqueSeed().then((seed) => { - const programName = `Test Program ${seed}`; - programManagement.getInputProgrammeName().type(programName); - programManagement.getInputSector().click() - programManagement.getSelectOptionByName("Health").click(); - programManagement.getInputDataCollectingType().click(); - programManagement.getSelectOptionByName("Full").click(); - programManagement.getInputStartDate().click().type("2023-01-01"); - programManagement.getInputEndDate().click().type("2033-12-30"); - programManagement - .getInputDescription() - .first() - .click() - .type("test description"); - programManagement - .getInputBudget() - .first() - .click() - .type("{backspace}{backspace}{backspace}{backspace}9999"); - programManagement.getInputAdminArea().click().type("Some Admin Area"); - programManagement - .getInputPopulationGoal() - .click() - .type("{backspace}{backspace}{backspace}{backspace}4000"); - programManagement.getButtonNext().click() - programManagement.getButtonSave().click({ force: true }); - programDetails.getButtonActivateProgram().click({ force: true }); - programDetails.getButtonActivateProgramModal().click({ - force: true, - }); - programDetails.getStatusContainer().should("contain", "ACTIVE"); - }); - }); - it("Edit Program", () => { - cy.scenario([ - "Go to Programme Management page", - "Choose Programme", - "Edit Programme", - "Check if programme was edited properly", - ]); - // programManagement.getButtonFiltersExpand().click(); - programManagement.getStatusFilter().click(); - programManagement.getOption().contains("Active").click(); - programManagement.getButtonApply().click(); - programManagement.getStatusContainer().should("contain", "ACTIVE"); - programManagement - .getTableRowByName(programManagement.textTestProgramm) - .click(); - programDetails.getButtonEditProgram().click(); - cy.uniqueSeed().then((seed) => { - const editedProgramName = `Edited program ${seed}`; - programManagement - .getInputProgrammeName().find("input") - .clear() - .type(editedProgramName); - programManagement.getInputSector().click(); - programManagement.getSelectOptionByName("Health").click(); - programManagement - .getInputStartDate() - .click() - .type("{selectAll}") - .type("2022-11-02"); - programManagement - .getInputEndDate() - .click() - .type("{selectAll}") - .type("2077-01-11"); - programManagement - .getInputDescription() - .first() - .clear() - .type("Edit Test description"); - programManagement - .getInputBudget() - .first() - .click() - .type("{backspace}{backspace}{backspace}{backspace}8888"); - programManagement - .getInputFrequencyOfPayment() - .contains("One-off") - .click(); - programManagement.getInputAdminArea().find("input").clear().type("Some Admin Area"); - programManagement.getInputCashPlus().uncheck(); - programManagement - .getInputPopulationGoal() - .click() - .type("{backspace}{backspace}{backspace}{backspace}2000"); - programManagement.getButtonNext().click() - programManagement.getButtonSave().click(); - programManagement.getPageHeaderTitle().contains(editedProgramName); - }); - }); - - context("PM Filters", () => { - it.skip("PM Programme filter", () => {}); - it.skip("PM Status filter", () => {}); - it.skip("PM FSP filter", () => {}); - it.skip("PM Start Date filter", () => {}); - it.skip("PM End Date filter", () => {}); - it.skip("PM Sector filter", () => {}); - it.skip("PM Num. of Households filter", () => {}); - it.skip("PM Budget (USD) filter", () => {}); - }); - }); - describe.skip("E2E tests Program Management", () => {}); - - describe("Regression tests Program Management", () => { - it("174517: Check clear cache", () => { - cy.scenario([ - "Go to Program Management page", - "Press Menu User Profile button", - "Press Clear Cache button", - "Check if page was opened properly", - ]); - programManagement.clearCache(); - cy.get("h5").should("contain", "Programme Management"); - }); - it("174707: Create a program without Data Collecting Type", () => { - programManagement - .getPageHeaderTitle() - .should("contain", "Programme Management"); - programManagement.getButtonNewProgram().click({ force: true }); - programManagement - .getDialogTitle() - .should("contain", "New Programme"); - cy.uniqueSeed().then((seed) => { - const programName = `Test Program ${seed}`; - programManagement.getInputProgrammeName().type(programName); - programManagement.getInputSector().first().click(); - programManagement.getSelectOptionByName("Multi Purpose").click(); - programManagement.getInputStartDate().click().type("2023-01-01"); - programManagement.getInputEndDate().click().type("2033-12-30"); - programManagement - .getInputDescription() - .first() - .click() - .type("test description"); - programManagement - .getInputBudget() - .first() - .click() - .type("{backspace}{backspace}{backspace}{backspace}9999"); - programManagement.getInputAdminArea().click().type("Some Admin Area"); - programManagement - .getInputPopulationGoal() - .click() - .type("{backspace}{backspace}{backspace}{backspace}4000"); - programManagement.getButtonNext().click() - cy.get("p").contains("Data Collecting Type is required"); - }); - }); - it("171253 GPF: After delete program it is still visible and clickable in GPF", () => { - programDetails.navigateToProgrammePage("Draft Program"); - programDetails.getButtonRemoveProgram().click(); - programDetails.getButtonRemoveProgram().eq(1).click(); - programDetails.getGlobalProgramFilter().click(); - programDetails - .getProgrammesOptions() - .should("not.contain", "Draft Program"); - cy.url().should("include", "programs/all/list"); - }); - }); -}); diff --git a/cypress/cypress/e2e/04-targeting/targeting.cy.js b/cypress/cypress/e2e/04-targeting/targeting.cy.js deleted file mode 100644 index 4a0c8df917..0000000000 --- a/cypress/cypress/e2e/04-targeting/targeting.cy.js +++ /dev/null @@ -1,241 +0,0 @@ -import Targeting from "../../page-objects/pages/targeting/targeting.po"; -import TDetailsPage from "../../page-objects/pages/targeting/details_page.po"; -import CreateNew from "../../page-objects/pages/targeting/create_new.po"; -import ProgramDetails from "../../page-objects/pages/program_details/program_details.po"; - -let targetingPage = new Targeting(); -let targetingDetailsPage = new TDetailsPage(); -let targetingCreateNewPage = new CreateNew(); -let programDetails = new ProgramDetails(); - -let programName = "TargetingProgram"; - -describe("Targeting", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.initScenario("targeting"); - cy.navigateToHomePage(); - targetingPage.clickMenuButtonTargeting(); - }); - - describe("Smoke tests Targeting", () => { - it("Check Targeting page", () => { - cy.scenario([ - "Go to Targeting page", - "Check if all elements on page exist", - ]); - targetingPage.checkElementsOnPage(); - }); - it("Check Targeting Details page", () => { - cy.scenario([ - "Go to Targeting Details page", - "Check if all elements on page exist", - ]); - // targetingPage.getButtonFiltersExpand().click(); - targetingPage.selectStatus("Open"); - targetingPage.getTargetPopulationsRows().should("have.length", 1); - targetingPage.chooseTargetPopulationRow(0).click(); - targetingDetailsPage.checkElementsOnPage("OPEN"); - }); - it("Check Targeting New Ticket page", () => { - cy.scenario([ - "Go to Targeting New Ticket page", - "Check if all elements on page exist", - ]); - targetingPage.getButtonCreateNew().click(); - targetingCreateNewPage.checkElementsOnPage(); - }); - }); - - describe("Component tests Targeting", () => { - context("Create new target population", () => { - // TODO: Refactor in second milestone - it.skip("Can visit the targeting page and create a target population", () => { - cy.scenario([ - "Go to Targeting New Ticket page", - "Press Create New button", - "Fill name field", - "Press button household rule", - "Check if all elements on page exist", - ]); - cy.navigateToHomePage(); - cy.get("span").contains("Targeting").click(); - cy.get("h5").contains("Targeting"); - cy.get('[data-cy="button-target-population-create-new"]').click({ - force: true, - }); - cy.uniqueSeed().then((seed) => { - const targetPopulationName = `test TP ${seed}`; - cy.get('[data-cy="input-name"]') - .eq(1) - .type(targetPopulationName, { force: true }); - cy.get('[data-cy="button-target-population-add-criteria"]').click(); - - cy.get('[data-cy="button-household-rule"]', { - timeout: 10000, - }).click(); - cy.get('[data-cy="autocomplete-target-criteria"]') - .click() - .type("address"); - - // TODO: Refactor in second milestone - // cy.contains("Address").click(); - // cy.get('[data-cy="input-filters[0].value"]') - // .click() - // .type(`TargetingVille-${seed}`); - // cy.get('[data-cy="button-target-population-add-criteria"]').eq(1).click(); - // cy.get("h6").contains("Households"); - // cy.get( - // "[data-cy=button-target-population-create] > .MuiButton-label" - // ).click(); - // cy.get("h6").contains("Targeting Criteria"); - // cy.get('[data-cy="status-container"]').contains("OPEN"); - // cy.get('[data-cy="button-target-population-lock"]').click({ - // force: true - // }); - // cy.get('[data-cy="button-target-population-modal-lock"]').click({ - // force: true - // }); - // cy.get("h6").contains("Targeting Criteria"); - // cy.get('[data-cy="status-container"]').contains("LOCKED"); - // cy.get('[data-cy="button-target-population-send-to-hope"]').click({ - // force: true - // }); - // cy.get('[data-cy="button-target-population-modal-send-to-hope"]').click(); - // cy.get("h6").contains("Targeting Criteria"); - // cy.get('[data-cy="status-container"]').contains("READY"); - }); - }); - }); - context("Targeting Filters", () => { - it.skip("Targeting Search filter", () => {}); - it.skip("Targeting Status filter", () => {}); - it.skip("Targeting Programme filter", () => {}); - it.skip("Targeting Number of Households filter", () => {}); - }); - context("Edit targeting", () => { - it.skip("Edit", () => {}); - }); - context("Rebuild targeting", () => { - it.skip("Rebuild", () => {}); - }); - context("Lock targeting", () => { - it.skip("Lock", () => {}); - }); - context("Unlock targeting", () => { - it.skip("Unlock", () => {}); - }); - context("Mark ready targeting", () => { - it.skip("Mark ready", () => {}); - }); - }); - describe("E2E tests Targeting", () => { - it("GPF: Disabled button CREATE NEW when program has draft status", () => { - targetingPage.navigateToProgrammePage("Draft Program"); - targetingPage.clickMenuButtonTargeting(); - targetingPage.getButtonCreateNew().should("be.visible"); - targetingPage - .getButtonCreateNew() - .should("have.attr", "aria-disabled") - .and("equal", "true"); - }); - it("GPF: Disabled button CREATE NEW when program has finished status", () => { - targetingPage.navigateToProgrammePage("Draft Program"); - programDetails.getButtonActivateProgram().click(); - programDetails.getButtonActivateProgramModal().click(); - programDetails.getStatusContainer().should("contain", "ACTIVE"); - programDetails.getButtonFinishProgram().click(); - programDetails.getButtonFinishProgram().eq(1).click(); - programDetails.getStatusContainer().should("contain", "FINISHED"); - targetingPage.clickMenuButtonTargeting(); - targetingPage.getButtonCreateNew().should("be.visible"); - targetingPage - .getButtonCreateNew() - .should("have.attr", "aria-disabled") - .and("equal", "true"); - }); - }); - - describe("Regression tests Targeting", () => { - it("173542: GPF: Error occurs after apply empty Number of Households field", () => { - cy.scenario([ - "Go to Targeting", - "Fill Number of Households field", - "Press button Apply", - "Delete value from Number of Households", - "Press button Apply", - ]); - // targetingPage.getButtonFiltersExpand().click(); - targetingPage.getMaxNumberOfHouseholdsFilter().type("123"); - targetingPage.getMinNumberOfHouseholdsFilter().type("456"); - targetingPage.getApply().click(); - targetingPage - .getMaxNumberOfHouseholdsFilter() - .find("input") - .should("have.value", "123"); - targetingPage - .getMinNumberOfHouseholdsFilter() - .find("input") - .should("have.value", "456"); - targetingPage.getMaxNumberOfHouseholdsFilter().clear(); - targetingPage.getMinNumberOfHouseholdsFilter().clear(); - targetingPage.getApply().click(); - targetingPage - .getMaxNumberOfHouseholdsFilter() - .find("input") - .should("have.value", ""); - targetingPage - .getMinNumberOfHouseholdsFilter() - .find("input") - .should("have.value", ""); - targetingPage.getTargetPopulationsRows().should("have.length", 2); - }); - it.skip('173541: GPF: Clear button does not work for field "Number of Households" in page Targeting', () => { - cy.scenario([ - "Go to Targeting", - "Fill Number of Households field", - "Press button Clear", - "Fill Number of Households field", - "Press button Apply", - "Press button Clear", - ]); - targetingPage.getMaxNumberOfHouseholdsFilter().type("123"); - targetingPage.getMinNumberOfHouseholdsFilter().type("456"); - targetingPage.getClear().click(); - targetingPage - .getMaxNumberOfHouseholdsFilter() - .find("input") - .should("have.value", ""); - targetingPage - .getMinNumberOfHouseholdsFilter() - .find("input") - .should("have.value", ""); - targetingPage.getMaxNumberOfHouseholdsFilter().type("123"); - targetingPage.getMinNumberOfHouseholdsFilter().type("456"); - targetingPage.getApply().click(); - targetingPage.getClear().click(); - targetingPage - .getMaxNumberOfHouseholdsFilter() - .find("input") - .should("have.value", ""); - targetingPage - .getMinNumberOfHouseholdsFilter() - .find("input") - .should("have.value", ""); - }); - }); - describe("Regression tests Targeting", () => { - it.skip("174517: Check clear cache", () => { - cy.scenario([ - "Go to Targeting page", - "Press Menu User Profile button", - "Press Clear Cache button", - "Check if page was opened properly", - ]); - targetingPage.clearCache(); - targetingPage.checkElementsOnPage(); - }); - }); -}); diff --git a/cypress/cypress/e2e/05-payment-module/payment_module.cy.js b/cypress/cypress/e2e/05-payment-module/payment_module.cy.js deleted file mode 100644 index 97c7c0f713..0000000000 --- a/cypress/cypress/e2e/05-payment-module/payment_module.cy.js +++ /dev/null @@ -1,246 +0,0 @@ -import PaymentModule from "../../page-objects/pages/payment_module/payment_module.po"; -import PMDetailsPage from "../../page-objects/pages/payment_module/details_page.po"; -import NewPaymentPlan from "../../page-objects/pages/payment_module/new_payment_plan.po"; - -let paymentModule = new PaymentModule(); -let paymentModuleDetailsPage = new PMDetailsPage(); -let newPaymentPlan = new NewPaymentPlan(); - -describe("Payment Module", () => { - before(() => { - cy.initScenario("payment_plan"); - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.navigateToHomePage(); - cy.visit("/api/unicorn/core/businessarea/"); - cy.get("th").contains("Afghanistan").parent().find("a").click(); - cy.get("#id_is_payment_plan_applicable").should("be.checked"); - }); - describe("Smoke tests Payment module", () => { - it.skip("Check Payment page", () => {}); - it.skip("Check Payment Details page", () => {}); - it.skip("Check Payment New Ticket page", () => {}); - }); - describe("Component tests Payment", () => { - it("Can create a payment plan", () => { - cy.scenario([ - "Go to payment plan page", - "Press New Payment Plan button", - "Create New Payment Plan", - "Check if Payment Plan was created properly", - ]); - const downloadsFolder = Cypress.config("downloadsFolder"); - const fileName = (id) => `payment_plan_payment_list_${id}`; - const zipFileName = (id) => `${fileName(id)}.zip`; - - let targetPopulationName = "PaymentPlanTargetPopulation"; - let paymentPlanUnicefId; - let fspXlsxFilenames; - - //New Payment Plan page - paymentModule.navigateToProgrammePage("PaymentPlanProgram"); - paymentModule.createPaymentPlan(targetPopulationName); - - cy.wait(3000); // eslint-disable-line cypress/no-unnecessary-waiting - - return; // TODO: make this work - - //Payment Plan Details page - cy.get('[data-cy="page-header-container"]').contains("Payment Plan ID", { - timeout: 10000, - }); - cy.get('[data-cy="pp-unicef-id"]') - .then(($el) => { - paymentPlanUnicefId = $el.text(); - }) - .then(() => { - cy.get("h6").contains("Details"); - cy.get("h6").contains("Results"); - cy.get("h6").contains("Payee List"); - cy.get("h6").contains("Activity Log"); - - //Lock plan - cy.get('[data-cy="button-lock-plan"]').click({ - force: true, - }); - cy.get('[data-cy="button-submit"]').click({ - force: true, - }); - - //Entitlements - cy.get("[data-cy=input-entitlement-formula]").should("exist"); - cy.get("[data-cy=input-entitlement-formula] > .MuiSelect-root").click( - { - force: true, - } - ); - cy.get('[data-cy="input-entitlement-formula"]').click({ - force: true, - }); - cy.uniqueSeed().then((seed) => { - cy.get("li").contains(`Rule-${seed}`).click({ force: true }); - }); - cy.get('[data-cy="button-apply-steficon"]').click({ force: true }); - cy.reload(); - cy.get('[data-cy="total-entitled-quantity-usd"]').contains("USD"); - // TODO: check the amount - - //Set up FSP - cy.get('[data-cy="button-set-up-fsp"]').click({ force: true }); - cy.get('[data-cy="page-header-container"]').contains("Set up FSP", { - timeout: 10000, - }); - cy.get( - '[data-cy="select-deliveryMechanisms[0].deliveryMechanism"]' - ).click(); - cy.get('[data-cy="select-option-Transfer"]').click(); - cy.get('[data-cy="button-next-save"]').click({ force: true }); - cy.get('[data-cy="select-deliveryMechanisms[0].fsp"]'); - cy.get('[data-cy="select-deliveryMechanisms[0].fsp"]').click(); - cy.get('[data-cy="select-option-Test FSP Transfer"]').click(); - cy.get('[data-cy="button-next-save"]').click({ force: true }); - cy.contains("Volume by Delivery Mechanism"); - cy.get("[data-cy='button-lock-plan']").click({ force: true }); - cy.get("[data-cy='button-submit']").click({ force: true }); - cy.get("[data-cy='status-container']").contains("FSP LOCKED"); - - //Acceptance Process - cy.get("[data-cy='button-send-for-approval']").click({ force: true }); - cy.wait(1000); - cy.reload(); // this shouldn't be needed but there's some bug here with which reload helps - cy.contains("Acceptance Process"); - cy.get("[data-cy='button-approve']").click({ force: true }); - cy.get("[data-cy='button-submit']").click({ force: true }); - cy.get('[data-cy=""]').contains("IN AUTHORIZATION"); - cy.get("[data-cy='button-authorize']").click({ force: true }); - cy.get("[data-cy='button-submit']").click({ force: true }); - cy.get('[data-cy="status-container"]').contains("IN REVIEW"); - cy.get("[data-cy='button-mark-as-released']").click({ force: true }); - cy.get("[data-cy='button-submit']").click({ force: true }); - cy.get('[data-cy="status-container"]').contains("ACCEPTED"); - - // //XLSX template - can be used in another spec - // cy.get('[data-cy="button-export-xlsx"]').click({ force: true }); - // cy.wait(1000); // eslint-disable-line cypress/no-unnecessary-waiting - // cy.reload(); - // cy.wait(1000); // eslint-disable-line cypress/no-unnecessary-waiting - // const nameXlsx = xlsxFileName(paymentPlanUnicefId); - // const downloadedFilePathXlsx = `${downloadsFolder}/${nameXlsx}`; - // cy.exec( - // `node cypress/scripts/fillXlsxEntitlements.js ${downloadedFilePathXlsx}` - // ); - // cy.get('[data-cy="button-download-template"]').click({ force: true }); - // const nameTemplate = xlsxFileName(paymentPlanUnicefId); - // const filledFilePathTemplate = `out_${nameTemplate}`; - // cy.get('[data-cy="button-import"]').click({ force: true }); - // cy.fixture(filledFilePathTemplate, "base64").then((fileContent) => { - // cy.get('[data-cy="file-input"]').upload({ - // fileContent, - // fileName: name, - // mimeType: - // "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - // encoding: "base64", - // }); - // }); - // cy.get('[data-cy="button-import-entitlement"').click({ force: true }); - // cy.wait(2000); // eslint-disable-line cypress/no-unnecessary-waiting - // cy.reload(); - // cy.get("td").should("not.contain", "Missing"); - - cy.get('[data-cy="button-export-xlsx"]').click({ force: true }); - cy.wait(500); // eslint-disable-line cypress/no-unnecessary-waiting - cy.reload(); - cy.get('[data-cy="button-download-xlsx"]').click({ force: true }); - cy.wait(500); // eslint-disable-line cypress/no-unnecessary-waiting - const nameZip = zipFileName(paymentPlanUnicefId); - const downloadedFilePathZip = `${downloadsFolder}/${nameZip}`; - cy.exec(`unzip ${downloadedFilePathZip} -d ${downloadsFolder}`); - const currentRunFileName = fileName(paymentPlanUnicefId); - cy.exec( - `find ${downloadsFolder} | grep ${currentRunFileName} | grep FSP | sed 's@.*/@@'` - ) - .then((result) => { - fspXlsxFilenames = result.stdout.split("\n"); - expect(fspXlsxFilenames.length).to.eq(1); - }) - .then(() => { - //Reconciliation Info - const fspFilename = fspXlsxFilenames[0]; - const downloadedFilePath = `${downloadsFolder}/${fspFilename}`; - cy.exec( - `node cypress/scripts/fillXlsxReconciliation.js "${downloadedFilePath}"` - ); - const filledFilePath = `out_${fspFilename}`; - cy.log(filledFilePath); - cy.get('[data-cy="button-import"]').click({ force: true }); - cy.fixture(filledFilePath, "base64").then((fileContent) => { - cy.get('[data-cy="file-input"]').attachFile({ - fileContent, - fileName: filledFilePath, - mimeType: - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - encoding: "base64", - }); - }); - cy.get('[data-cy="file-input"]').click({ force: true }); - // cy.get('[data-cy="imported-file-name"]').should('exist'); // TODO - cy.get('[data-cy="button-import-submit"]').click({ force: true }); - cy.wait(1000); - cy.get("p").should("not.contain", "Errors"); - cy.wait(500); // eslint-disable-line cypress/no-unnecessary-waiting - cy.reload(); - cy.get('[data-cy="delivered-quantity-cell"]').each(($el) => { - cy.wrap($el).should("contain", "AFN"); - cy.wrap($el).should("contain", "500"); - }); - cy.get('[data-cy="status-container"]').contains("FINISHED"); - }); - }); - }); - it("Select Entitlement Formula", () => {}); - it("Set up FSP", () => {}); - it("Create Exclude", () => {}); - it("Choose field from Payee List", () => {}); - it("Lock FSP", () => {}); - it("Unlock FSP", () => {}); - it("Send for approval", () => {}); - it("Approve", () => {}); - it("Reject from all points of process", () => {}); - it("Authorize", () => {}); - it("Export XLSX", () => {}); - it("Check Acceptance Process", () => {}); - context("Payment Filters", () => { - it.skip("Payment Search filter", () => {}); - it.skip("Payment Status filter", () => {}); - it.skip("Payment Entitled Quantity filter", () => {}); - it.skip("Payment Dispersion Date filter", () => {}); - }); - }); - describe.skip("E2E tests Payment", () => { - it("GPF: Disabled button NEW PAYMENT PLAN when program not active", () => { - paymentModule.navigateToProgrammePage("Draft Program"); - paymentModule.clickMenuButtonPaymentModule(); - paymentModule.getButtonNewPaymentPlan().should("be.visible"); - paymentModule - .getButtonNewPaymentPlan() - .should("have.attr", "aria-disabled") - .and("equal", "true"); - }); - }); - - describe("Regression tests Payment", () => { - it("174517: Check clear cache", () => { - cy.scenario([ - "Go to Payment module page", - "Press Menu User Profile button", - "Press Clear Cache button", - "Check if page was opened properly", - ]); - cy.navigateToHomePage(); - paymentModule.getButtonPaymentModule().click(); - paymentModule.clearCache(); - paymentModule.getTitle().contains(paymentModule.textTitle); - }); - }); -}); diff --git a/cypress/cypress/e2e/06-payment-verification/payment_verification.cy.js b/cypress/cypress/e2e/06-payment-verification/payment_verification.cy.js deleted file mode 100644 index 848c884bba..0000000000 --- a/cypress/cypress/e2e/06-payment-verification/payment_verification.cy.js +++ /dev/null @@ -1,236 +0,0 @@ -import PaymentVerification from "../../page-objects/pages/payment_verification/payment_verification.po"; -import PVDetailsPage from "../../page-objects/pages/payment_verification/details_page.po"; - -let paymentVerificationPage = new PaymentVerification(); -let paymentVerificationDetailsPage = new PVDetailsPage(); -let defaultNumberOfVPlans016 = 0; - -const paymentPlanID = "PP-0060-23-00000002"; -describe("Payment Verification", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.navigateToHomePage(); - paymentVerificationPage.clickMenuButtonPaymentVerification(); - // paymentVerificationPage.getButtonFiltersExpand().click(); - }); - - after(() => { - cy.initScenario("init_clear"); - cy.adminLogin(); - }); - - describe("Smoke tests Payment Verification", () => { - it("Check Payment Verification page", () => { - cy.scenario([ - "Go to Payment Verification page", - "Check if all elements on page exist", - ]); - paymentVerificationPage.checkPaymentVerificationTitle(); - paymentVerificationPage.checkListOfPaymentPlansTitle(); - paymentVerificationPage.checkAllSearchFieldsVisible(); - paymentVerificationPage.checkPaymentPlansTableVisible(); - }); - - // eslint-disable-next-line mocha/no-setup-in-describe - paymentVerificationPage.countPaymentPlanArray().forEach((row_no) => { - it(`Check Payment Plan Details Page - Row: ${row_no}`, () => { - cy.scenario([ - "Go to Payment Verification page", - "Choose and open cash plan", - "Check if all elements on page exist", - ]); - paymentVerificationPage.choosePaymentPlan(row_no).click(); - paymentVerificationDetailsPage.checkPaymentVerificationTitle(); - paymentVerificationDetailsPage.checkGridPaymentDetails(); - paymentVerificationDetailsPage.checkBankReconciliationTitle(); - paymentVerificationDetailsPage.checkGridBankReconciliation(); - paymentVerificationDetailsPage.checkVerificationPlansSummaryTitle(); - paymentVerificationDetailsPage.checkGridVerificationPlansSummary(); - }); - }); - - it.skip("Check Create Verification Plan pop-up", () => {}); - }); - - describe("Component tests Payment Verification", () => { - context("Create Verification Plan", () => { - afterEach(() => { - paymentVerificationDetailsPage.deleteVerificationPlan(0); - }); - it("Create Verification Plan using random sampling", () => { - cy.scenario([ - "Search Pending cash plans", - "Select first Pending cash plan", - "Check if Payment Verification title exists", - "Press Create Verification Plan button", - "Check if Create Verification Plan title occurs", - "Choose Random Sampling tab", - "Press Save button", - "Check if Verification Plan was created", - ]); - paymentVerificationPage.selectStatus("Pending"); - paymentVerificationPage.getPaymentPlanRows().should("have.length", 1); - paymentVerificationPage.choosePaymentPlan(0).click(); - paymentVerificationDetailsPage.checkPaymentVerificationTitle(); - paymentVerificationDetailsPage.getCreateVerificationPlan().click(); - paymentVerificationDetailsPage.checkCVPTitle(); - paymentVerificationDetailsPage.getRandomSampling().click(); - paymentVerificationDetailsPage - .getCVPConfidenceInterval() - .should("be.visible"); - paymentVerificationDetailsPage.getCVPSave().click(); - paymentVerificationDetailsPage.checkVerificationPlan(); - }); - }); - - context("Verification Plan Settings", () => { - it.skip("Test_1", () => {}); - }); - - context("Edit Verification Plan", () => { - beforeEach(() => { - paymentVerificationPage.getPaymentPlanRows().should("have.length", 1); - paymentVerificationPage.choosePaymentPlan(0).click(); - paymentVerificationDetailsPage.createNewVerificationPlan(); - }); - it("Edit Verification Plan", () => { - cy.scenario([ - "Go to Verification Plan page", - "Choose Verification Plan", - "Create New Verification Plan", - "After create Verification Plan Press Edit button", - "Change verification channel from MANUAL to XLSX", - "Press button Save", - "Check if Verification Plan was changed", - ]); - paymentVerificationDetailsPage.getEditVP().contains("Edit").click(); - paymentVerificationDetailsPage.getCvpInputAdminCheckbox().click(); - paymentVerificationDetailsPage - .getLabelVERIFICATIONCHANNEL() - .contains("MANUAL"); - paymentVerificationDetailsPage.getXLSX().click(); - paymentVerificationDetailsPage.getCVPSave().click(); - paymentVerificationDetailsPage - .getLabelVERIFICATIONCHANNEL() - .contains("XLSX"); - }); - }); - - context("Delete Verification Plan", () => { - beforeEach(() => { - paymentVerificationPage.getPaymentPlanRows().should("have.length", 1); - paymentVerificationPage.choosePaymentPlan(0).click(); - paymentVerificationDetailsPage.createNewVerificationPlan( - defaultNumberOfVPlans016 - ); - }); - it("Delete Verification Plan", () => { - cy.scenario([ - "Go to Verification Plan page", - "Choose Verification Plan", - "Create New Verification Plan", - "Press Delete button", - "Press Delete button on pop-up", - "Check if Verification Plan was deleted", - ]); - paymentVerificationDetailsPage.getDeletePlan().scrollIntoView().click(); - paymentVerificationDetailsPage.getDelete().scrollIntoView().click(); - paymentVerificationDetailsPage.getNumberOfPlans().contains(1); - }); - }); - - context("Activate Verification Plan", () => { - beforeEach(() => { - paymentVerificationPage.getPaymentPlanRows().should("have.length", 1); - paymentVerificationPage.choosePaymentPlan(0).click(); - paymentVerificationDetailsPage.createNewVerificationPlan( - defaultNumberOfVPlans016 - ); - }); - afterEach(() => { - paymentVerificationDetailsPage.discardVerificationPlan(0); - paymentVerificationDetailsPage.deleteVerificationPlan(0); - }); - it("Activate Verification Plan", () => { - cy.scenario([ - "Go to Verification Plan page", - "Choose Verification Plan", - "Create New Verification Plan", - "Press Activation button", - "Press Activate button on pop-up", - "Check if Summary status = ACTIVE", - "Check if Activation Date was set", - "Check if verification plan has status Active", - ]); - paymentVerificationDetailsPage.getActivatePlan().click(); - paymentVerificationDetailsPage.getActivate().click(); - paymentVerificationDetailsPage.getStatusVP().contains("ACTIVE"); - paymentVerificationDetailsPage.getActivationDate().find("div").not("-"); - paymentVerificationDetailsPage.getStatus().contains("ACTIVE"); - }); - }); - - context("Finish Verification Plan", () => { - beforeEach(() => { - paymentVerificationPage.getPaymentPlanRows().should("have.length", 1); - paymentVerificationPage.choosePaymentPlan(0).click(); - paymentVerificationDetailsPage.createNewVerificationPlan( - defaultNumberOfVPlans016 - ); - }); - it("Finish Verification Plan", () => { - cy.scenario([ - "Go to Verification Plan page", - "Choose Active Verification Plan", - "Press Finish button", - "Press Finish button on pop-up", - "Check if Verification Plan was finished", - ]); - paymentVerificationDetailsPage.getActivatePlan().click(); - paymentVerificationDetailsPage.getActivate().click(); - paymentVerificationDetailsPage.getStatusVP().contains("ACTIVE"); - paymentVerificationDetailsPage.getFinishPlan().click(); - paymentVerificationDetailsPage.getFinish().click(); - paymentVerificationDetailsPage.getStatusVP().contains("FINISHED"); - }); - }); - - context("Grievance creation/preview", () => { - it.skip("Test_1", () => {}); - }); - - context("Verify Payment Record", () => { - it.skip("Verify Manually", () => {}); - it.skip("Verify using RapidPro", () => {}); - it.skip("Verify using XLSX", () => {}); - }); - }); - describe("E2E tests Payment Verification", () => { - // ToDo: Refactor this in second milestone - paymentVerificationPage.countPaymentPlanArray().forEach((row_no) => { - it(`Compare data in Payment Plan Details Page - Row: ${row_no}`, () => { - paymentVerificationPage.choosePaymentPlan(row_no).click(); - cy.get('[data-cy="page-header-container"]', { - timeout: 10000, - }).contains("Payment Plan"); - paymentVerificationDetailsPage.checkPaymentPlanDetailsTitle(); - paymentVerificationDetailsPage.checkVerificationPlansSummaryTitle(); - }); - }); - }); - describe("Regression tests Payment Verification", () => { - it("174517: Check clear cache", () => { - cy.scenario([ - "Go to Payment Verification page", - "Press Menu User Profile button", - "Press Clear Cache button", - "Check if page was opened properly", - ]); - paymentVerificationPage.clearCache(); - paymentVerificationPage.checkPaymentVerificationTitle(); - }); - it.skip("BUG 161302 - The Status drop-down menu jumps.", () => {}); - }); -}); diff --git a/cypress/cypress/e2e/07-population-module/population_households.cy.js b/cypress/cypress/e2e/07-population-module/population_households.cy.js deleted file mode 100644 index ab1a699d52..0000000000 --- a/cypress/cypress/e2e/07-population-module/population_households.cy.js +++ /dev/null @@ -1,75 +0,0 @@ -import PopulationHouseholds from "../../page-objects/pages/population_module/population_households.po"; -import HPDetailsPage from "../../page-objects/pages/population_module/households_details_page.po"; - -let populationHouseholds = new PopulationHouseholds(); -let householdsDetailsPage = new HPDetailsPage(); - -describe("Households Module", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.initScenario("payment_plan"); - cy.navigateToHomePage(); - cy.get("span").contains("Population").click(); - cy.get("span").contains("Individuals"); - cy.get("span").contains("Households"); - cy.get("span").contains("Households").click(); - // populationHouseholds.getButtonFiltersExpand().click(); - }); - describe("Smoke tests Households Population module", () => { - it("Check Households Population page", () => { - populationHouseholds.checkElementsOnPage(); - }); - it("Check Households Population Details page", () => { - // ToDo: Global Programme changes - cy.scenario([ - "Go to Population page", - "Check if page is in Households", - "Choose first Household from list", - "Check if all elements on page exist", - ]); - cy.get("div").contains("Households", { timeout: 10000 }); - cy.get('[data-cy="table-title"]').contains("Households"); - cy.get('[data-cy="household-table-row"]').first().click({ force: true }); - cy.get('[data-cy="page-header-container"]').contains("Household ID:", { - timeout: 10000, - }); - cy.get("h6").contains("Details"); - cy.get("h6").contains("Benefits"); - cy.get("h6").contains("Household Composition"); - cy.get("h6").contains("Individuals in Household"); - cy.get("h6").contains("Payment Records"); - cy.get("h6").contains("Vulnerabilities"); - cy.get("h6").contains("Registration Details"); - cy.get("h6").contains("Activity Log"); - }); - }); - describe("Component tests Households Population", () => { - context("Households Population Filters", () => { - it.skip("Households Population Search filter", () => {}); - it.skip("Households Population Programme filter", () => {}); - it.skip("Households Population Residence Status filter", () => {}); - it.skip("Households Population Admin Level 2 filter", () => {}); - it.skip("Household Size filter", () => {}); - it.skip("Households Population Sorted by filter", () => {}); - it.skip("Households Population Status filter", () => {}); - }); - }); - describe.skip("E2E tests Households Population", () => {}); - - describe("Regression tests Households Population", () => { - it("174517: Check clear cache", () => { - cy.scenario([ - "Go to Households page", - "Press Menu User Profile button", - "Press Clear Cache button", - "Check if page was opened properly", - ]); - populationHouseholds.clearCache(); - populationHouseholds - .getPageHeaderTitle() - .contains(populationHouseholds.textTitle); - }); - }); -}); diff --git a/cypress/cypress/e2e/07-population-module/population_individuals.cy.js b/cypress/cypress/e2e/07-population-module/population_individuals.cy.js deleted file mode 100644 index 98250c97d8..0000000000 --- a/cypress/cypress/e2e/07-population-module/population_individuals.cy.js +++ /dev/null @@ -1,67 +0,0 @@ -import PopulationIndividuals from "../../page-objects/pages/population_module/population_individuals.po"; -import IPDetailsPage from "../../page-objects/pages/population_module/individuals_details_page.po"; - -let populationIndividuals = new PopulationIndividuals(); -let individualsDetailsPage = new IPDetailsPage(); - -describe("Individuals Module", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.initScenario("payment_plan"); - cy.navigateToHomePage(); - cy.get("span").contains("Population").click(); - cy.get("span").contains("Individuals"); - cy.get("span").contains("Households"); - cy.get("span").contains("Individuals").click(); - // populationIndividuals.getButtonFiltersExpand().click(); - }); - describe("Smoke tests Individuals Population module", () => { - it.skip("Check Individuals Population page", () => {}); - it("Check Individuals Population Details page", () => { - cy.scenario([ - "Go to Population page", - "Go to Individuals page", - "Check if all elements on page exist", - ]); - cy.wait(1000); // eslint-disable-line cypress/no-unnecessary-waiting - cy.get("div").contains("Individuals"); - cy.get('[data-cy="table-title"]').contains("Individuals"); - cy.get('[data-cy="individual-table-row"]').first().click({ force: true }); - cy.wait(1000); // eslint-disable-line cypress/no-unnecessary-waiting - cy.get('[data-cy="page-header-container"]').contains("Individual ID:"); - cy.get("h6").contains("Bio Data"); - cy.get("h6").contains("Vulnerabilities"); - cy.get("h6").contains("Activity Log"); - }); - }); - describe("Component tests Individuals Population", () => { - context("Individuals Population Filters", () => { - it.skip("Individuals Population Search filter", () => {}); - it.skip("Individuals Population Programme filter", () => {}); - it.skip("Individuals Population Residence Status filter", () => {}); - it.skip("Individuals Population Admin Level 2 filter", () => {}); - it.skip("Individuals Size filter", () => {}); - it.skip("Individuals Population Sorted by filter", () => {}); - it.skip("Individuals Population Status filter", () => {}); - }); - }); - describe.skip("E2E tests Individuals Population", () => {}); - - describe("Regression tests Individuals Population", () => { - it("174517: Check clear cache", () => { - cy.scenario([ - "Go to Individuals page", - "Press Menu User Profile button", - "Press Clear Cache button", - "Check if page was opened properly", - ]); - populationIndividuals.clearCache(); - cy.get('h5[data-cy="page-header-title"]').contains("Individuals"); - // ToDo: populationIndividuals - // .getTitle() - // .contains(populationIndividuals.textTitle); - }); - }); -}); diff --git a/cypress/cypress/e2e/08-grievance/feedback.cy.js b/cypress/cypress/e2e/08-grievance/feedback.cy.js deleted file mode 100644 index 0a6197272c..0000000000 --- a/cypress/cypress/e2e/08-grievance/feedback.cy.js +++ /dev/null @@ -1,487 +0,0 @@ -import Feedback from "../../page-objects/pages/grievance/feedback.po"; -import FeedbackDetailsPage from "../../page-objects/pages/grievance/details_feedback_page.po"; -import NewFeedback from "../../page-objects/pages/grievance/new_feedback.po"; -import NewTicket from "../../page-objects/pages/grievance/new_ticket.po"; -import GrievanceDetailsPage from "../../page-objects/pages/grievance/details_grievance_page.po"; -import ErrorPage from "../../page-objects/404.po"; - -let error404Page = new ErrorPage(); -let feedbackPage = new Feedback(); -let feedbackDetailsPage = new FeedbackDetailsPage(); -let newFeedbackPage = new NewFeedback(); -let grievanceNewTicketPage = new NewTicket(); -let grievanceDetailsPage = new GrievanceDetailsPage(); - -describe.skip("Grievance - Feedback", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.navigateToHomePage(); - feedbackPage.clickMenuButtonGrievance(); - feedbackPage.clickMenuButtonFeedback(); - }); - - describe("Smoke tests Feedback", () => { - it("Check Feedback page", () => { - cy.scenario([ - "Go to Grievance page", - "Go to Feedback page", - "Elements of Grievance menu are visible", - "Check if all elements on page exist", - ]); - feedbackPage.checkGrievanceMenu(); - feedbackPage.checkElementsOnPage(); - }); - it("Check Feedback Details page", () => { - cy.scenario([ - "Go to Grievance page", - "Go to Feedback page", - "Choose first row from Feedbacks List", - "Check if all elements on details page exist", - ]); - feedbackPage.chooseTableRow(0); - feedbackDetailsPage.checkElementsOnPage(); - }); - it("Check Feedback New Ticket page", () => { - cy.scenario([ - "Go to Grievance page", - "Press Submit New Feedback button", - "Check if all elements on details page exist", - ]); - feedbackPage.clickButtonSubmitNewFeedback(); - newFeedbackPage.checkElementsOnPage(); - }); - }); - - describe("Component tests Feedback", () => { - context("Feedback Filters", () => { - [["FED-23-0001", 1, "Feedback ID: FED-23-0001"]].forEach((testData) => { - it("Grievance Search filter", () => { - cy.scenario([ - "Go to Grievance page", - "Press Feedback button in menu", - 'Type in Search filter "Not Exist"', - "Press button Apply", - "Check if Tickets List is empty", - "Press button Clear", - "Type in Search filter " + testData[0], - "Press button Apply", - `Check if Tickets List has ${testData[1]} rows`, - "Press first row from Ticket List and check data", - "Come back to Feedback Page", - ]); - feedbackPage.useSearchFilter("Not Exist"); - feedbackPage.expectedNumberOfRows(0); - feedbackPage.getButtonClear().click(); - feedbackPage.useSearchFilter(testData[0]); - feedbackPage.expectedNumberOfRows(testData[1]); - feedbackPage.chooseTicketListRow(0, testData[0]).click(); - feedbackDetailsPage.getTitlePage().contains(testData[2]); - }); - }); - it("Feedback Issue Type filter", () => { - cy.scenario([ - "Go to Grievance page", - "Press Feedback button in menu", - "Choose Type Positive", - "Press button Apply", - `Check if Tickets List has 1 row`, - "Press first row from Ticket List and check data", - "Come back to Feedback Page", - "Press button Clear", - `Check if Tickets List has 2 row`, - "Choose Type Positive", - "Press button Apply", - `Check if Tickets List has 1 row`, - "Press first row from Ticket List and check data", - "Come back to Feedback Page", - ]); - feedbackPage.useIssueTypeFilter("Positive feedback"); - feedbackPage.expectedNumberOfRows(1); - feedbackPage.chooseTicketListRow(0, "FED-23-0002").click(); - feedbackDetailsPage.getTitlePage().contains("Feedback ID: FED-23-0002"); - feedbackDetailsPage.pressBackButton(); - feedbackPage.getButtonClear().click(); - feedbackPage.useIssueTypeFilter("Negative feedback"); - feedbackPage.expectedNumberOfRows(1); - feedbackPage.chooseTicketListRow(0, "FED-23-0001").click(); - feedbackDetailsPage.getTitlePage().contains("Feedback ID: FED-23-0001"); - feedbackDetailsPage.clickMenuButtonFeedback(); - }); - it.skip("Feedback Creation Date filter", () => { - cy.scenario([ - "Go to Grievance page", - "Press Feedback button in menu", - "Type date in creation date filter", - "Press creation date filter button", - "Check calendar popup", - "Press button Apply", - "Check if Creation date", - "Choose other day using calendar popup", - "Press button Apply", - `Check if Tickets List has 2 rows`, - ]); - feedbackPage.changeCreationDateTo("2024-01-01"); - feedbackPage.checkDateFilterTo("2024-01-01"); - feedbackPage.openCreationDateToFilter(); - feedbackPage.checkDateTitleFilter("Mon, Jan 1"); - feedbackPage.getButtonClear().click(); - feedbackPage.changeCreationDateTo("2023-01-30"); - feedbackPage.expectedNumberOfRows(2); - feedbackPage.openCreationDateToFilter(); - feedbackPage.chooseDayFilterPopup(8); - feedbackPage.checkDateFilterTo("2023-01-08"); - feedbackPage.getButtonApply().click(); - feedbackPage.expectedNumberOfRows(0); - }); - describe("Feedback Created by filter", () => { - before(() => { - feedbackPage.getButtonSubmitNewFeedback().click(); - newFeedbackPage.chooseOptionByName("Positive"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getReceivedConsent().click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getLabelCategory().contains("Feedback"); - newFeedbackPage.getDescription().type("Test Description"); - newFeedbackPage.getButtonNext().contains("Save").click(); - feedbackPage.clickMenuButtonFeedback(); - }); - after(() => { - cy.initScenario("init_clear"); - cy.adminLogin(); - }); - it("Feedback Created by filter", () => { - cy.scenario([ - "Go to Grievance page", - "Press Feedback button in menu", - "Create new feedback cy Cypress User", - "Press Feedback button in menu", - "Choose Type Cypress User", - "Press button Apply", - `Check if Tickets List is empty`, - "Press button Clear", - "Choose Type Root Rootkowski", - "Press button Apply", - `Check if Tickets List has 2 row`, - ]); - feedbackPage.useCreatedByFilter("Cypress User"); - feedbackPage.expectedNumberOfRows(1); - feedbackPage.getButtonClear().click(); - feedbackPage.expectedNumberOfRows(3); - feedbackPage.useCreatedByFilter("Root Rootkowski"); - feedbackPage.expectedNumberOfRows(2); - }); - }); - }); - context.only("Create New Feedback", () => { - it("Create New Feedback - Negative Feedback", () => { - cy.scenario([ - "Go to Grievance page", - "Press Feedback button in menu", - "Press Submit New Feedback button", - "Choose Issue Type: Negative Feedback", - "Press button Next", - "Choose household and press Next button", - "Select 'Received Consent*' and press Next button", - "Fill all fields", - `Press button Save`, - `Check data in details page`, - ]); - feedbackPage.getButtonSubmitNewFeedback().click(); - newFeedbackPage.chooseOptionByName("Negative"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getHouseholdTableRows(0).click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getReceivedConsent().click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getLabelCategory().contains("Feedback"); - newFeedbackPage.getIssueType().contains("Negative Feedback"); - newFeedbackPage.getDescription().type("Test Description"); - newFeedbackPage.getComments().type("Test comment"); - newFeedbackPage.getAdminAreaAutocomplete().click(); - newFeedbackPage.getAdminAreaAutocomplete().type("Zari"); - newFeedbackPage.getOption().contains("Zari").click(); - newFeedbackPage.getInputArea().type("Test Area"); - newFeedbackPage.getInputLanguage().type("Random Language"); - newFeedbackPage.getButtonNext().contains("Save").click(); - feedbackDetailsPage.getDescription().contains("Test Description"); - feedbackDetailsPage.getComments().contains("Test comment"); - feedbackDetailsPage.getAdministrativeLevel2().contains("Zari"); - feedbackDetailsPage.getCategory().contains("Feedback"); - feedbackDetailsPage.getIssueType().contains("Negative Feedback"); - feedbackDetailsPage.getAreaVillagePayPoint().contains("Test Area"); - feedbackDetailsPage.getLanguagesSpoken().contains("Random Language"); - feedbackDetailsPage.getTitlePage().contains("Feedback"); - }); - it("Create New Feedback - Positive Feedback", () => { - cy.scenario([ - "Go to Grievance page", - "Press Feedback button in menu", - "Press Submit New Feedback button", - "Choose Issue Type: Positive Feedback", - "Press button Next", - "Choose household and press Next button", - "Select 'Received Consent*' and press Next button", - "Fill all fields", - `Press button Save`, - `Check data in details page`, - ]); - feedbackPage.getButtonSubmitNewFeedback().click(); - newFeedbackPage.chooseOptionByName("Positive"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getHouseholdTableRows(1).click(); - newFeedbackPage.getLookUpIndividual().click(); - newFeedbackPage.getIndividualTableRow(0).click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getReceivedConsent().click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getLabelCategory().contains("Feedback"); - // ToDo Add after fix bug: XXX - // newFeedbackPage.getIssueType().contains("Positive Feedback"); - newFeedbackPage.getDescription().type("Test Description"); - newFeedbackPage.getComments().type("Test comment"); - newFeedbackPage.getAdminAreaAutocomplete().click(); - newFeedbackPage.getAdminAreaAutocomplete().type("Zari"); - newFeedbackPage.getOption().contains("Zari").click(); - newFeedbackPage.getInputArea().type("Test Area"); - newFeedbackPage.getInputLanguage().type("Random Language"); - newFeedbackPage.getButtonNext().contains("Save").click(); - feedbackDetailsPage.getDescription().contains("Test Description"); - feedbackDetailsPage.getComments().contains("Test comment"); - feedbackDetailsPage.getAdministrativeLevel2().contains("Zari"); - feedbackDetailsPage.getCategory().contains("Feedback"); - feedbackDetailsPage.getIssueType().contains("Positive Feedback"); - feedbackDetailsPage.getAreaVillagePayPoint().contains("Test Area"); - feedbackDetailsPage.getLanguagesSpoken().contains("Random Language"); - feedbackDetailsPage.getTitlePage().contains("Feedback"); - }); - it("Create New Feedback - Cancel", () => { - cy.scenario([ - "Go to Grievance page", - "Press Feedback button in menu", - "Press Submit New Feedback button", - "Press button Cancel", - "Press Submit New Feedback button", - "Press button Next", - "Issue Type is required", - "Choose Issue Type: Positive Feedback", - "Press button Next", - "Press button Back", - "Press button Next", - "Press button Cancel", - "Press Submit New Feedback button", - "Choose Issue Type: Positive Feedback", - "Press button Next", - "Choose household and individual", - "Press button Next", - "Press button Back", - "Press button Next", - "Press button Cancel", - "Press Submit New Feedback button", - "Choose Issue Type: Positive Feedback", - "Press button Next", - "Choose household and individual", - "Press button Next", - "Select 'Received Consent*'", - "Press button Next", - "Press button Back", - "Press button Next", - "Press button Cancel", - "Press Submit New Feedback button", - "Choose Issue Type: Positive Feedback", - "Press button Next", - "Choose household and individual", - "Press button Next", - "Select 'Received Consent*'", - "Press button Next", - "Fill all fields", - `Press button Save`, - ]); - feedbackPage.getButtonSubmitNewFeedback().click(); - newFeedbackPage.getButtonBack().should("be.disabled"); - newFeedbackPage.getButtonCancel().click(); - feedbackPage.getTitlePage().contains("Feedback"); - feedbackPage.getButtonSubmitNewFeedback().click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getInputIssueType().contains("Issue Type is required"); - newFeedbackPage.chooseOptionByName("Positive"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getButtonCancel().click(); - feedbackPage.getButtonSubmitNewFeedback().click(); - newFeedbackPage.chooseOptionByName("Negative"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getButtonBack().click(); - newFeedbackPage.chooseOptionByName("Positive"); - newFeedbackPage.getButtonBack().should("be.disabled"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getReceivedConsent().click(); - newFeedbackPage.getButtonBack().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getReceivedConsent().click(); - newFeedbackPage.getButtonCancel().click(); - feedbackPage.getButtonSubmitNewFeedback().click(); - newFeedbackPage.chooseOptionByName("Negative"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getReceivedConsent().click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getDescription().should("be.visible"); - newFeedbackPage.getButtonBack().click(); - newFeedbackPage.getReceivedConsent().should("be.visible"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getDescription().should("be.visible"); - newFeedbackPage.getButtonCancel().click(); - feedbackPage.getButtonSubmitNewFeedback().click(); - newFeedbackPage.chooseOptionByName("Negative"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getReceivedConsent().click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getDescription().type("Test Description"); - newFeedbackPage.getButtonNext().contains("Save").click(); - }); - it("Create Linked Ticket", () => { - cy.scenario([ - "Go to Grievance page", - "Press Feedback button in menu", - "Press Submit New Feedback button", - "Choose Issue Type: Negative Feedback", - "Press button Next", - "Choose household and individual", - "Press Next button", - "Select 'Received Consent*' and press Next button", - "Fill all fields", - `Press button Save`, - `Check data in details page`, - `Press Create Linked Ticket`, - "Create Grievance Ticket", - "Check If Grievance Ticket is linked to Feedback", - ]); - feedbackPage.getButtonSubmitNewFeedback().click(); - newFeedbackPage.chooseOptionByName("Negative"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getHouseholdTableRows(1).click(); - newFeedbackPage.getLookUpIndividual().click(); - newFeedbackPage.getIndividualTableRow(0).click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getReceivedConsent().click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getDescription().type("Test Description"); - newFeedbackPage.getButtonNext().contains("Save").click(); - feedbackDetailsPage - .getTitlePage() - .contains("Feedback ID:") - .then(($textFeedbackID) => { - const feedbackID = $textFeedbackID.text().split("ID: ")[1]; - feedbackDetailsPage.getButtonCreateLinkedTicket().click(); - grievanceNewTicketPage.chooseCategory("Referral"); - grievanceNewTicketPage.getButtonNext().click(); - grievanceNewTicketPage.getReceivedConsent().click(); - grievanceNewTicketPage.getButtonNext().click(); - grievanceNewTicketPage - .getDescription() - .type("Test Grievance Ticket"); - grievanceNewTicketPage.getButtonNext().contains("Save").click(); - grievanceDetailsPage - .getTitle() - .contains("Ticket ID: ") - .then(($textGrievanceID) => { - const grievanceID = $textGrievanceID.text().split("ID: ")[1]; - feedbackPage.clickMenuButtonFeedback(); - feedbackPage - .getRows() - .contains(feedbackID) - .parent() - .parent() - .contains(grievanceID) - .parent() - .parent() - .click(); - feedbackDetailsPage - .getLabelTicketId() - .contains(grievanceID) - .click(); - }); - }); - }); - }); - - context("Edit Feedback", () => { - it.skip("Edit Feedback", () => {}); - }); - }); - describe("E2E tests Feedback", () => { - // ToDo: Enable after fix - it.skip("404 Error page - refresh", () => { - cy.scenario([ - "Go to Grievance page", - "Go to Feedback page", - "Click first row", - "Delete part of URL", - "Check if 404 occurred", - "Press button refresh", - "Check if 404 occurred", - ]); - feedbackPage.getRows().first().click(); - feedbackDetailsPage.getTitlePage().contains("Feedback"); - cy.url().then((url) => { - let newUrl = url.slice(0, -10); - cy.visit(newUrl); - error404Page - .getPageNoFound() - .its("response.statusCode") - .should("eq", 200); - error404Page.getButtonRefresh().click(); - error404Page - .getPageNoFound() - .its("response.statusCode") - .should("eq", 200); - }); - }); - }); - describe("Regression tests Feedback", () => { - it("171154: GPF: Program is still optional in Feedback", () => { - cy.scenario([ - "Go to Feedback page", - "Press button Submit New Feedback", - "Choose type (e.g. Negative) and press Next button", - "Choose Household and press Next button", - "Select Received Consent* and press Next button", - ]); - feedbackPage.getButtonSubmitNewFeedback().click(); - newFeedbackPage.chooseOptionByName("Negative"); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getHouseholdTab().should("be.visible"); - newFeedbackPage.getHouseholdTableRows(0).click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getReceivedConsent().click(); - newFeedbackPage.getButtonNext().click(); - newFeedbackPage.getLabelCategory().contains("Feedback"); - newFeedbackPage.getIssueType().contains("Negative Feedback"); - cy.get("label").should("not.contain", "Programme Title"); - }); - it("174517: Check clear cache", () => { - cy.scenario([ - "Go to Feedback page", - "Press Menu User Profile button", - "Press Clear Cache button", - "Check if page was opened properly", - ]); - feedbackPage.clearCache(); - feedbackPage.checkElementsOnPage(); - }); - }); -}); diff --git a/cypress/cypress/e2e/08-grievance/grievance_dashboard.cy.js b/cypress/cypress/e2e/08-grievance/grievance_dashboard.cy.js deleted file mode 100644 index 8aaadad2eb..0000000000 --- a/cypress/cypress/e2e/08-grievance/grievance_dashboard.cy.js +++ /dev/null @@ -1,51 +0,0 @@ -import GrievanceDashboard from "../../page-objects/pages/grievance/grievance_dashboard.po"; - -let grievanceDashboard = new GrievanceDashboard(); - -describe.skip("Grievance Dashboard", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.navigateToHomePage(); - grievanceDashboard.clickMenuButtonGrievance(); - grievanceDashboard.clickMenuButtonGrievanceDashboard(); - }); - - describe("Smoke tests Grievance Dashboard", () => { - it("Check Grievance Dashboard page", () => { - cy.scenario([ - "Go to Grievance page", - "Go to Grievance Dashboard page", - "Check if all elements on details page exist", - ]); - grievanceDashboard.checkElementsOnPage(); - }); - }); - - describe("Component tests Grievance Dashboard", () => { - context("Check numbers of tickets", () => { - it.skip("ToDo", () => {}); - }); - context("Check number of closed tickets", () => { - it.skip("ToDo", () => {}); - }); - context("Check average resolution", () => { - it.skip("ToDo", () => {}); - }); - }); - describe.skip("E2E tests Grievance Dashboard", () => {}); - - describe("Regression tests Grievance Dashboard", () => { - it("174517: Check clear cache", () => { - cy.scenario([ - "Go to Grievance Dashboard page", - "Press Menu User Profile button", - "Press Clear Cache button", - "Check if page was opened properly", - ]); - grievanceDashboard.clearCache(); - grievanceDashboard.checkElementsOnPage(); - }); - }); -}); diff --git a/cypress/cypress/e2e/08-grievance/grievance_tickets.cy.js b/cypress/cypress/e2e/08-grievance/grievance_tickets.cy.js deleted file mode 100644 index bfd86e59eb..0000000000 --- a/cypress/cypress/e2e/08-grievance/grievance_tickets.cy.js +++ /dev/null @@ -1,1329 +0,0 @@ -import Grievance from "../../page-objects/pages/grievance/grievance_tickets.po"; -import GrievanceDetailsPage from "../../page-objects/pages/grievance/details_grievance_page.po"; -import NewTicket from "../../page-objects/pages/grievance/new_ticket.po"; - -let grievancePage = new Grievance(); -let grievanceDetailsPage = new GrievanceDetailsPage(); -let newTicketPage = new NewTicket(); - -const systemGenerated = "GRV-0000004"; -const userType6 = "GRV-0000006"; -const userType7 = "GRV-0000007"; -const userType4 = "GRV-0000005"; -const userType2 = "GRV-0000002"; -const userType1 = "GRV-0000001"; - -describe.skip("Grievance", () => { - before(function () { - cy.initScenario("init_clear"); - cy.fixture("grievance_new_ticket").as("newTicket"); - cy.adminLogin(); - cy.navigateToHomePage(); - grievancePage.clickMenuButtonGrievance(); - }); - beforeEach(() => { - grievancePage.clickMenuButtonGrievanceTickets(); - }); - - describe("Smoke tests Grievance", () => { - it("Check Grievance page", () => { - cy.scenario([ - "Go to Grievance page", - "Elements of Grievance menu are visible", - "Check if all elements on page exist", - ]); - grievancePage.checkGrievanceMenu(); - grievancePage.checkElementsOnUserGeneratedPage(); - grievancePage.checkElementsOnSystemGeneratedPage(); - }); - it("Check Grievance Details page", () => { - cy.scenario([ - "Go to Grievance page", - "Press tab: System-Generated", - "Choose first row from Grievance Tickets List", - "Check if all elements on details page exist", - ]); - grievancePage.getTabSystemGenerated().click(); - cy.url().should("include", "/system-generated"); - grievancePage - .getTicketListRow() - .eq(0) - .find("a") - .contains(systemGenerated) - .click(); - grievanceDetailsPage.checkGrievanceMenu(); - grievanceDetailsPage.getButtonAssignToMe().should("be.visible"); - grievanceDetailsPage.checkElementsOnPage(); - grievanceDetailsPage - .getCreateLinkedTicket() - .scrollIntoView() - .should("be.visible"); - grievanceDetailsPage - .getMarkDuplicate() - .scrollIntoView() - .should("be.visible"); - grievanceDetailsPage.checkElementsCells(); - }); - it("Check Grievance New Ticket page", () => { - cy.scenario([ - "Go to Grievance page", - "Press New Ticket button", - "Check if all elements on details page exist", - ]); - grievancePage.getButtonNewTicket().click(); - newTicketPage.checkElementsOnPage(); - }); - }); - - describe("Component tests Grievance", () => { - context("Export", () => { - it.skip("Export", () => {}); - }); - context("Grievance Filters", () => { - beforeEach(() => { - grievancePage.getButtonClear().click(); - }); - [ - ["USER-GENERATED", userType1, 1, "Ticket ID: " + userType1], - [ - "SYSTEM-GENERATED", - systemGenerated, - 1, - "Ticket ID: " + systemGenerated, - ], - ].forEach((testData) => { - it("Grievance Search filter " + testData[0], () => { - cy.scenario([ - "Go to Grievance page", - "Choose tab: " + testData[0], - 'Type in Search filter "Not Exist"', - "Press button Apply", - "Check if Tickets List is empty", - "Press button Clear", - "Type in Search filter " + testData[1], - "Press button Apply", - `Check if Tickets List has ${testData[2]} rows`, - "Press first row from Ticket List and check data", - "Come back to Grievance Page", - ]); - grievancePage.chooseTab(testData[0]); - grievancePage.useSearchFilter("Not Exist"); - grievancePage.expectedNumberOfRows(0); - grievancePage.getButtonClear().click(); - grievancePage.useSearchFilter(testData[1]); - grievancePage.expectedNumberOfRows(testData[2]); - grievancePage.chooseTicketListRow(0, testData[1]).click(); - grievanceDetailsPage.getTitle().contains(testData[3]); - }); - }); - [ - [ - "USER-GENERATED", - "HH-20-0000.0001", - 1, - "Kowalska", - 1, - "Ticket ID: " + userType6, - userType6, - ], - [ - "SYSTEM-GENERATED", - "HH-20-0000.0002", - 1, - "Romaniak", - 1, - "Ticket ID: " + systemGenerated, - systemGenerated, - ], - ].forEach((testData) => { - it("Grievance Search Type filter " + testData[0], () => { - cy.scenario([ - "Go to Grievance page", - "Choose tab: " + testData[0], - "Change ticket type filter to Household ID", - "Change ticket type filter to Ticket ID", - "Change ticket type filter to Last Name", - "Change ticket type filter to Household ID", - 'Type in Search filter "Not Exist"', - "Press button Apply", - "Check if Tickets List is empty", - "Press button Clear", - "Change ticket type filter to Household ID", - "Type in Search filter " + testData[1], - "Press button Apply", - `Check if Tickets List has ${testData[2]} rows`, - "Press first row from Ticket List and check data", - "Come back to Grievance Page", - "Change ticket type filter to Last Name", - 'Type in Search filter "Not Exist"', - "Press button Apply", - "Check if Tickets List is empty", - "Press button Clear", - "Change ticket type filter to Household ID", - "Type in Search filter " + testData[3], - "Press button Apply", - `Check if Tickets List has ${testData[4]} rows`, - "Press first row from Ticket List and check data", - "Come back to Grievance Page", - ]); - grievancePage.chooseTab(testData[0]); - grievancePage.checkTicketTypeFilterText("Ticket ID"); - grievancePage.chooseTicketTypeHouseholdID(); - grievancePage.checkTicketTypeFilterText("Household ID"); - grievancePage.chooseTicketTypeTicketID(); - grievancePage.checkTicketTypeFilterText("Ticket ID"); - grievancePage.chooseTicketTypeLastName(); - grievancePage.checkTicketTypeFilterText("Full Name"); - grievancePage.chooseTicketTypeHouseholdID(); - grievancePage.useSearchFilter("Not Exist"); - grievancePage.expectedNumberOfRows(0); - grievancePage.getButtonClear().click(); - grievancePage.chooseTicketTypeHouseholdID(); - grievancePage.useSearchFilter(testData[1]); - grievancePage.expectedNumberOfRows(testData[2]); - grievancePage.chooseTicketListRow(0, testData[6]).click(); - grievanceDetailsPage.getTitle().contains(testData[5]); - grievanceDetailsPage.pressBackButton(); - - grievancePage.getButtonClear().click(); - grievancePage.chooseTicketTypeLastName(); - grievancePage.useSearchFilter("Not Exist"); - grievancePage.expectedNumberOfRows(0); - grievancePage.getButtonClear().click(); - grievancePage.chooseTicketTypeLastName(); - grievancePage.useSearchFilter(testData[3]); - grievancePage.expectedNumberOfRows(testData[4]); - }); - }); - [ - ["Assigned", 1, userType6], - ["For Approval", 1, userType1], - ["In Progress", 1, userType4], - ["On Hold", 1, "GRV-0000003"], - ["New", 2, "GRV-0000002"], - ].forEach((testData) => { - it(`Grievance Status filter ${testData[0]}`, () => { - cy.scenario([ - "Go to Grievance page", - "Status filter: " + testData[0], - "Press button Apply", - `Check if Tickets List has ${testData[1]} rows`, - "Press button Clear", - ]); - grievancePage.chooseStatusFilter(testData[0]); - grievancePage.expectedNumberOfRows(testData[1]); - grievancePage.chooseTicketListRow(0, testData[2]); - grievancePage.getButtonClear().click(); - }); - }); - it("Grievance FSP filter", () => { - // ToDo After fix bug: 165198 - }); - [ - ["USER-GENERATED", 1], - ["SYSTEM-GENERATED", 0], - ].forEach((testData) => { - it.skip(`Grievance Creation Date From filter of ${testData[0]} tab`, () => { - grievancePage.chooseTab(testData[0]); - grievancePage.changeCreationDateFrom("2024-01-01"); - grievancePage.checkDateFilterFrom("2024-01-01"); - grievancePage.openCreationDateFromFilter(); - grievancePage.checkDateTitleFilter("Mon, Jan 1"); - grievancePage.openCreationDateFromFilter(); - grievancePage.chooseDayFilterPopup(20); - grievancePage.checkDateFilterFrom("2024-01-20"); - grievancePage.getButtonApply().click(); - grievancePage.expectedNumberOfRows(testData[1]); - }); - }); - [ - ["USER-GENERATED", 5], - ["SYSTEM-GENERATED", 1], - ].forEach((testData) => { - it.skip(`Grievance Creation Date To filter of ${testData[0]} tab`, () => { - cy.scenario([ - "Go to Grievance page", - "Choose tab: " + testData[0], - "Type in Search filter " + testData[1], - "Press button Apply", - `Check if Tickets List has ${testData[2]} rows`, - "Press first row from Ticket List and check data", - "Come back to Grievance Page", - ]); - grievancePage.chooseTab(testData[0]); - grievancePage.changeCreationDateTo("2024-01-01"); - grievancePage.checkDateFilterTo("2024-01-01"); - grievancePage.openCreationDateToFilter(); - grievancePage.checkDateTitleFilter("Mon, Jan 1"); - grievancePage.openCreationDateToFilter(); - grievancePage.chooseDayFilterPopup(20); - grievancePage.checkDateFilterTo("2024-01-20"); - grievancePage.getButtonApply().click(); - grievancePage.expectedNumberOfRows(testData[1]); - }); - }); - - [ - ["Data Change", userType6], - ["Sensitive Grievance", userType2], - ["Referral", userType1], - ["Grievance Complaint", userType7], - ].forEach((testData) => { - it(`Grievance Category filter - ${testData[0]}`, () => { - cy.scenario([ - "Go to Grievance page", - "Choose Category filter: " + testData[0], - "Press button Apply", - "Check if Tickets List has " + testData[1], - "Press button Clear", - ]); - grievancePage.chooseCategoryFilter(testData[0]); - grievancePage.chooseTicketListRow(0, testData[1]); - }); - }); - it("Grievance Admin Level 2 filter - USER-GENERATED", () => { - cy.scenario([ - "Go to Grievance page", - "Choose tab: USER-GENERATED", - "Type in Admin Level 2 filter: Andarab", - "Press button Apply", - `Check if Tickets List has GRV-0000003`, - ]); - grievancePage.chooseAdminFilter("Andarab"); - grievancePage.chooseTicketListRow(1, "GRV-0000003"); - }); - it(`Grievance Admin Level 2 filter - SYSTEM-GENERATED`, () => { - cy.scenario([ - "Go to Grievance page", - "Choose tab: SYSTEM-GENERATED", - "Type in Admin Level 2 filter: Andarab", - "Press button Apply", - `Check if Tickets List has 0 rows`, - ]); - grievancePage.chooseTab("SYSTEM-GENERATED"); - grievancePage.chooseAdminFilter("Andarab"); - grievancePage.expectedNumberOfRows(0); - }); - [ - ["USER-GENERATED", 2], - ["SYSTEM-GENERATED", 0], - ].forEach((testData) => { - it.skip(`Grievance Assignee filter - ${testData[0]}`, () => { - cy.scenario([ - "Go to Grievance page", - "Choose tab: " + testData[0], - "Type in Assignee filter: root@root.com", - "Press button Apply", - `Check if Tickets List has ${testData[1]} rows`, - ]); - grievancePage.chooseTab(testData[0]); - grievancePage.chooseAssigneeFilter("root@root.com"); - grievancePage.expectedNumberOfRows(testData[1]); - }); - }); - it("Grievance Similarity Score filter", () => { - cy.scenario([ - "Go to Grievance page", - "Choose tab: SYSTEM-GENERATED", - "Type in Similarity Score From filter: 5", - "Press button Apply", - `Check if Tickets List has 1 rows`, - "Type in Similarity Score From filter: 10", - "Press button Apply", - `Check if Tickets List has 0 rows`, - "Press button Clear", - `Check if Tickets List has 1 rows`, - "Type in Similarity Score From filter: 5", - "Type in Similarity Score To filter: 10", - `Check if Tickets List has 1 rows`, - "Type in Similarity Score From filter: 4", - "Type in Similarity Score To filter: 5", - "Press button Apply", - `Check if Tickets List has 0 rows`, - ]); - grievancePage.chooseTab("SYSTEM-GENERATED"); - grievancePage.getSimilarityScoreFromFilter().type(5); - grievancePage.getButtonApply().click(); - grievancePage.expectedNumberOfRows(1); - grievancePage.getSimilarityScoreFromFilter().clear().type(10); - grievancePage.getButtonApply().click(); - grievancePage.expectedNumberOfRows(0); - grievancePage.getButtonClear().click(); - grievancePage.expectedNumberOfRows(1); - grievancePage.getSimilarityScoreFromFilter().type(5); - grievancePage.getSimilarityScoreToFilter().type(10); - grievancePage.getButtonApply().click(); - grievancePage.expectedNumberOfRows(1); - grievancePage.getSimilarityScoreFromFilter().clear().type(4); - grievancePage.getSimilarityScoreToFilter().clear().type(5); - grievancePage.getButtonApply().click(); - grievancePage.expectedNumberOfRows(0); - }); - [ - ["USER-GENERATED", userType1], - ["SYSTEM-GENERATED", systemGenerated], - ].forEach((testData) => { - it("Grievance Registration Date Import filter", () => { - cy.scenario([ - "Go to Grievance page", - "Choose tab: " + testData[0], - "Type in Registration Date Import filter: Test", - "Press button Apply", - `Check if Tickets List has ${testData[1]}`, - ]); - grievancePage.chooseTab(testData[0]); - grievancePage.chooseRDIFilter("Test"); - grievancePage.expectedNumberOfRows(1); - grievancePage.chooseTicketListRow(0, testData[1]); - }); - }); - it.skip("Grievance Preferred language filter", () => { - // ToDo: Language filter does not work. - }); - [ - ["USER-GENERATED", "High", 1, userType6], - ["USER-GENERATED", "Low", 1, "GRV-0000003"], - ["USER-GENERATED", "Medium", 4, userType1], - ["SYSTEM-GENERATED", "Not set", 1, systemGenerated], - ].forEach((testData) => { - it(`Grievance Priority filter - ${testData[1]}`, () => { - cy.scenario([ - "Go to Grievance page", - "Choose tab: " + testData[0], - `Choose in Priority filter: ${testData[1]}`, - "Press button Apply", - `Check if Tickets List has ${testData[2]} rows`, - `Check if Tickets List has ${testData[3]}`, - ]); - grievancePage.chooseTab(testData[0]); - grievancePage.choosePriorityFilter(testData[1]); - grievancePage.expectedNumberOfRows(testData[2]); - grievancePage.chooseTicketListRow(0, testData[3]); - }); - }); - [ - ["USER-GENERATED", "Very urgent", 1, userType6], - ["USER-GENERATED", "Urgent", 4, userType1], - ["USER-GENERATED", "Not urgent", 1, "GRV-0000003"], - ["SYSTEM-GENERATED", "Not set", 1, systemGenerated], - ].forEach((testData) => { - it(`Grievance Urgency filter - ${testData[1]}`, () => { - cy.scenario([ - "Go to Grievance page", - "Choose tab: " + testData[0], - `Choose in Urgency filter: ${testData[1]}`, - "Press button Apply", - `Check if Tickets List has ${testData[2]} rows`, - `Check if Tickets List has ${testData[3]}`, - ]); - grievancePage.chooseTab(testData[0]); - grievancePage.chooseUrgencyFilter(testData[1]); - grievancePage.expectedNumberOfRows(testData[2]); - grievancePage.chooseTicketListRow(0, testData[3]); - }); - }); - it("Grievance Active Tickets filter", () => {}); - }); - context("Create New Ticket", () => { - beforeEach(() => { - grievancePage.getButtonNewTicket().click(); - newTicketPage.checkElementsOnPage(); - }); - ["DataChangeAddIndividual"].forEach((testData) => { - it("Create New Ticket - Data Change - Add Individual", function () { - let newTicket = this.newTicket[testData]; - cy.scenario([ - "Go to Grievance page", - "Press button New Ticket", - `Choose category: ${newTicket.category}`, - `Choose issue type: ${newTicket.issueType}`, - "Press button Next", - "Choose Household", - "Press button Next", - "Check Received Consent", - "Press button Next", - "Fill all fields", - "Press button Save", - "Check if ticket was created properly", - ]); - newTicketPage.chooseCategory(newTicket.category); - newTicketPage.chooseIssueType(newTicket.issueType); - newTicketPage - .getLabelCategoryDescription() - .contains( - newTicketPage.textCategoryDescription[newTicket.category] - ); - newTicketPage - .getLabelIssueTypeDescription() - .contains( - newTicketPage.textIssueTypeDescription[newTicket.issueType] - ); - newTicketPage.getButtonNext().click(); - newTicketPage.getHouseholdTab().should("be.visible"); - newTicketPage.getHouseholdTableRows(0).click(); - newTicketPage.getButtonNext().click(); - newTicketPage.getReceivedConsent().click(); - newTicketPage.getButtonNext().click(); - newTicketPage.getDescription().type(newTicket.description); - newTicketPage.getComments().type(newTicket.comment); - newTicketPage.getAdminAreaAutocomplete().click(); - newTicketPage.getAdminAreaAutocomplete().type(newTicket.adminArea) - newTicketPage.getOption().contains(newTicket.adminArea).click(); - newTicketPage.getInputArea().type(newTicket.inputArea); - newTicketPage.getInputLanguage().type(newTicket.inputLanguage); - newTicketPage.getSelectPriority().click(); - newTicketPage.getOption().contains(newTicket.priority).click(); - newTicketPage.getSelectUrgency().click(); - newTicketPage.getOption().contains(newTicket.urgency).click(); - newTicketPage.getLookUpButton().click(); - newTicketPage.getCheckbox().eq(0).contains(newTicket.lookUp); - newTicketPage.getCheckbox().eq(0).click(); - newTicketPage.getButtonNext().eq(1).click(); -// newTicketPage.getIndividualID().contains(newTicket.individualID); -// newTicketPage.getHouseholdID().contains(newTicket.householdID); - newTicketPage.getIssueTypeLabel().contains(newTicket.issueType); - newTicketPage.getCategory().contains(newTicket.category); - newTicketPage.getWhoAnswersPhone().type(newTicket.whoAnswersPhone); - newTicketPage - .getWhoAnswersAltPhone() - .type(newTicket.whoAnswersAltPhone); - newTicketPage.getRole().click(); - newTicketPage - .getOptionUndefined() - .eq(2) - .contains(newTicket.role) - .click(); - newTicketPage.getRelationship().click(); - newTicketPage - .getOptionUndefined() - .eq(5) - .contains(newTicket.relationship) - .click(); - newTicketPage.getPhoneNo().type(newTicket.phoneNo); - newTicketPage.getMiddleName().type(newTicket.middleName); - newTicketPage.getMaritalStatus().click(); - newTicketPage - .getOptionUndefined() - .eq(0) - .contains(newTicket.maritalStatus) - .click(); - newTicketPage.getPregnant().click(); - newTicketPage.getOptionZero().contains(newTicket.pregnant).click(); - newTicketPage.getDisability().click(); - newTicketPage - .getOptionUndefined() - .eq(1) - .contains(newTicket.disability) - .click(); - newTicketPage.getEmail().type(newTicket.email); - newTicketPage.getPhysicalDisability().click(); - newTicketPage - .getOptionUndefined() - .eq(1) - .contains(newTicket.physicalDisability) - .click(); - newTicketPage.getsSeeingDisability().click(); - newTicketPage - .getOptionUndefined() - .eq(3) - .contains(newTicket.seeingDisability) - .click(); - newTicketPage.getMemoryDisability().click(); - newTicketPage - .getOptionUndefined() - .eq(0) - .contains(newTicket.memoryDisability) - .click(); - newTicketPage.getHearingDisability().click(); - newTicketPage - .getOptionUndefined() - .eq(3) - .contains(newTicket.hearingDisability) - .click(); - newTicketPage.getCommsDisability().click(); - newTicketPage - .getOptionUndefined() - .eq(3) - .contains(newTicket.commsDisability) - .click(); - newTicketPage.getGivenName().type(newTicket.givenName); - newTicketPage.getGender().click(); - newTicketPage.getOptionUndefined().contains(newTicket.gender).click(); - newTicketPage.getFullName().type(newTicket.fullName); - newTicketPage.getFamilyName().type(newTicket.familyName); - newTicketPage.getEstimatedBirthDate().click(); - newTicketPage - .getOptionOne() - .contains(newTicket.estimatedBirthDate) - .click(); - newTicketPage.getWorkStatus().click(); - newTicketPage - .getOptionUndefined() - .contains(newTicket.workStatus) - .click(); - newTicketPage.getObservedDisability().click(); - newTicketPage.getOptionUndefined().eq(0).click(); - newTicketPage.getOptionUndefined().eq(1).click(); - newTicketPage.getOptionUndefined().eq(2).click().type("{esc}"); - newTicketPage.getSelfcareDisability().click(); - newTicketPage - .getOptionUndefined() - .contains(newTicket.selfcareDisability) - .click(); - newTicketPage.getBirthDate().type(newTicket.birthDate); - newTicketPage - .getPhoneNoAlternative() - .type(newTicket.phoneNoAlternative); - newTicketPage.getButtonNext().contains("Save").click(); - - grievanceDetailsPage.checkElementsOnPage( - grievanceDetailsPage.textStatusNew, - newTicket.priority, - newTicket.urgency, - grievanceDetailsPage.textNotAssigment, - newTicket.category - ); - grievanceDetailsPage - .getAdministrativeLevel() - .contains(newTicket.adminArea); - grievanceDetailsPage - .getLanguagesSpoken() - .contains(newTicket.inputLanguage); - grievanceDetailsPage.getAreaVillage().contains(newTicket.inputArea); - grievanceDetailsPage - .getLabelIssueType() - .contains(newTicket.issueType); - grievanceDetailsPage.getLabelTickets().contains(newTicket.lookUp); - grievanceDetailsPage.getLabelGENDER().contains(newTicket.gender); - grievanceDetailsPage.getLabelRole().contains(newTicket.role); - grievanceDetailsPage.getLabelPhoneNo().contains(newTicket.phoneNo); - grievanceDetailsPage.getLabelPregnant().contains(newTicket.pregnant); - grievanceDetailsPage.getLabelFullName().contains(newTicket.fullName); - grievanceDetailsPage - .getLabelBirthDate() - .contains(newTicket.birthDate); - grievanceDetailsPage.getLabelDisability().contains("not disabled"); - grievanceDetailsPage - .getLabelGivenName() - .contains(newTicket.givenName); - grievanceDetailsPage - .getLabelFamilyName() - .contains(newTicket.familyName); - grievanceDetailsPage - .getLabelMiddleName() - .contains(newTicket.middleName); - grievanceDetailsPage - .getLabelWorkStatus() - .contains(newTicket.workStatus); - grievanceDetailsPage - .getLabelRelationship() - .contains(newTicket.relationship); - grievanceDetailsPage - .getLabelMaritalStatus() - .contains(newTicket.maritalStatus); - grievanceDetailsPage - .getLabelCommsDisability() - .contains(newTicket.commsDisability); - grievanceDetailsPage - .getLabelSeeingDisability() - .contains(newTicket.seeingDisability); - grievanceDetailsPage - .getLabelWhoAnswersPhone() - .contains(newTicket.whoAnswersPhone); - grievanceDetailsPage - .getLabelHearingDisability() - .contains(newTicket.hearingDisability); - grievanceDetailsPage - .getLabelObservedDisability() - .contains("Communicating, Hearing, Memory"); - grievanceDetailsPage - .getLabelPhysicalDisability() - .contains(newTicket.physicalDisability); - grievanceDetailsPage - .getLabelSelfcareDisability() - .contains(newTicket.selfcareDisability); - grievanceDetailsPage - .getLabelEstimatedBirthDate() - .contains(newTicket.estimatedBirthDate); - grievanceDetailsPage - .getLabelPhoneNoAlternative() - .contains(newTicket.phoneNoAlternative); - grievanceDetailsPage - .getLabelWhoAnswersAltPhone() - .contains(newTicket.whoAnswersAltPhone); - }); - }); - ["Household Data Update - 1", "Household Data Update - 2"].forEach( - (testData) => { - it(`Create New Ticket - Data Change - ${testData}`, function () { - let newTicket = this.newTicket[testData]; - cy.scenario([ - "Go to Grievance page", - "Press button New Ticket", - `Choose category: ${newTicket.category}`, - `Choose issue type: ${newTicket.issueType}`, - "Press button Next", - "Choose Household", - "Press button Next", - "Check Received Consent", - "Press button Next", - "Fill all fields", - "Press button Save", - "Check if ticket was created properly", - ]); - newTicketPage.chooseCategory(newTicket.category); - newTicketPage.chooseIssueType(newTicket.issueType); - newTicketPage - .getLabelCategoryDescription() - .contains( - newTicketPage.textCategoryDescription[newTicket.category] - ); - newTicketPage - .getLabelIssueTypeDescription() - .contains( - newTicketPage.textIssueTypeDescription[newTicket.issueType] - ); - newTicketPage.getButtonNext().click(); - newTicketPage.getHouseholdTab().should("be.visible"); - newTicketPage.getHouseholdTableRows(0).click(); - newTicketPage.getIndividualTab().parent().should("be.disabled"); - newTicketPage.getButtonNext().click(); - newTicketPage.getReceivedConsent().click(); - newTicketPage.getButtonNext().click(); - newTicketPage.getDescription().type(newTicket.description); - newTicketPage.getComments().type(newTicket.comment); - newTicketPage.getAdminAreaAutocomplete().click(); - newTicketPage.getAdminAreaAutocomplete().type(newTicket.adminArea) - newTicketPage.getOption().contains(newTicket.adminArea).click(); - newTicketPage.getInputArea().type(newTicket.inputArea); - newTicketPage.getInputLanguage().type(newTicket.inputLanguage); - newTicketPage.getSelectPriority().click(); - newTicketPage.getOption().contains(newTicket.priority).click(); - newTicketPage.getSelectUrgency().click(); - newTicketPage.getOption().contains(newTicket.urgency).click(); - newTicketPage.getLookUpButton().click(); - newTicketPage.getCheckbox().eq(0).contains(newTicket.lookUp); - newTicketPage.getCheckbox().eq(0).click(); - newTicketPage.getButtonNext().eq(1).click(); - newTicketPage.getSelectFieldName().click(); - newTicketPage.selectOption(newTicket.householdDataField).click(); - newTicketPage.getInputValue().type("1"); - newTicketPage.getButtonNext().contains("Save").click(); - - grievanceDetailsPage.checkElementsOnPage( - grievanceDetailsPage.textStatusNew, - newTicket.priority, - newTicket.urgency, - grievanceDetailsPage.textNotAssigment, - newTicket.category - ); - grievanceDetailsPage - .getTicketIndividualID() - .contains(newTicket.individualID); - grievanceDetailsPage - .getAdministrativeLevel() - .contains(newTicket.adminArea); - grievanceDetailsPage - .getLanguagesSpoken() - .contains(newTicket.inputLanguage); - grievanceDetailsPage.getAreaVillage().contains(newTicket.inputArea); - grievanceDetailsPage - .getLabelIssueType() - .contains(newTicket.issueType); - grievanceDetailsPage.getLabelTickets().contains(newTicket.lookUp); - grievanceDetailsPage - .getTicketCategoryBy() - .contains(newTicket.createdBy); - grievanceDetailsPage - .getCheckbox() - .contains( - newTicket.householdDataField.split("s")[0].toLowerCase() - ); - }); - } - ); - ["Individual Data Update"].forEach((testData) => { - it(`Create New Ticket - Data Change - ${testData}`, function () { - let newTicket = this.newTicket[testData]; - cy.scenario([ - "Go to Grievance page", - "Press button New Ticket", - `Choose category: ${newTicket.category}`, - `Choose issue type: ${newTicket.issueType}`, - "Press button Next", - "Choose Household", - "Choose Individual", - "Press button Next", - "Check Received Consent", - "Press button Next", - "Fill all fields", - "Press button Save", - "Check if ticket was created properly", - ]); - newTicketPage.chooseCategory(newTicket.category); - newTicketPage.chooseIssueType(newTicket.issueType); - newTicketPage - .getLabelCategoryDescription() - .contains( - newTicketPage.textCategoryDescription[newTicket.category] - ); - newTicketPage - .getLabelIssueTypeDescription() - .contains( - newTicketPage.textIssueTypeDescription[newTicket.issueType] - ); - newTicketPage.getButtonNext().click(); - newTicketPage.getHouseholdTab().should("be.visible"); - newTicketPage.getHouseholdTableRows(0).click(); - newTicketPage.getIndividualTab().click(); - newTicketPage.getIndividualTableRows(0).click(); - newTicketPage.getButtonNext().click(); - newTicketPage.getReceivedConsent().click(); - newTicketPage.getButtonNext().click(); - newTicketPage.getDescription().type(newTicket.description); - newTicketPage.getComments().type(newTicket.comment); - newTicketPage.getAdminAreaAutocomplete().click(); - newTicketPage.getAdminAreaAutocomplete().type(newTicket.adminArea) - newTicketPage.getOption().contains(newTicket.adminArea).click(); - newTicketPage.getInputArea().type(newTicket.inputArea); - newTicketPage.getInputLanguage().type(newTicket.inputLanguage); - newTicketPage.getSelectPriority().click(); - newTicketPage.getOption().contains(newTicket.priority).click(); - newTicketPage.getSelectUrgency().click(); - newTicketPage.getOption().contains(newTicket.urgency).click(); - newTicketPage.getLookUpButton().click(); - newTicketPage.getCheckbox().eq(0).contains(newTicket.lookUp); - newTicketPage.getCheckbox().eq(0).click(); - newTicketPage.getButtonNext().eq(1).click(); - newTicketPage.getIndividualFieldName().click(); - newTicketPage.selectOption(newTicket.individualDataField).click(); - newTicketPage - .getInputIndividualData(newTicket.individualDataField) - .type(newTicket.newData); - newTicketPage.getButtonNext().contains("Save").click(); - - grievanceDetailsPage.checkElementsOnPage( - grievanceDetailsPage.textStatusNew, - newTicket.priority, - newTicket.urgency, - grievanceDetailsPage.textNotAssigment, - newTicket.category - ); - grievanceDetailsPage - .getTicketIndividualID() - .contains(newTicket.individualID); - grievanceDetailsPage - .getAdministrativeLevel() - .contains(newTicket.adminArea); - grievanceDetailsPage - .getLanguagesSpoken() - .contains(newTicket.inputLanguage); - grievanceDetailsPage.getAreaVillage().contains(newTicket.inputArea); - grievanceDetailsPage - .getLabelIssueType() - .contains(newTicket.issueType); - grievanceDetailsPage.getLabelTickets().contains(newTicket.lookUp); - grievanceDetailsPage - .getTicketCategoryBy() - .contains(newTicket.createdBy); - grievanceDetailsPage - .getCheckbox() - .contains(newTicket.individualDataField.toLowerCase()); - grievanceDetailsPage.getCheckbox().contains(newTicket.currentData); - grievanceDetailsPage.getCheckbox().contains(newTicket.newData); - }); - }); - ["Withdraw Individual"].forEach((testData) => { - it(`Create New Ticket - Data Change - ${testData}`, function () { - let newTicket = this.newTicket[testData]; - cy.scenario([ - "Go to Grievance page", - "Press button New Ticket", - `Choose category: ${newTicket.category}`, - `Choose issue type: ${newTicket.issueType}`, - "Press button Next", - "Choose Household", - "Choose Individual", - "Press button Next", - "Check Received Consent", - "Press button Next", - "Fill all fields", - "Press button Save", - "Check if ticket was created properly", - ]); - newTicketPage.chooseCategory(newTicket.category); - newTicketPage.chooseIssueType(newTicket.issueType); - newTicketPage - .getLabelCategoryDescription() - .contains( - newTicketPage.textCategoryDescription[newTicket.category] - ); - newTicketPage - .getLabelIssueTypeDescription() - .contains( - newTicketPage.textIssueTypeDescription[newTicket.issueType] - ); - newTicketPage.getButtonNext().click(); - newTicketPage.getHouseholdTab().should("be.visible"); - newTicketPage.getHouseholdTableRows(0).click(); - newTicketPage.getIndividualTab().click(); - newTicketPage.getIndividualTableRows(0).click(); - newTicketPage.getButtonNext().click(); - newTicketPage.getReceivedConsent().click(); - newTicketPage.getButtonNext().click(); - newTicketPage.getDescription().type(newTicket.description); - newTicketPage.getComments().type(newTicket.comment); - newTicketPage.getAdminAreaAutocomplete().click(); - newTicketPage.getAdminAreaAutocomplete().type(newTicket.adminArea) - newTicketPage.getOption().contains(newTicket.adminArea).click(); - newTicketPage.getInputArea().type(newTicket.inputArea); - newTicketPage.getInputLanguage().type(newTicket.inputLanguage); - newTicketPage.getSelectPriority().click(); - newTicketPage.getOption().contains(newTicket.priority).click(); - newTicketPage.getSelectUrgency().click(); - newTicketPage.getOption().contains(newTicket.urgency).click(); - newTicketPage.getLookUpButton().click(); - newTicketPage.getCheckbox().eq(0).contains(newTicket.lookUp); - newTicketPage.getCheckbox().eq(0).click(); - newTicketPage.getButtonNext().eq(1).click(); - newTicketPage.getButtonNext().contains("Save").click(); - - grievanceDetailsPage.checkElementsOnPage( - grievanceDetailsPage.textStatusNew, - newTicket.priority, - newTicket.urgency, - grievanceDetailsPage.textNotAssigment, - newTicket.category - ); - grievanceDetailsPage - .getTicketIndividualID() - .contains(newTicket.individualID); - grievanceDetailsPage - .getAdministrativeLevel() - .contains(newTicket.adminArea); - grievanceDetailsPage - .getLanguagesSpoken() - .contains(newTicket.inputLanguage); - grievanceDetailsPage.getAreaVillage().contains(newTicket.inputArea); - grievanceDetailsPage - .getLabelIssueType() - .contains(newTicket.issueType); - grievanceDetailsPage.getLabelTickets().contains(newTicket.lookUp); - grievanceDetailsPage - .getTicketCategoryBy() - .contains(newTicket.createdBy); - grievanceDetailsPage - .getLabelFullName() - .contains(newTicket.familyName); - }); - }); - - ["Withdraw Household"].forEach((testData) => { - it(`Create New Ticket - Data Change - ${testData}`, function () { - let newTicket = this.newTicket[testData]; - cy.scenario([ - "Go to Grievance page", - "Press button New Ticket", - `Choose category: ${newTicket.category}`, - `Choose issue type: ${newTicket.issueType}`, - "Press button Next", - "Choose Household", - "Press button Next", - "Check Received Consent", - "Press button Next", - "Fill all fields", - "Press button Save", - "Check if ticket was created properly", - ]); - newTicketPage.chooseCategory(newTicket.category); - newTicketPage.chooseIssueType(newTicket.issueType); - newTicketPage - .getLabelCategoryDescription() - .contains( - newTicketPage.textCategoryDescription[newTicket.category] - ); - newTicketPage - .getLabelIssueTypeDescription() - .contains( - newTicketPage.textIssueTypeDescription[newTicket.issueType] - ); - newTicketPage.getButtonNext().click(); - newTicketPage.getHouseholdTab().should("be.visible"); - newTicketPage.getHouseholdTableRows(0).click(); - newTicketPage.getIndividualTab().parent().should("be.disabled"); - newTicketPage.getButtonNext().click(); - newTicketPage.getReceivedConsent().click(); - newTicketPage.getButtonNext().click(); - newTicketPage.getDescription().type(newTicket.description); - if (newTicket.comment) - newTicketPage.getComments().type(newTicket.comment); - newTicketPage.getAdminAreaAutocomplete().click(); - newTicketPage.getAdminAreaAutocomplete().type(newTicket.adminArea) - newTicketPage.getOption().contains(newTicket.adminArea).click(); - newTicketPage.getInputArea().type(newTicket.inputArea); - newTicketPage.getInputLanguage().type(newTicket.inputLanguage); - newTicketPage.getSelectPriority().click(); - newTicketPage.getOption().contains(newTicket.priority).click(); - newTicketPage.getSelectUrgency().click(); - newTicketPage.getOption().contains(newTicket.urgency).click(); - newTicketPage.getLookUpButton().click(); - newTicketPage.getCheckbox().eq(0).contains(newTicket.lookUp); - newTicketPage.getCheckbox().eq(0).click(); - newTicketPage.getButtonNext().eq(1).click(); - newTicketPage.getButtonNext().contains("Save").click(); - - grievanceDetailsPage.checkElementsOnPage( - grievanceDetailsPage.textStatusNew, - newTicket.priority, - newTicket.urgency, - grievanceDetailsPage.textNotAssigment, - newTicket.category - ); - grievanceDetailsPage - .getTicketIndividualID() - .contains(newTicket.individualID); - grievanceDetailsPage - .getAdministrativeLevel() - .contains(newTicket.adminArea); - grievanceDetailsPage - .getLanguagesSpoken() - .contains(newTicket.inputLanguage); - grievanceDetailsPage.getAreaVillage().contains(newTicket.inputArea); - grievanceDetailsPage - .getLabelIssueType() - .contains(newTicket.issueType); - grievanceDetailsPage.getLabelTickets().contains(newTicket.lookUp); - grievanceDetailsPage - .getTicketCategoryBy() - .contains(newTicket.createdBy); - }); - }); - [ - "Payment Related Complaint", - "FSP Related Complaint", - "Registration Related Complaint", - "Other Complaint", - "Partner Related Complaint", - ].forEach((testData) => { - it(`Create New Ticket - Grievance Complaint - ${testData}`, function () { - let newTicket = this.newTicket[testData]; - cy.scenario([ - "Go to Grievance page", - "Press button New Ticket", - `Choose category: ${newTicket.category}`, - `Choose issue type: ${newTicket.issueType}`, - "Press button Next", - "Choose Household", - "Choose Individual", - "Press button Next", - "Check Received Consent", - "Press button Next", - "Fill all fields", - "Press button Save", - "Check if ticket was created properly", - ]); - newTicketPage.chooseCategory(newTicket.category); - newTicketPage.chooseIssueType(newTicket.issueType); - newTicketPage - .getLabelCategoryDescription() - .contains( - newTicketPage.textCategoryDescription[newTicket.category] - ); - newTicketPage - .getLabelIssueTypeDescription() - .contains( - newTicketPage.textIssueTypeDescription[newTicket.issueType] - ); - newTicketPage.getButtonNext().click(); - newTicketPage.getHouseholdTab().should("be.visible"); - - if (newTicket.householdID !== "-") - newTicketPage.getHouseholdTableRows(1).click(); - if (newTicket.individualID !== "-") { - newTicketPage.getIndividualTab().click(); - newTicketPage.getIndividualTableRows(2).click(); - } - newTicketPage.getButtonNext().click(); - newTicketPage.getReceivedConsent().click(); - newTicketPage.getButtonNext().click(); - - newTicketPage.getDescription().type(newTicket.description); - if (newTicket.comment) - newTicketPage.getComments().type(newTicket.comment); - newTicketPage.getAdminAreaAutocomplete().click(); - newTicketPage.getAdminAreaAutocomplete().type(newTicket.adminArea) - newTicketPage.getOption().contains(newTicket.adminArea).click(); - newTicketPage.getInputArea().type(newTicket.inputArea); - newTicketPage.getInputLanguage().type(newTicket.inputLanguage); - newTicketPage.getSelectPriority().click(); - newTicketPage.getOption().contains(newTicket.priority).click(); - newTicketPage.getSelectUrgency().click(); - newTicketPage.getOption().contains(newTicket.urgency).click(); - newTicketPage.getLookUpButton().first().click(); - newTicketPage.getCheckbox().eq(0).contains(newTicket.lookUp); - newTicketPage.getCheckbox().eq(0).click(); - newTicketPage.getButtonNext().eq(1).click(); - if ( - ["Payment Related Complaint", "FSP Related Complaint"].includes( - testData - ) - ) { - if (testData === "Payment Related Complaint") { - newTicketPage.getButtonNext().contains("Save").click(); - newTicketPage - .getLookUpButton() - .parent() - .parent() - .contains("Payment Records are required"); - } - - newTicketPage - .getLookUpButton() - .contains("Look up Payment Record") - .click(); - newTicketPage - .getCheckbox() - .eq(0) - .find("td") - .eq(1) - .find("a") - .first() - .then(($text) => { - const lookUp = $text.text(); - newTicketPage.getCheckbox().eq(0).click(); - newTicketPage.getButtonNext().eq(1).click(); - newTicketPage.getButtonNext().contains("Save").click(); - grievanceDetailsPage.getTicketPaymentLabel().contains(lookUp); - }); - } else if (testData === "Partner Related Complaint") { - newTicketPage.getPartner().click(); - newTicketPage.selectOption(newTicket.partner).click(); - newTicketPage.getButtonNext().contains("Save").click(); - grievanceDetailsPage.getLabelPartner().contains(newTicket.partner); - } else { - newTicketPage.getButtonNext().contains("Save").click(); - } - - grievanceDetailsPage.checkElementsOnPage( - grievanceDetailsPage.textStatusNew, - newTicket.priority, - newTicket.urgency, - grievanceDetailsPage.textNotAssigment, - newTicket.category - ); - grievanceDetailsPage - .getTicketIndividualID() - .contains(newTicket.individualID); - grievanceDetailsPage - .getAdministrativeLevel() - .contains(newTicket.adminArea); - grievanceDetailsPage - .getLanguagesSpoken() - .contains(newTicket.inputLanguage); - grievanceDetailsPage.getAreaVillage().contains(newTicket.inputArea); - grievanceDetailsPage - .getLabelIssueType() - .contains(newTicket.issueType); - grievanceDetailsPage.getLabelTickets().contains(newTicket.lookUp); - grievanceDetailsPage - .getTicketCategoryBy() - .contains(newTicket.createdBy); - }); - }); - ["Referral"].forEach((testData) => { - it(`Create New Ticket - ${testData}`, function () { - let newTicket = this.newTicket[testData]; - cy.scenario([ - "Go to Grievance page", - "Press button New Ticket", - `Choose category: ${newTicket.category}`, - `Choose issue type: ${newTicket.issueType}`, - "Press button Next", - "Choose Household", - "Choose Individual", - "Press button Next", - "Check Received Consent", - "Press button Next", - "Fill all fields", - "Press button Save", - "Check if ticket was created properly", - ]); - newTicketPage.chooseCategory(newTicket.category); - newTicketPage - .getLabelCategoryDescription() - .contains( - newTicketPage.textCategoryDescription[newTicket.category] - ); - newTicketPage.getButtonNext().click(); - newTicketPage.getHouseholdTab().should("be.visible"); - - if (newTicket.householdID !== "-") - newTicketPage.getHouseholdTableRows(1).click(); - if (newTicket.individualID !== "-") { - newTicketPage.getIndividualTab().click(); - newTicketPage.getIndividualTableRows(2).click(); - } - newTicketPage.getButtonNext().click(); - newTicketPage.getReceivedConsent().click(); - newTicketPage.getButtonNext().click(); - - newTicketPage.getDescription().type(newTicket.description); - if (newTicket.comment) - newTicketPage.getComments().type(newTicket.comment); - newTicketPage.getAdminAreaAutocomplete().click(); - newTicketPage.getAdminAreaAutocomplete().type(newTicket.adminArea) - newTicketPage.getOption().contains(newTicket.adminArea).click(); - newTicketPage.getInputArea().type(newTicket.inputArea); - newTicketPage.getInputLanguage().type(newTicket.inputLanguage); - newTicketPage.getSelectPriority().click(); - newTicketPage.getOption().contains(newTicket.priority).click(); - newTicketPage.getSelectUrgency().click(); - newTicketPage.getOption().contains(newTicket.urgency).click(); - newTicketPage.getLookUpButton().first().click(); - newTicketPage.getCheckbox().eq(0).contains(newTicket.lookUp); - newTicketPage.getCheckbox().eq(0).click(); - newTicketPage.getButtonNext().eq(1).click(); - newTicketPage.getButtonNext().contains("Save").click(); - - grievanceDetailsPage.checkElementsOnPage( - grievanceDetailsPage.textStatusNew, - newTicket.priority, - newTicket.urgency, - grievanceDetailsPage.textNotAssigment, - newTicket.category - ); - grievanceDetailsPage - .getTicketIndividualID() - .contains(newTicket.individualID); - grievanceDetailsPage - .getAdministrativeLevel() - .contains(newTicket.adminArea); - grievanceDetailsPage - .getLanguagesSpoken() - .contains(newTicket.inputLanguage); - grievanceDetailsPage.getAreaVillage().contains(newTicket.inputArea); - grievanceDetailsPage.getLabelTickets().contains(newTicket.lookUp); - grievanceDetailsPage - .getTicketCategoryBy() - .contains(newTicket.createdBy); - }); - }); - [ - "Bribery, corruption or kickback", - "Data breach", - "Conflict of interest", - "Fraud and forgery", - "Fraud involving misuse of programme funds by third party", - "Gross mismanagement", - "Harassment and abuse of authority", - "Inappropriate staff conduct", - "Miscellaneous", - "Personal disputes", - "Sexual harassment and sexual exploitation", - "Unauthorized use, misuse or waste of UNICEF property or funds", - ].forEach((testData) => { - it(`Create New Ticket - Sensitive Grievance - ${testData}`, function () { - let newTicket = this.newTicket[testData]; - cy.scenario([ - "Go to Grievance page", - "Press button New Ticket", - `Choose category: ${newTicket.category}`, - `Choose issue type: ${newTicket.issueType}`, - "Press button Next", - "Choose Household", - "Choose Individual", - "Press button Next", - "Check Received Consent", - "Press button Next", - "Fill all fields", - "Press button Save", - "Check if ticket was created properly", - ]); - newTicketPage.chooseCategory(newTicket.category); - newTicketPage.chooseIssueType(newTicket.issueType); - newTicketPage - .getLabelCategoryDescription() - .contains( - newTicketPage.textCategoryDescription[newTicket.category] - ); - newTicketPage - .getLabelIssueTypeDescription() - .contains( - newTicketPage.textIssueTypeDescription[newTicket.issueType] - ); - newTicketPage.getButtonNext().click(); - newTicketPage.getHouseholdTab().should("be.visible"); - if (newTicket.householdID !== "-") - newTicketPage.getHouseholdTableRows(1).click(); - if (newTicket.individualID !== "-") { - newTicketPage.getIndividualTab().click(); - newTicketPage.getIndividualTableRows(2).click(); - } - newTicketPage.getButtonNext().click(); - newTicketPage.getReceivedConsent().click(); - newTicketPage.getButtonNext().click(); - - newTicketPage.getDescription().type(newTicket.description); - if (newTicket.comment) - newTicketPage.getComments().type(newTicket.comment); - newTicketPage.getAdminAreaAutocomplete().click(); - newTicketPage.getAdminAreaAutocomplete().type(newTicket.adminArea) - newTicketPage.getOption().contains(newTicket.adminArea).click(); - newTicketPage.getInputArea().type(newTicket.inputArea); - newTicketPage.getInputLanguage().type(newTicket.inputLanguage); - newTicketPage.getSelectPriority().click(); - newTicketPage.getOption().contains(newTicket.priority).click(); - newTicketPage.getSelectUrgency().click(); - newTicketPage.getOption().contains(newTicket.urgency).click(); - newTicketPage.getLookUpButton().first().click(); - newTicketPage.getCheckbox().eq(0).contains(newTicket.lookUp); - newTicketPage.getCheckbox().eq(0).click(); - newTicketPage.getButtonNext().eq(1).click(); - newTicketPage.getButtonNext().contains("Save").click(); - grievanceDetailsPage.getTitle().contains("Ticket"); - cy.get("div").contains("Grievance Ticket created."); - }); - }); - - it.skip("Create New Ticket - Cancel", () => {}); - }); - - context("Edit Ticket", () => { - it.skip("Edit Ticket", () => {}); - }); - - context("Assign Ticket", () => { - it.skip("Assign to me", () => {}); - it.skip("Set to in progress", () => {}); - it.skip("Send for approval", () => {}); - it.skip("Send back", () => {}); - it.skip("Close ticket", () => {}); - it.skip("Add new note", () => {}); - it.skip("Create Linked Ticket from details page", () => {}); - it.skip("Mark duplicate from details page", () => {}); - }); - }); - describe.skip("E2E tests Grievance", () => {}); - - describe("Regression tests Grievance", () => { - it('164824 GM: Cannot select a row except texts from "Ticket ID" column.', () => { - cy.scenario([ - "Go to Grievance page", - "Choose ticket: GRV-0000001", - "Check URL", - ]); - grievancePage.chooseTicketListRow(0, userType1).click(); - cy.url().should("include", "/user-generated"); - }); - it("174517: Check clear cache", () => { - cy.scenario([ - "Go to Grievance page", - "Press Menu User Profile button", - "Press Clear Cache button", - "Check if page was opened properly", - ]); - grievancePage.clearCache(); - grievancePage.checkElementsOnUserGeneratedPage(); - }); - }); -}); diff --git a/cypress/cypress/e2e/09-global-program-filter/global_program_filter.cy.js b/cypress/cypress/e2e/09-global-program-filter/global_program_filter.cy.js deleted file mode 100644 index ae81eb9bff..0000000000 --- a/cypress/cypress/e2e/09-global-program-filter/global_program_filter.cy.js +++ /dev/null @@ -1,175 +0,0 @@ -import AllProgrammes from "../../page-objects/pages/all_programmes/all_programmes.po"; - -let programmesPage = new AllProgrammes(); - -describe("Global Program Filter", () => { - before(() => { - cy.initScenario("init_clear"); - cy.adminLogin(); - }); - - beforeEach(() => { - programmesPage.navigateToProgrammePage("All Programmes"); - // programmesPage.getButtonFiltersExpand().click(); - }); - - describe("Smoke tests Global Program Filter", () => { - it("Check All Programmes - Programme Management page", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Check if all elements on page exist", - ]); - programmesPage.getMenuButtonProgrammeManagement().should("be.visible"); - programmesPage.getMenuButtonFeedback().should("not.be.visible"); - programmesPage.getMenuButtonRegistrationDataImport().should("not.exist"); - programmesPage.getMenuButtonProgrammePopulation().should("not.exist"); - programmesPage.getMenuButtonHouseholds().should("not.exist"); - programmesPage.getMenuButtonIndividuals().should("not.exist"); - programmesPage.getMenuButtonProgrammeDetails().should("not.exist"); - programmesPage.getMenuButtonCashAssist().should("not.exist"); - programmesPage.getMenuButtonPaymentModule().should("not.exist"); - programmesPage.getMenuButtonReporting().should("be.visible"); - programmesPage.getMenuButtonProgrammeUsers().should("not.exist"); - programmesPage.getMenuButtonActivityLog().should("be.visible"); - programmesPage.getMenuButtonResourcesKnowledgeBase().should("be.visible"); - programmesPage.getMenuButtonResourcesConversations().should("be.visible"); - programmesPage - .getMenuButtonResourcesToolsAndMaterials() - .should("be.visible"); - programmesPage.getMenuButtonResourcesReleaseNote().should("be.visible"); - programmesPage.getMenuButtonGrievanceTickets().should("not.be.visible"); - programmesPage.getButtonNewProgram().should("be.visible"); - programmesPage.getFiltersSearch().should("be.visible"); - programmesPage.getFiltersStartDate().should("be.visible"); - programmesPage.getFiltersEndDate().should("be.visible"); - programmesPage.getFiltersSector().should("be.visible"); - programmesPage.getFiltersNumberOfHouseholdsMin().should("be.visible"); - programmesPage.getFiltersNumberOfHouseholdsMax().should("be.visible"); - programmesPage.getFiltersBudgetMin().should("be.visible"); - programmesPage.getFiltersBudgetMax().should("be.visible"); - programmesPage - .getPageHeaderTitle() - .contains(programmesPage.textPageHeaderTitle); - programmesPage - .getGlobalProgramFilter() - .contains(programmesPage.textAllProgrammes); - programmesPage.getButtonApply().should("be.visible"); - programmesPage.getButtonClear().should("be.visible"); - programmesPage.getTabTitle().contains(programmesPage.textProgrammes); - programmesPage.getName().should("be.visible"); - programmesPage.getStatus().should("be.visible"); - programmesPage.getTimeframe().should("be.visible"); - programmesPage.getSelector().should("be.visible"); - programmesPage.getNumOfouseholds().should("be.visible"); - programmesPage.getBudget().should("be.visible"); - programmesPage.getProgrammesRows().should("have.length", 2); - }); - it("Choose program", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (Test Programm)", - "Check if all elements on page exist", - ]); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - cy.url().should("include", "details"); - programmesPage - .getGlobalProgramFilter() - .contains(programmesPage.textTestProgramm); - - programmesPage.getMenuButtonProgrammeManagement().should("be.visible"); - programmesPage.getMenuButtonFeedback().should("not.be.visible"); - programmesPage.getMenuButtonRegistrationDataImport().should("be.visible"); - programmesPage.getMenuButtonProgrammePopulation().should("be.visible"); - programmesPage.getMenuButtonHouseholds().should("not.be.visible"); - programmesPage.getMenuButtonIndividuals().should("not.be.visible"); - programmesPage.getMenuButtonProgrammeDetails().should("be.visible"); - programmesPage.getMenuButtonCashAssist().should("be.visible"); - programmesPage.getMenuButtonPaymentModule().should("be.visible"); - // programmesPage.getMenuButtonReporting().should("be.visible"); - programmesPage.getMenuButtonProgrammeUsers().should("be.visible"); - programmesPage.getMenuButtonActivityLog().should("be.visible"); - programmesPage.getMenuButtonResourcesKnowledgeBase().should("be.visible"); - programmesPage.getMenuButtonResourcesConversations().should("be.visible"); - programmesPage - .getMenuButtonResourcesToolsAndMaterials() - .scrollIntoView() - .should("be.visible"); - programmesPage - .getMenuButtonResourcesReleaseNote() - .scrollIntoView() - .should("be.visible"); - programmesPage - .getMenuButtonGrievanceTickets() - .scrollIntoView() - .should("not.be.visible"); - }); - it("Come back to All Programmes", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (Test Programme)", - "Come back to All Programmes", - "Check if all elements on page exist", - ]); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - cy.url().should("include", "details"); - programmesPage - .getGlobalProgramFilter() - .contains(programmesPage.textTestProgramm) - .click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textAllProgrammes) - .click(); - cy.url().should("include", "programs/all/list"); - - programmesPage.getMenuButtonProgrammeManagement().should("be.visible"); - programmesPage.getMenuButtonFeedback().should("not.be.visible"); - programmesPage.getMenuButtonRegistrationDataImport().should("not.exist"); - programmesPage.getMenuButtonProgrammePopulation().should("not.exist"); - programmesPage.getMenuButtonHouseholds().should("not.exist"); - programmesPage.getMenuButtonIndividuals().should("not.exist"); - programmesPage.getMenuButtonProgrammeDetails().should("not.exist"); - programmesPage.getMenuButtonCashAssist().should("not.exist"); - programmesPage.getMenuButtonPaymentModule().should("not.exist"); - programmesPage.getMenuButtonReporting().should("be.visible"); - programmesPage.getMenuButtonProgrammeUsers().should("not.exist"); - programmesPage.getMenuButtonActivityLog().should("be.visible"); - programmesPage.getMenuButtonResourcesKnowledgeBase().should("be.visible"); - programmesPage.getMenuButtonResourcesConversations().should("be.visible"); - programmesPage - .getMenuButtonResourcesToolsAndMaterials() - .should("be.visible"); - programmesPage.getMenuButtonResourcesReleaseNote().should("be.visible"); - programmesPage.getMenuButtonGrievanceTickets().should("not.be.visible"); - }); - }); - - describe("Component tests All Programmes - Global Program Filter", () => { - context("Filters", () => { - it.skip("Search filter", () => {}); - it.skip("Status filter", () => {}); - it.skip("Start Date filter", () => {}); - it.skip("End Date filter", () => {}); - it.skip("Sector filter", () => {}); - it.skip("Num. of Households filter From", () => {}); - it.skip("Num. of Households filter To", () => {}); - it.skip("Budget From filter", () => {}); - it.skip("Budget To filter", () => {}); - }); - context("Add New Programme", () => { - it.skip("Add New Programme", () => {}); - it.skip("Cancel New Programme", () => {}); - }); - }); - describe.skip("E2E tests Country Dashboard", () => {}); - - describe.skip("Regression tests Country Dashboard", () => {}); -}); diff --git a/cypress/cypress/e2e/09-global-program-filter/impact_on_other_features.cy.js b/cypress/cypress/e2e/09-global-program-filter/impact_on_other_features.cy.js deleted file mode 100644 index c06b4a12b0..0000000000 --- a/cypress/cypress/e2e/09-global-program-filter/impact_on_other_features.cy.js +++ /dev/null @@ -1,286 +0,0 @@ -import AllProgrammes from "../../page-objects/pages/all_programmes/all_programmes.po"; -import Grievance from "../../page-objects/pages/grievance/grievance_tickets.po"; -import Targeting from "../../page-objects/pages/targeting/targeting.po"; -import PaymentModule from "../../page-objects/pages/payment_module/payment_module.po"; -import Feedback from "../../page-objects/pages/grievance/feedback.po"; -import PopulationIndividuals from "../../page-objects/pages/population_module/population_individuals.po"; -import PopulationHouseholds from "../../page-objects/pages/population_module/population_households.po"; -import PaymentVerification from "../../page-objects/pages/payment_verification/payment_verification.po"; -import RegistrationDataImport from "../../page-objects/pages/registration_data_import/registration_data_import.po"; -import GrievanceDashboard from "../../page-objects/pages/grievance/grievance_dashboard.po"; -import GrievanceDetailsPage from "../../page-objects/pages/grievance/details_grievance_page.po"; - -let grievanceDashboard = new GrievanceDashboard(); -let grievanceDetailsPage = new GrievanceDetailsPage(); -let programmesPage = new AllProgrammes(); -let grievancePage = new Grievance(); -let targetingPage = new Targeting(); -let paymentModulePage = new PaymentModule(); -let feedbackPage = new Feedback(); -let populationIndividuals = new PopulationIndividuals(); -let populationHouseholds = new PopulationHouseholds(); -let paymentVerification = new PaymentVerification(); -let registrationDataImport = new RegistrationDataImport(); - -describe("Global Program Filter - Impacts", () => { - before(() => { - cy.initScenario("init_clear"); - cy.adminLogin(); - cy.navigateToHomePage(); - }); - beforeEach(() => { - programmesPage.navigateToProgrammePage(); - }); - describe("E2E tests GPF impacts", () => { - it("GPF - Registration data import Verification", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (Test Programme)", - "Go to Registration data import page", - "Check row list: 2 rows", - "Choose program (Draft Programme)", - "Go to Registration data import page", - "Check row list: 0 rows", - ]); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - registrationDataImport.getMenuButtonRegistrationDataImport().click(); - registrationDataImport.getTicketListRow().should("have.length", 2); - programmesPage.getGlobalProgramFilter().click(); - programmesPage.getProgrammesOptions().contains("Draft Program").click(); - registrationDataImport.getMenuButtonRegistrationDataImport().click(); - registrationDataImport.getTicketListRow().should("have.length", 0); - }); - it("GPF - Registration data import - import button", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (Test Programme)", - "Go to Registration data import page", - "Import button is active", - "Choose program (Draft Programme)", - "Go to Registration data import page", - "Import button is disabled", - ]); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - registrationDataImport.getMenuButtonRegistrationDataImport().click(); - registrationDataImport.getButtonImport().should("not.be.disabled"); - programmesPage.getGlobalProgramFilter().click(); - programmesPage.getProgrammesOptions().contains("Draft Program").click(); - registrationDataImport.getMenuButtonRegistrationDataImport().click(); - registrationDataImport.getButtonImport().should("be.disabled"); - }); - it("GPF - Program details", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (" + programmesPage.textTestProgramm + ")", - "Header Title: " + programmesPage.textTestProgramm, - "Choose program (" + programmesPage.textDraftProgram + ")", - "Header Title: " + programmesPage.textDraftProgram, - ]); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - programmesPage.getHeaderTitle().contains(programmesPage.textTestProgramm); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textDraftProgram) - .click(); - programmesPage.getHeaderTitle().contains(programmesPage.textDraftProgram); - }); - it("GPF - Targeting", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (" + programmesPage.textTestProgramm + ")", - "Go to Targeting page", - "Check row list: 2 rows", - "Choose program (" + programmesPage.textDraftProgram + ")", - "Go to Targeting page", - "Check row list: 0 rows", - ]); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - targetingPage.clickMenuButtonTargeting(); - targetingPage.getTicketListRow().should("have.length", 2); - programmesPage.getGlobalProgramFilter().click(); - programmesPage.getProgrammesOptions().contains("Draft Program").click(); - targetingPage.clickMenuButtonTargeting(); - targetingPage.getTicketListRow().should("have.length", 0); - }); - it("GPF - Payment module", () => { - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - paymentModulePage.clickMenuButtonPaymentModule(); - paymentModulePage.getTicketListRow().should("have.length", 2); - programmesPage.getGlobalProgramFilter().click(); - programmesPage.getProgrammesOptions().contains("Draft Program").click(); - paymentModulePage.clickMenuButtonPaymentModule(); - paymentModulePage.getTicketListRow().should("have.length", 0); - }); - it("GPF - Payment Verification", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (" + programmesPage.textTestProgramm + ")", - "Go to Payment Verification page", - "Check row list: 1 rows", - "Choose program (" + programmesPage.textDraftProgram + ")", - "Go to Payment Verification page", - "Check row list: 0 rows", - ]); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - paymentVerification.clickMenuButtonPaymentVerification(); - paymentVerification.getTicketListRow().should("have.length", 1); - programmesPage.getGlobalProgramFilter().click(); - programmesPage.getProgrammesOptions().contains("Draft Program").click(); - paymentVerification.clickMenuButtonPaymentVerification(); - paymentVerification.getTicketListRow().should("have.length", 0); - }); - it("GPF - Population module", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (" + programmesPage.textTestProgramm + ")", - "Go to Population module page", - "Go to Individual page", - "Check row list: 6 rows", - "Go to Households page", - "Check row list: 2 rows", - "Choose program (" + programmesPage.textDraftProgram + ")", - "Go to Individual page", - "Check row list: 0 rows", - "Go to Households page", - "Check row list: 0 rows", - ]); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - populationIndividuals.clickNavIndividuals(); - populationIndividuals.getTicketListRow().should("have.length", 6); - populationHouseholds.getMenuButtonHouseholds().click(); - populationHouseholds.getTicketListRow().should("have.length", 2); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textDraftProgram) - .click(); - populationIndividuals.clickNavIndividuals(); - populationIndividuals.getTicketListRow().should("have.length", 0); - populationHouseholds.getMenuButtonHouseholds().click(); - populationHouseholds.getTicketListRow().should("have.length", 0); - }); - it("GPF - Grievance", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (" + programmesPage.textTestProgramm + ")", - "Go to Grievance page", - "Check row list: 6 rows", - "Choose program (" + programmesPage.textDraftProgram + ")", - "Go to Grievance page", - "Check row list: 0 rows", - ]); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - grievancePage.clickMenuButtonGrievance(); - grievancePage.clickMenuButtonGrievanceTickets(); - grievancePage.getTicketListRow().should("have.length", 6); - programmesPage.getGlobalProgramFilter().click(); - programmesPage.getProgrammesOptions().contains("Draft Program").click(); - grievancePage.clickMenuButtonGrievance(); - grievancePage.clickMenuButtonGrievanceTickets(); - grievancePage.getTicketListRow().should("have.length", 0); - }); - it("GPF - Feedback", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (" + programmesPage.textTestProgramm + ")", - "Go to Feedback page", - "Check row list: 6 rows", - "Choose program (" + programmesPage.textDraftProgram + ")", - "Go to Feedback page", - "Check row list: 0 rows", - ]); - programmesPage.getGlobalProgramFilter().click(); - programmesPage - .getProgrammesOptions() - .contains(programmesPage.textTestProgramm) - .click(); - feedbackPage.clickMenuButtonGrievance(); - feedbackPage.clickMenuButtonFeedback(); - feedbackPage.getTicketListRow().should("have.length", 2); - programmesPage.getGlobalProgramFilter().click(); - programmesPage.getProgrammesOptions().contains("Draft Program").click(); - feedbackPage.clickMenuButtonGrievance(); - feedbackPage.clickMenuButtonFeedback(); - feedbackPage.getTicketListRow().should("have.length", 0); - }); - it("GPF - Grievance Dashboard", () => { - cy.scenario([ - "Go to main page (All programmes set)", - "Choose program (" + programmesPage.textTestProgramm + ")", - "Go to Grievance and close one ticket", - "Go to Grievance Dashboard page", - "Check data", - "Choose program (" + programmesPage.textDraftProgram + ")", - "Go to Grievance Dashboard page", - "Check if data properly changed", - ]); - grievancePage.navigateToProgrammePage(); - grievancePage.clickMenuButtonGrievance(); - grievanceDashboard.getTicketListRow().contains("GRV-0000005").click(); - grievanceDetailsPage.getButtonCloseTicket().click(); - grievanceDetailsPage.getButtonConfirm().click(); - grievanceDetailsPage.getTicketStatus().contains("Closed"); - grievanceDetailsPage.clickMenuButtonGrievanceDashboard(); - grievanceDashboard.getTotalTickets().contains("7"); - grievanceDashboard.getSystemGeneratedTickets().contains("1"); - grievanceDashboard.getUserGeneratedTickets().contains("6"); - grievanceDashboard.getSystemGeneratedClosed().contains("0"); - grievanceDashboard.getUserGeneratedClosed().contains("1"); - grievanceDashboard - .getSystemGeneratedResolutions() - .should("contain.text", "0 days"); - grievanceDashboard - .getUserGeneratedResolutions() - .should("not.have.text", "0 days"); - grievancePage.navigateToProgrammePage("Draft Program"); - grievancePage.clickMenuButtonGrievance(); - grievanceDetailsPage.clickMenuButtonGrievanceDashboard(); - grievanceDashboard.getTotalTickets().contains("0"); - grievanceDashboard.getSystemGeneratedTickets().contains("0"); - grievanceDashboard.getUserGeneratedTickets().contains("0"); - grievanceDashboard.getSystemGeneratedClosed().contains("0"); - grievanceDashboard.getUserGeneratedClosed().contains("0"); - grievanceDashboard - .getSystemGeneratedResolutions() - .should("contain.text", "0 days"); - grievanceDashboard - .getUserGeneratedResolutions() - .should("contain.text", "0 days"); - }); - }); - - describe.skip("Regression tests GPF", () => {}); -}); diff --git a/cypress/cypress/e2e/10-program-details/program_details.cy.js b/cypress/cypress/e2e/10-program-details/program_details.cy.js deleted file mode 100644 index b00b155321..0000000000 --- a/cypress/cypress/e2e/10-program-details/program_details.cy.js +++ /dev/null @@ -1,175 +0,0 @@ -import ProgramDetails from "../../page-objects/pages/program_details/program_details.po"; -import ProgramManagement from "../../page-objects/pages/program_management/program_management.po"; - -let programDetails = new ProgramDetails(); -let programManagement = new ProgramManagement(); - -describe("Program Details", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.navigateToHomePage(); - }); - - after(() => { - cy.initScenario("init_clear"); - cy.adminLogin(); - }); - - describe("Smoke tests Program Details", () => { - it("Check Program Details page", () => { - cy.scenario([ - "Go to Program Details page (Active program chosen)", - "Check if all elements on page exist", - "Change program to Draft program", - "Check if all elements on page exist", - ]); - programDetails.getTableTitle().should("be.visible"); - programDetails.getCashPlanTableRow().should("have.length", 2); - programDetails.getLabelAdministrativeAreasOfImplementation(); - programDetails.getButtonEditProgram().scrollIntoView().should("be.visible"); - programDetails.getLabelTotalNumberOfHouseholds().should("be.visible"); - programDetails.getLabelCASH().should("be.visible"); - programDetails.getLabelDescription().should("be.visible"); - programDetails.getLabelFrequencyOfPayment().should("be.visible"); - programDetails.getLabelSector().should("be.visible"); - programDetails.getLabelENDDATE().should("be.visible"); - programDetails.getLabelSTARTDATE().should("be.visible"); - programDetails.getStatusContainer().should("be.visible"); - programDetails.getLabelStatus().should("be.visible"); - programDetails.getPageHeaderTitle().should("be.visible"); - programDetails.getTablePagination().scrollIntoView().should("be.visible"); - programDetails.getTableLabel().should("be.visible"); - programDetails.getButtonCopyProgram().scrollIntoView().should("be.visible"); - programDetails.getGlobalProgramFilter().click(); - programDetails - .getProgrammesOptions() - .contains(programDetails.textDraftProgram) - .click(); - programDetails.getButtonActivateProgram().should("be.visible"); - programDetails.getButtonRemoveProgram().should("be.visible"); - programDetails - .getLabelAdministrativeAreasOfImplementation() - .should("be.visible"); - programDetails.getButtonEditProgram().should("be.visible"); - programDetails.getLabelTotalNumberOfHouseholds().should("be.visible"); - programDetails.getLabelCASH().should("be.visible"); - programDetails.getLabelDescription().should("be.visible"); - programDetails.getLabelFrequencyOfPayment().should("be.visible"); - programDetails.getLabelSector().should("be.visible"); - programDetails.getLabelENDDATE().should("be.visible"); - programDetails.getLabelSTARTDATE().should("be.visible"); - programDetails.getStatusContainer().should("be.visible"); - programDetails.getLabelStatus().should("be.visible"); - programDetails.getPageHeaderTitle().should("be.visible"); - programDetails.getButtonCopyProgram().should("be.visible"); - programDetails.getTablePagination().should("not.exist"); - programDetails.getTableLabel().should("not.exist"); - programDetails.getTableTitle().should("not.exist"); - programDetails.getCashPlanTableRow().should("not.exist"); - }); - }); - - describe("Component tests Program Details", () => { - it("Finish Program", () => { - cy.scenario([ - "Go to Program Details page (Active program chosen)", - "Press Finish Programme button", - "Press Finish button on popup", - "Check Status", - ]); - programDetails.getButtonFinishProgram().click(); - programDetails.getButtonFinishProgram().eq(1).click(); - programDetails.getStatusContainer().should("contain", "FINISHED"); - }); - it("Reactivate Program", () => { - cy.scenario([ - "Go to Program Details page (Finished program chosen)", - "Press Reactivate button", - "Press Reactivate button on popup", - "Check Status", - ]); - programDetails.getButtonDataCyButtonReactivateProgram().click(); - programDetails.getButtonDataCyButtonReactivateProgramPopup().click(); - programDetails.getStatusContainer().should("contain", "ACTIVE"); - }); - it.skip("Copy Program", () => { - cy.scenario([ - "Go to Program Details page (Draft Program)", - "Press Copy button", - "Change Name", - "Choose Data Collection Type", - "Press Save", - "Check if program created", - ]); - programDetails.navigateToProgrammePage("Draft Program"); - programDetails.getButtonCopyProgram().click(); - programManagement.getSelectDataCollectingTypeCode.click(); - programManagement.getInputDescription().clear().type("New Name"); - programManagement.getSelectOptionByName("Full"); - programManagement.getButtonSave().click(); - programDetails.getPageHeaderTitle().contains("New Name"); - programManagement - .getPageHeaderTitle() - .should("contain", "Programme Management"); - }); - it("Remove Program", () => { - cy.scenario([ - "Go to Program Details page (Draft Program)", - "Press Remove button", - "Check if program removed", - ]); - programDetails.navigateToProgrammePage("Draft Program"); - programDetails.getButtonRemoveProgram().click(); - programDetails.getButtonRemoveProgram().eq(1).click(); - programDetails.getGlobalProgramFilter().click(); - programDetails - .getProgrammesOptions() - .should("not.contain", "Draft Program"); - cy.initScenario("init_clear"); - cy.adminLogin(); - }); - it("Activate Program", () => { - programDetails.navigateToProgrammePage("Draft Program"); - programDetails.getButtonActivateProgram().click(); - programDetails.getButtonActivateProgramModal().click(); - programDetails.getStatusContainer().should("contain", "ACTIVE"); - }); - }); - - describe.skip("E2E tests Program Details", () => {}); - - describe("Regression tests Program Details", () => { - [ - ["Payment Plan ID", "PP-0060-23-00000001", "PP-0060-23-00000002"], - ["Status", "PP-0060-23-00000002", "PP-0060-23-00000001"], - // ToDo: 177103 ["Num. of Households"], - // ToDo: 177103 ["Currency"], - ["Total Entitled Quantity", "PP-0060-23-00000001", "PP-0060-23-00000002"], - [ - "Total Delivered Quantity", - "PP-0060-23-00000001", - "PP-0060-23-00000002", - ], - [ - "Total Undelivered Quantity", - "PP-0060-23-00000001", - "PP-0060-23-00000002", - ], - // ToDo: 177103 ["Dispersion Date"], - ].forEach((testData) => { - it(`176265: GPF: Error during sorting ${testData[0]} in Payment Plans in Programme Details`, () => { - cy.scenario([ - "Go to Program Details with Payment Plans", - `Press column ${testData[0]} of Programme Details`, - "Check if sorted properly", - ]); - programDetails.navigateToProgrammePage("Test Program"); - programDetails.getTableLabel().contains(testData[0]).click(); - programDetails.getCashPlanTableRow().eq(0).contains(testData[1]); - programDetails.getCashPlanTableRow().eq(1).contains(testData[2]); - }); - }); - }); -}); diff --git a/cypress/cypress/e2e/11-accountability/communication.cy.js b/cypress/cypress/e2e/11-accountability/communication.cy.js deleted file mode 100644 index 3481072840..0000000000 --- a/cypress/cypress/e2e/11-accountability/communication.cy.js +++ /dev/null @@ -1,27 +0,0 @@ -import ErrorPage from "../../page-objects/404.po"; -import CommunicationPage from "../../page-objects/pages/accountability/communication.po"; - -let error404Page = new ErrorPage(); -let communicationPage = new CommunicationPage(); - -describe("Accountability - Communication", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.navigateToHomePage(); - communicationPage.getMenuButtonAccountability(); - communicationPage.getMenuButtonSurveys(); - }); - - describe("Smoke tests Accountability - Communication", () => { - it("Check Communication page", () => { - cy.scenario([ - "Go to Accountability page", - "Elements of Accountability menu are visible", - "Go to Communication page", - "Check if all elements on page exist", - ]); - }); - }); -}); diff --git a/cypress/cypress/e2e/11-accountability/surveys.cy.js b/cypress/cypress/e2e/11-accountability/surveys.cy.js deleted file mode 100644 index 0415a8f225..0000000000 --- a/cypress/cypress/e2e/11-accountability/surveys.cy.js +++ /dev/null @@ -1,27 +0,0 @@ -import ErrorPage from "../../page-objects/404.po"; -import SurveysPage from "../../page-objects/pages/accountability/surveys.po"; - -let error404Page = new ErrorPage(); -let surveysPage = new SurveysPage(); - -describe("Accountability - Surveys", () => { - before(() => { - cy.checkIfLoggedIn(); - }); - beforeEach(() => { - cy.navigateToHomePage(); - surveysPage.getMenuButtonAccountability(); - surveysPage.getMenuButtonSurveys(); - }); - - describe("Smoke tests Accountability - Surveys", () => { - it("Check Surveys page", () => { - cy.scenario([ - "Go to Accountability page", - "Elements of Accountability menu are visible", - "Go to Surveys page", - "Check if all elements on page exist", - ]); - }); - }); -}); diff --git a/cypress/cypress/e2e/404/404.cy.js b/cypress/cypress/e2e/404/404.cy.js deleted file mode 100644 index 9fcc7ba428..0000000000 --- a/cypress/cypress/e2e/404/404.cy.js +++ /dev/null @@ -1,71 +0,0 @@ -import Grievance from "../../page-objects/pages/grievance/grievance_tickets.po"; -import GrievanceDetailsPage from "../../page-objects/pages/grievance/details_grievance_page.po"; -import ErrorPage from "../../page-objects/404.po"; - -let grievancePage = new Grievance(); -let grievanceDetailsPage = new GrievanceDetailsPage(); -let error404Page = new ErrorPage(); - -describe("404 Page", () => { - before(function () { - cy.initScenario("init_clear"); - cy.fixture("grievance_new_ticket").as("newTicket"); - cy.adminLogin(); - cy.navigateToHomePage(); - grievancePage.clickMenuButtonGrievance(); - }); - beforeEach(() => { - grievancePage.clickMenuButtonGrievanceTickets(); - }); - - describe("E2E tests 404 Page", () => { - afterEach(function () { - Cypress.session.clearCurrentSessionData(); - cy.checkIfLoggedIn(); - cy.navigateToHomePage(); - grievancePage.clickMenuButtonGrievance(); - }); - it("404 Error page - refresh", () => { - cy.scenario([ - "Go to Grievance page", - "Click first row", - "Delete part of URL", - "Check if 404 occurred", - "Press button refresh", - "Check if 404 occurred", - ]); - grievancePage.chooseTicketListRow(0, "GRV-0000001").click(); - grievanceDetailsPage.getTitle().contains(grievanceDetailsPage.textTitle); - cy.url().then((url) => { - let newUrl = url.slice(0, -10); - cy.visit(newUrl); - cy.intercept("/access-denied/**").as("error404"); - error404Page.getPageNoFound(); - error404Page.getButtonRefresh().click(); - cy.wait("@error404").its("response.statusCode").should("eq", 200); - error404Page.getPageNoFound(); - }); - }); - it("404 Error page - go to country dashboard", () => { - cy.scenario([ - "Go to Grievance page", - "Click first row", - "Delete part of URL", - "Check if 404 occurred", - "Press go to country dashboard button", - "Check if country dashboard opened", - ]); - grievancePage.chooseTicketListRow(0, "GRV-0000001").click(); - grievanceDetailsPage.getTitle().contains(grievanceDetailsPage.textTitle); - cy.url().then((url) => { - let newUrl = url.slice(0, -10); - cy.visit(newUrl); - cy.intercept("/access-denied/**").as("error404"); - error404Page.getPageNoFound(); - cy.wait("@error404").its("response.statusCode").should("eq", 200); - error404Page.getGoToCountryDashboard().click(); - cy.get("h5").contains("Ticket ID"); - }); - }); - }); -}); diff --git a/cypress/cypress/fixtures/.gitignore b/cypress/cypress/fixtures/.gitignore deleted file mode 100644 index 7c12220338..0000000000 --- a/cypress/cypress/fixtures/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.xlsx diff --git a/cypress/cypress/fixtures/example.json b/cypress/cypress/fixtures/example.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/cypress/cypress/fixtures/example.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/cypress/cypress/fixtures/grievance_new_ticket.json b/cypress/cypress/fixtures/grievance_new_ticket.json deleted file mode 100644 index b39c26d66b..0000000000 --- a/cypress/cypress/fixtures/grievance_new_ticket.json +++ /dev/null @@ -1,415 +0,0 @@ -{ - "DataChangeAddIndividual": - { - "category": "Data Change", - "issueType": "Add Individual", - "description": "Test - Create new ticket", - "comment": "Added comment", - "adminArea": "Burka", - "inputArea": "Afira", - "inputLanguage": "English", - "priority": "Medium", - "urgency": "Urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "HH-20-0000.0001", - "whoAnswersPhone": "Test Person", - "whoAnswersAltPhone": "Test Alt Person", - "role": "Primary collector", - "relationship": "Free union", - "phoneNo": "+93666777888", - "middleName": "Bibi", - "workStatus": "Not provided", - "maritalStatus": "Divorced", - "pregnant": "Yes", - "disability": "not disabled", - "fullName": "Abdul Bibi Gul", - "physicalDisability": "Cannot do at all", - "seeingDisability": "Some difficulty", - "email": "abdul.bibi.gul@al.al", - "memoryDisability": "A lot of difficulty", - "hearingDisability": "Some difficulty", - "commsDisability": "Some difficulty", - "givenName": "Abdul", - "gender": "Female", - "familyName": "Test Family Name", - "estimatedBirthDate": "No", - "selfcareDisability": "A lot of difficulty", - "birthDate": "1990-03-10", - "phoneNoAlternative": "No" - }, - "Household Data Update - 1": - { - "category": "Data Change", - "issueType": "Household Data Update", - "description": "Test - Household Data Update", - "comment": "Added comment", - "adminArea": "Khan-e-Char Bagh", - "inputArea": "TestTest tEST", - "inputLanguage": "Albanian", - "priority": "Low", - "urgency": "Very urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "HH-20-0000.0001", - "householdDataField": "Females Age 18 - 59", - "createdBy": "Cypress User" - }, - "Household Data Update - 2": - { - "category": "Data Change", - "issueType": "Household Data Update", - "description": "Test - Household Data Update 2", - "comment": "Added comment and it is great", - "adminArea": "Pul-e-Khumri", - "inputArea": "?", - "inputLanguage": "Albanian", - "priority": "High", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "HH-20-0000.0001", - "householdDataField": "Females Age 18 - 59", - "createdBy": "Cypress User" - }, - "Individual Data Update": - { - "category": "Data Change", - "issueType": "Individual Data Update", - "description": "Test - Individual Data Update", - "comment": "Added comment and it is great Individual Data Update", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "None", - "priority": "Low", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "IND-88-0000.0002", - "householdID": "HH-20-0000.0001", - "individualDataField": "Family name", - "currentData": "Kowalska", - "newData": "Trattori", - "createdBy": "Cypress User" - }, - "Withdraw Individual": - { - "category": "Data Change", - "issueType": "Withdraw Individual", - "description": "Test - Withdraw Individual", - "comment": "Withdraw Individual - Comment?!?", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "None", - "priority": "Low", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "IND-88-0000.0002", - "householdID": "HH-20-0000.0001", - "createdBy": "Cypress User", - "familyName": "Angela Kowalska" - }, - "Withdraw Household": - { - "category": "Data Change", - "issueType": "Withdraw Household", - "description": "Test - Withdraw Household", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Low", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "HH-20-0000.0001", - "createdBy": "Cypress User" - }, - "Payment Related Complaint": - { - "category": "Grievance Complaint", - "issueType": "Payment Related Complaint", - "description": "Test - Withdraw Household", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Low", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "IND-88-0000.0006", - "householdID": "HH-20-0000.0002", - "createdBy": "Cypress User" - }, - "FSP Related Complaint": - { - "category": "Grievance Complaint", - "issueType": "FSP Related Complaint", - "description": "Test - Withdraw Household", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Low", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "HH-20-0000.0002", - "createdBy": "Cypress User" - }, - "Registration Related Complaint": - { - "category": "Grievance Complaint", - "issueType": "Registration Related Complaint", - "description": "Test - Withdraw Household", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Low", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Other Complaint": - { - "category": "Grievance Complaint", - "issueType": "Other Complaint", - "description": "Test - Withdraw Household", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Low", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Partner Related Complaint": - { - "category": "Grievance Complaint", - "issueType": "Partner Related Complaint", - "description": "Test - Withdraw Household", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Low", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User", - "partner": "UNICEF" - }, - "Referral": - { - "category": "Referral", - "description": "Referral - Test Test", - "comment": "Test Test", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Low", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Bribery, corruption or kickback": - { - "category": "Sensitive Grievance", - "issueType": "Bribery, corruption or kickback", - "description": "Test - Withdraw Household", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Medium", - "urgency": "Urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Data breach": - { - "category": "Sensitive Grievance", - "issueType": "Data breach", - "description": "Test - Withdraw Household", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Medium", - "urgency": "Urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Conflict of interest": - { - "category": "Sensitive Grievance", - "issueType": "Conflict of interest", - "description": "Test - Withdraw Household", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Medium", - "urgency": "Urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Fraud and forgery": - { - "category": "Sensitive Grievance", - "issueType": "Fraud and forgery", - "description": "Test - Withdraw Household", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Medium", - "urgency": "Urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Fraud involving misuse of programme funds by third party": - { - "category": "Sensitive Grievance", - "issueType": "Fraud involving misuse of programme funds by third party", - "description": "Test - Withdraw Household", - "comment": "1234", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Medium", - "urgency": "Very urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Gross mismanagement": - { - "category": "Sensitive Grievance", - "issueType": "Gross mismanagement", - "description": "Test - Withdraw Household", - "comment": "?!@#$!", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Low", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Harassment and abuse of authority": - { - "category": "Sensitive Grievance", - "issueType": "Harassment and abuse of authority", - "description": "Test - Withdraw Household", - "comment": "(user)", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Medium", - "urgency": "Urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "HH-20-0000.0001", - "createdBy": "Cypress User" - }, - "Inappropriate staff conduct": - { - "category": "Sensitive Grievance", - "issueType": "Inappropriate staff conduct", - "description": "Test - Withdraw Household", - "comment": "exit", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Medium", - "urgency": "Urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Miscellaneous": - { - "category": "Sensitive Grievance", - "issueType": "Miscellaneous", - "description": "Test - Withdraw Household", - "comment": "SELECT * FROM Users WHERE UserId = 105 OR 1=1;", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "High", - "urgency": "Urgent", - "lookUp": "GRV-0000004", - "individualID": "IND-88-0000.0002", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Personal disputes": - { - "category": "Sensitive Grievance", - "issueType": "Personal disputes", - "description": "Test - Personal disputes", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Medium", - "urgency": "Urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "HH-20-0000.0001", - "createdBy": "Cypress User" - }, - "Sexual harassment and sexual exploitation": - { - "category": "Sensitive Grievance", - "issueType": "Sexual harassment and sexual exploitation", - "description": "Test - Sexual harassment and sexual exploitation", - "comment": "", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Low", - "urgency": "Very urgent", - "lookUp": "GRV-0000004", - "individualID": "IND-88-0000.0002", - "householdID": "-", - "createdBy": "Cypress User" - }, - "Unauthorized use, misuse or waste of UNICEF property or funds": - { - "category": "Sensitive Grievance", - "issueType": "Unauthorized use, misuse or waste of UNICEF property or funds", - "description": "Test - Unauthorized use, misuse or waste of UNICEF property or funds", - "comment": "Added some comment", - "adminArea": "Pul-e-Khumri", - "inputArea": "Test Area", - "inputLanguage": "Polish", - "priority": "Medium", - "urgency": "Not urgent", - "lookUp": "GRV-0000004", - "individualID": "-", - "householdID": "HH-20-0000.0001", - "createdBy": "Cypress User" - } -} diff --git a/cypress/cypress/page-objects/404.po.js b/cypress/cypress/page-objects/404.po.js deleted file mode 100644 index a791466a98..0000000000 --- a/cypress/cypress/page-objects/404.po.js +++ /dev/null @@ -1,19 +0,0 @@ -import BaseComponent from "./base.component"; - -export default class ErrorPage extends BaseComponent { - // Locators - pageNotFound = "h1"; - buttonRefresh = "button"; - buttonCountryDashboard = 'button[data-cy="button-go-back"]'; - - // Texts - text404Error = "Access Denied"; - textRefresh = "REFRESH PAGE"; - textGoTo = "GO BACK"; - // Elements - getPageNoFound = () => cy.get(this.pageNotFound).contains(this.text404Error); - getButtonRefresh = () => - cy.get(this.buttonRefresh).contains(this.textRefresh); - getGoToCountryDashboard = () => - cy.get(this.buttonCountryDashboard).contains(this.textGoTo); -} diff --git a/cypress/cypress/page-objects/base.component.js b/cypress/cypress/page-objects/base.component.js deleted file mode 100644 index d3c3a7309b..0000000000 --- a/cypress/cypress/page-objects/base.component.js +++ /dev/null @@ -1,151 +0,0 @@ -export default class BaseComponent { - // Menu Locators - buttonPaymentModule = 'a[data-cy="nav-Payment Module"]'; - navRegistrationDataImport = 'a[data-cy="nav-Registration Data Import"]'; - navProgrammePopulation = 'div[data-cy="nav-Programme Population"]'; - navHouseholds = 'a[data-cy="nav-Households"]'; - navIndividuals = 'a[data-cy="nav-Individuals"]'; - navProgrammeManagement = 'a[data-cy="nav-Programme Management"]'; - navProgrammeDetails = 'a[data-cy="nav-Programme Details"]'; - navTargeting = 'a[data-cy="nav-Targeting"]'; - navCashAssist = 'div[data-cy="nav-Cash Assist"]'; - navPaymentModule = 'a[data-cy="nav-Payment Module"]'; - navPaymentVerification = 'a[data-cy="nav-Payment Verification"]'; - navGrievance = 'div[data-cy="nav-Grievance"]'; - navGrievanceTickets = 'a[data-cy="nav-Grievance Tickets"]'; - navGrievanceDashboard = 'a[data-cy="nav-Grievance Dashboard"]'; - navFeedback = 'a[data-cy="nav-Feedback"]'; - navReporting = 'a[data-cy="nav-Reporting"]'; - navAccountability = 'div[data-cy="nav-Accountability"]'; - navCommunication = 'a[data-cy="nav-Communication"]'; - navSurveys = 'a[data-cy="nav-Surveys"]'; - navProgrammeUsers = 'a[data-cy="nav-Programme Users"]'; - navActivityLog = 'a[data-cy="nav-Activity Log"]'; - navResourcesKnowledgeBase = 'a[data-cy="nav-resources-Knowledge Base"]'; - navResourcesConversations = 'a[data-cy="nav-resources-Conversations"]'; - navResourcesToolsAndMaterials = - 'a[data-cy="nav-resources-Tools and Materials"]'; - navResourcesReleaseNote = 'a[data-cy="nav-resources-Release Note"]'; - headerTitle = 'h5[data-cy="page-header-title"]'; - globalProgramFilter = 'div[data-cy="global-program-filter"]'; - option = 'li[role="option"]'; - ticketListRow = 'tr[role="checkbox"]'; - menuUserProfile = 'button[data-cy="menu-user-profile"]'; - menuItemClearCache = 'li[data-cy="menu-item-clear-cache"]'; - menuItemLogout = 'li[data-cy="menu-item-logout"]'; - buttonFiltersExpand = 'button[data-cy="button-filters-expand"]'; - - // Texts - buttonPaymentVerificationText = "Payment Verification"; - buttonTargetingText = "Targeting"; - buttonPaymentModuleText = "Payment Module"; - buttonGrievanceText = "Grievance"; - buttonGrievanceTicketsText = "Grievance Tickets"; - buttonGrievanceDashboardText = "Grievance Dashboard"; - buttonFeedbackText = "Feedback"; - textTestProgramm = "Test Programm"; - textDraftProgram = "Draft Program"; - textAllProgrammes = "All Programmes"; - - // Elements - getButtonFiltersExpand = () => cy.get(this.buttonFiltersExpand); - getMenuUserProfile = () => cy.get(this.menuUserProfile); - getMenuItemClearCache = () => cy.get(this.menuItemClearCache); - getMenuItemLogout = () => cy.get(this.menuItemLogout); - getButtonPaymentModule = () => cy.get(this.buttonPaymentModule); - getMenuButtonRegistrationDataImport = () => - cy.get(this.navRegistrationDataImport); - getMenuButtonProgrammePopulation = () => cy.get(this.navProgrammePopulation); - getMenuButtonHouseholds = () => cy.get(this.navHouseholds); - getMenuButtonIndividuals = () => cy.get(this.navIndividuals); - getMenuButtonProgrammeManagement = () => cy.get(this.navProgrammeManagement); - getMenuButtonProgrammeDetails = () => cy.get(this.navProgrammeDetails); - getMenuButtonCashAssist = () => cy.get(this.navCashAssist); - getMenuButtonPaymentModule = () => cy.get(this.navPaymentModule); - getMenuButtonReporting = () => cy.get(this.navReporting); - getMenuButtonProgrammeUsers = () => cy.get(this.navProgrammeUsers); - getMenuButtonActivityLog = () => cy.get(this.navActivityLog); - getMenuButtonResourcesKnowledgeBase = () => - cy.get(this.navResourcesKnowledgeBase); - getMenuButtonResourcesConversations = () => - cy.get(this.navResourcesConversations); - getMenuButtonResourcesToolsAndMaterials = () => - cy.get(this.navResourcesToolsAndMaterials); - getMenuButtonResourcesReleaseNote = () => - cy.get(this.navResourcesReleaseNote); - getMenuButtonPaymentVerification = () => cy.get(this.navPaymentVerification); - getMenuButtonTargeting = () => cy.get(this.navTargeting); - getMenuButtonGrievance = () => cy.get(this.navGrievance); - getMenuButtonAccountability = () => cy.get(this.navAccountability); - getMenuButtonCommunication = () => cy.get(this.navCommunication); - getMenuButtonSurveys = () => cy.get(this.navSurveys); - getMenuButtonGrievanceTickets = () => cy.get(this.navGrievanceTickets); - getMenuButtonGrievanceDashboard = () => cy.get(this.navGrievanceDashboard); - getGlobalProgramFilter = () => cy.get(this.globalProgramFilter); - getMenuButtonFeedback = () => cy.get(this.navFeedback); - getHeaderTitle = () => cy.get(this.headerTitle); - getTicketListRow = () => cy.get(this.ticketListRow); - - checkGrievanceMenu() { - this.getMenuButtonGrievanceTickets().should("be.visible"); - this.getMenuButtonGrievanceDashboard().should("be.visible"); - this.getMenuButtonFeedback().should("be.visible"); - } - clickMenuButtonPaymentVerification() { - this.getMenuButtonPaymentVerification() - .contains(this.buttonPaymentVerificationText) - .click(); - } - - clickMenuButtonGrievance() { - this.getMenuButtonGrievance().contains(this.buttonGrievanceText).click(); - } - - clickMenuButtonGrievanceTickets() { - this.getMenuButtonGrievanceTickets() - .contains(this.buttonGrievanceTicketsText) - .click(); - } - - clickMenuButtonGrievanceDashboard() { - this.getMenuButtonGrievanceDashboard() - .contains(this.buttonGrievanceDashboardText) - .click(); - } - - clickMenuButtonFeedback() { - this.getMenuButtonFeedback().contains(this.buttonFeedbackText).click(); - } - - clickMenuButtonTargeting() { - this.getMenuButtonTargeting().contains(this.buttonTargetingText).click(); - } - - clickMenuButtonPaymentModule() { - this.getMenuButtonPaymentModule() - .contains(this.buttonPaymentModuleText) - .click(); - } - - clearCache() { - this.getMenuUserProfile().click(); - this.getMenuItemClearCache().click(); - } - - pressEscapeFromElement(element) { - element.focused().then(($el) => { - if ($el.length) { - element.type("{esc}"); - } - }); - } - - getProgrammesOptions = () => cy.get(this.option); - - navigateToProgrammePage(program = this.textTestProgramm) { - cy.visit("/"); - this.getGlobalProgramFilter().click(); - cy.log(`Program: ${program}`); - this.getProgrammesOptions().contains(program).first().click(); - } -} diff --git a/cypress/cypress/page-objects/pages/accountability/communication.po.js b/cypress/cypress/page-objects/pages/accountability/communication.po.js deleted file mode 100644 index 2c255ffc85..0000000000 --- a/cypress/cypress/page-objects/pages/accountability/communication.po.js +++ /dev/null @@ -1,28 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class CommunicationPage extends BaseComponent { - // Locators - titlePage = 'h5[data-cy="page-header-title"]'; - rows = 'tr[role="checkbox"]'; - - // Texts - - textTitlePage = "Communication"; - textNewMessage = "New Message"; - textTargetPopulationFilter = "Target Population"; - textTabCreatedBy = "Created by"; - buttonApply = 'button[data-cy="button-filters-apply"]'; - buttonClear = 'button[data-cy="button-filters-clear"]'; - - // Elements - - getTitlePage = () => cy.get(this.titlePage); - getMessageID = () => cy.get(this.tabColumnLabel).eq(0); - getApply = () => cy.get(this.buttonApply); - getClear = () => cy.get(this.buttonClear); - getTargetPopulationsRows = () => cy.get(this.rows); - - checkElementsOnPage() { - this.getTitlePage().should("be.visible").contains(this.textTitlePage); - } -} \ No newline at end of file diff --git a/cypress/cypress/page-objects/pages/accountability/surveys.po.js b/cypress/cypress/page-objects/pages/accountability/surveys.po.js deleted file mode 100644 index be7d8ce740..0000000000 --- a/cypress/cypress/page-objects/pages/accountability/surveys.po.js +++ /dev/null @@ -1,28 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class SurveysPage extends BaseComponent { - // Locators - titlePage = 'h5[data-cy="page-header-title"]'; - rows = 'tr[role="checkbox"]'; - - // Texts - - textTitlePage = "Surveys"; - textNewSurvey = "New Survey"; - textTargetPopulationFilter = "Target Population"; - textTabCreatedBy = "Created by"; - buttonApply = 'button[data-cy="button-filters-apply"]'; - buttonClear = 'button[data-cy="button-filters-clear"]'; - - // Elements - - getTitlePage = () => cy.get(this.titlePage); - getMessageID = () => cy.get(this.tabColumnLabel).eq(0); - getApply = () => cy.get(this.buttonApply); - getClear = () => cy.get(this.buttonClear); - getTargetPopulationsRows = () => cy.get(this.rows); - - checkElementsOnPage() { - this.getTitlePage().should("be.visible").contains(this.textTitlePage); - } -} diff --git a/cypress/cypress/page-objects/pages/all_programmes/all_programmes.po.js b/cypress/cypress/page-objects/pages/all_programmes/all_programmes.po.js deleted file mode 100644 index 8a74632c57..0000000000 --- a/cypress/cypress/page-objects/pages/all_programmes/all_programmes.po.js +++ /dev/null @@ -1,53 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class AllProgrammes extends BaseComponent { - // Locators - pageHeaderTitle = 'h5[data-cy="page-header-title"]'; - buttonNewProgram = '[data-cy="button-new-program"]'; - filtersSearch = 'div[data-cy="filters-search"]'; - filtersStatus = 'div[data-cy="filters-status"]'; - filtersStartDate = 'div[data-cy="filters-start-date"]'; - filtersEndDate = 'div[data-cy="filters-end-date"]'; - filtersSector = 'div[data-cy="filters-sector"]'; - filtersNumberOfHouseholdsMin = - 'div[data-cy="filters-number-of-households-min"]'; - filtersNumberOfHouseholdsMax = - 'div[data-cy="filters-number-of-households-max"]'; - filtersBudgetMin = 'div[data-cy="filters-budget-min"]'; - filtersBudgetMax = 'div[data-cy="filters-budget-max"]'; - buttonClear = 'button[data-cy="button-filters-clear"]'; - buttonApply = 'button[data-cy="button-filters-apply"]'; - tabTitle = 'h6[data-cy="table-title"]'; - tableColumns = 'span[data-cy="table-label"]'; - rows = 'tr[role="checkbox"]'; - - // Texts - textAllProgrammes = "All Programmes"; - textPageHeaderTitle = "Programme Management"; - textProgrammes = "Programmes"; - - // Elements - getPageHeaderTitle = () => cy.get(this.pageHeaderTitle); - getButtonNewProgram = () => cy.get(this.buttonNewProgram); - getFiltersSearch = () => cy.get(this.filtersSearch); - getFiltersStatus = () => cy.get(this.filtersStatus); - getFiltersStartDate = () => cy.get(this.filtersStartDate); - getFiltersEndDate = () => cy.get(this.filtersEndDate); - getFiltersSector = () => cy.get(this.filtersSector); - getFiltersNumberOfHouseholdsMin = () => - cy.get(this.filtersNumberOfHouseholdsMin); - getFiltersNumberOfHouseholdsMax = () => - cy.get(this.filtersNumberOfHouseholdsMax); - getFiltersBudgetMin = () => cy.get(this.filtersBudgetMin); - getFiltersBudgetMax = () => cy.get(this.filtersBudgetMax); - getButtonClear = () => cy.get(this.buttonClear); - getButtonApply = () => cy.get(this.buttonApply); - getTabTitle = () => cy.get(this.tabTitle); - getName = () => cy.get(this.tableColumns).eq(0); - getStatus = () => cy.get(this.tableColumns).eq(1); - getTimeframe = () => cy.get(this.tableColumns).eq(2); - getSelector = () => cy.get(this.tableColumns).eq(3); - getNumOfouseholds = () => cy.get(this.tableColumns).eq(4); - getBudget = () => cy.get(this.tableColumns).eq(5); - getProgrammesRows = () => cy.get(this.rows); -} diff --git a/cypress/cypress/page-objects/pages/country_dashboard/country_dashboard.po.js b/cypress/cypress/page-objects/pages/country_dashboard/country_dashboard.po.js deleted file mode 100644 index bc98fbda7f..0000000000 --- a/cypress/cypress/page-objects/pages/country_dashboard/country_dashboard.po.js +++ /dev/null @@ -1,7 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class CountryDashboard extends BaseComponent { - // Locators - // Texts - // Elements -} diff --git a/cypress/cypress/page-objects/pages/grievance/details_feedback_page.po.js b/cypress/cypress/page-objects/pages/grievance/details_feedback_page.po.js deleted file mode 100644 index 53f7db94a2..0000000000 --- a/cypress/cypress/page-objects/pages/grievance/details_feedback_page.po.js +++ /dev/null @@ -1,65 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class FeedbackDetailsPage extends BaseComponent { - // Locators - pageHeaderContainer = 'div[data-cy="page-header-container"]'; - titlePage = 'h5[data-cy="page-header-title"]'; - buttonEdit = 'a[data-cy="button-edit"]'; - labelCategory = 'div[data-cy="label-Category"]'; - labelIssueType = 'div[data-cy="label-Issue Type"]'; - labelHouseholdID = 'div[data-cy="label-Household ID"]'; - labelIndividualID = 'div[data-cy="label-Individual ID"]'; - labelCreatedBy = 'div[data-cy="label-Created By"]'; - labelDateCreated = 'div[data-cy="label-Date Created"]'; - labelLastModifiedDate = 'div[data-cy="label-Last Modified Date"]'; - labelAdministrativeLevel2 = 'div[data-cy="label-Administrative Level 2"]'; - labelAreaVillagePayPoint = 'div[data-cy="label-Area / Village / Pay point"]'; - labelLanguagesSpoken = 'div[data-cy="label-Languages Spoken" ]'; - labelDescription = 'div[data-cy="label-Description"]'; - labelComments = 'div[data-cy="label-Comments"]'; - buttonCreateLinkedTicket = 'button[data-cy="button-create-linked-ticket"]'; - labelTicketId = 'div[data-cy="label-Ticket Id"]'; - // Texts - textTitle = "Feedback ID: "; - textCategory = "Feedback"; - textIssueType = "Negative Feedback"; - textDescription = "Negative Feedback"; - // Elements - getPageHeaderContainer = () => cy.get(this.pageHeaderContainer); - getTitlePage = () => cy.get(this.titlePage); - getButtonEdit = () => cy.get(this.buttonEdit); - getCategory = () => cy.get(this.labelCategory); - getIssueType = () => cy.get(this.labelIssueType); - getHouseholdID = () => cy.get(this.labelHouseholdID); - getIndividualID = () => cy.get(this.labelIndividualID); - getCreatedBy = () => cy.get(this.labelCreatedBy); - getDateCreated = () => cy.get(this.labelDateCreated); - getLastModifiedDate = () => cy.get(this.labelLastModifiedDate); - getAdministrativeLevel2 = () => cy.get(this.labelAdministrativeLevel2); - getAreaVillagePayPoint = () => cy.get(this.labelAreaVillagePayPoint); - getLanguagesSpoken = () => cy.get(this.labelLanguagesSpoken); - getDescription = () => cy.get(this.labelDescription); - getComments = () => cy.get(this.labelComments); - getButtonCreateLinkedTicket = () => cy.get(this.buttonCreateLinkedTicket); - getLabelTicketId = () => cy.get(this.labelTicketId); - - checkElementsOnPage() { - this.getTitlePage().contains(this.textTitle); - this.getButtonEdit().should("be.visible"); - this.getCategory().contains(this.textCategory); - this.getIssueType().contains(this.textIssueType); - this.getHouseholdID().should("be.visible"); - this.getIndividualID().should("be.visible"); - this.getCreatedBy().should("be.visible"); - this.getDateCreated().should("be.visible"); - this.getLastModifiedDate().should("be.visible"); - this.getAdministrativeLevel2().should("be.visible"); - this.getAreaVillagePayPoint().should("be.visible"); - this.getLanguagesSpoken().should("be.visible"); - this.getDescription().contains(this.textDescription); - this.getComments().should("be.visible"); - } - pressBackButton() { - this.getPageHeaderContainer().find("svg").eq(0).click(); - } -} diff --git a/cypress/cypress/page-objects/pages/grievance/details_grievance_page.po.js b/cypress/cypress/page-objects/pages/grievance/details_grievance_page.po.js deleted file mode 100644 index b94c870478..0000000000 --- a/cypress/cypress/page-objects/pages/grievance/details_grievance_page.po.js +++ /dev/null @@ -1,197 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class GrievanceDetailsPage extends BaseComponent { - // Locators - pageHeaderContainer = 'div[data-cy="page-header-container"]'; - title = 'h5[data-cy="page-header-title"]'; - buttonEdit = 'a[data-cy="button-edit"]'; - buttonSetInProgress = 'button[data-cy="button-set-to-in-progress"]'; - buttonCloseTicket = 'button[data-cy="button-close-ticket"]'; - buttonConfirm = 'button[data-cy="button-confirm"]'; - buttonAssignToMe = 'button[data-cy="button-assign-to-me"]'; - ticketStatus = 'div[data-cy="label-Status"]'; - ticketPriority = 'div[data-cy="label-Priority"]'; - ticketUrgency = 'div[data-cy="label-Urgency"]'; - ticketAssigment = 'div[data-cy="label-Assigned to"]'; - ticketCategory = 'div[data-cy="label-Category"]'; - labelIssueType = 'div[data-cy="label-Issue Type"]'; - ticketHouseholdID = 'div[data-cy="label-Household ID"]'; - ticketIndividualID = 'div[data-cy="label-Individual ID"]'; - ticketPaymentLabel = 'div[data-cy="label-Payment ID"]'; - ticketCategoryBy = 'div[data-cy="label-Created By"]'; - dateCreation = 'div[data-cy="label-Date Created"]'; - lastModifiedDate = 'div[data-cy="label-Last Modified Date"]'; - administrativeLevel = 'div[data-cy="label-Administrative Level 2"]'; - areaVillage = 'div[data-cy="label-Area / Village / Pay point"]'; - languagesSpoken = 'div[data-cy="label-Languages Spoken"]'; - documentation = 'div[data-cy="label-Documentation"]'; - ticketDescription = 'div[data-cy="label-Description"]'; - comments = 'div[data-cy="label-Comments"]'; - createLinkedTicket = 'button[data-cy="button-create-linked-ticket"]'; - markDuplicate = 'button[data-cy="button-mark-duplicate"]'; - cellIndividualID = 'th[data-cy="table-cell-individual-id"]'; - cellHouseholdID = 'th[data-cy="table-cell-household-id"]'; - cellFullName = 'th[data-cy="table-cell-full-name"]'; - cellGender = 'th[data-cy="table-cell-gender"]'; - cellDateOfBirth = 'th[data-cy="table-cell-date-of-birth"]'; - cellSimilarityScore = 'th[data-cy="table-cell-similarity-score"]'; - cellLastRegistrationDate = 'th[data-cy="table-cell-last-registration-date"]'; - cellDocType = 'th[data-cy="table-cell-doc-type"]'; - cellDoc = 'th[data-cy="table-cell-doc-number"]'; - cellAdminLevel2 = 'th[data-cy="table-cell-admin-level2"]'; - cellVillage = 'th[data-cy="table-cell-village"]'; - newNoteField = 'textarea[data-cy="input-newNote"]'; - buttonNewNote = 'button[data-cy="button-add-note"]'; - labelGENDER = 'div[data-cy="label-GENDER"]'; - labelRole = 'div[data-cy="label-role"]'; - labelPhoneNo = 'div[data-cy="label-phone no"]'; - labelPregnant = 'div[data-cy="label-pregnant"]'; - labelFullName = 'div[data-cy="label-full name"]'; - labelBirthDate = 'div[data-cy="label-birth date"]'; - labelDisability = 'div[data-cy="label-disability"]'; - labelGivenName = 'div[data-cy="label-given name"]'; - labelFamilyName = 'div[data-cy="label-family name"]'; - labelMiddleName = 'div[data-cy="label-middle name"]'; - labelWorkStatus = 'div[data-cy="label-work status"]'; - labelRelationship = 'div[data-cy="label-relationship"]'; - labelMaritalStatus = 'div[data-cy="label-marital status"]'; - labelCommsDisability = 'div[data-cy="label-comms disability"]'; - labelCommsDisability1 = 'div[data-cy="label-comms disability"]'; - labelSeeingDisability = 'div[data-cy="label-seeing disability"]'; - labelWhoAnswersPhone = 'div[data-cy="label-who answers phone"]'; - labelHearingDisability = 'div[data-cy="label-hearing disability"]'; - labelObservedDisability = 'div[data-cy="label-observed disability"]'; - labelPhysicalDisability = 'div[data-cy="label-physical disability"]'; - labelSelfcareDisability = 'div[data-cy="label-selfcare disability"]'; - labelEstimatedBirthDate = 'div[data-cy="label-estimated birth date"]'; - labelPhoneNoAlternative = 'div[data-cy="label-phone no alternative"]'; - labelWhoAnswersAltPhone = 'div[data-cy="label-who answers alt phone"]'; - labelTickets = 'div[data-cy="label-Tickets"]'; - checkbox = 'tr[role="checkbox"]'; - labelPartner = 'div[data-cy="label-Partner"]'; - - // Texts - textTitle = "Ticket ID: "; - textStatusNew = "New"; - textStatusAssigned = "Assigned"; - textPriorityNotSet = "Not set"; - textPriorityMedium = "Medium"; - textPriorityLow = "Low"; - textPriorityHigh = "High"; - textUrgencyNotUrgent = "Not urgent"; - textUrgencyUrgent = "Urgent"; - textUrgencyVeryUrgent = "Very urgent"; - textUrgencyNotSet = "Not set"; - textNotAssigment = "-"; - textAssigmentRootRootkowski = "Root Rootkowski"; - textNoCategory = "Needs Adjudication"; - // Elements - getPageHeaderContainer = () => cy.get(this.pageHeaderContainer); - getTitle = () => cy.get(this.title); - getButtonAssignToMe = () => cy.get(this.buttonAssignToMe); - getButtonCloseTicket = () => cy.get(this.buttonCloseTicket); - getButtonConfirm = () => cy.get(this.buttonConfirm); - getTicketStatus = () => cy.get(this.ticketStatus); - getTicketPriority = () => cy.get(this.ticketPriority); - getTicketUrgency = () => cy.get(this.ticketUrgency); - getTicketAssigment = () => cy.get(this.ticketAssigment); - getTicketCategory = () => cy.get(this.ticketCategory); - getTicketHouseholdID = () => cy.get(this.ticketHouseholdID); - getTicketIndividualID = () => cy.get(this.ticketIndividualID); - getTicketPaymentLabel = () => cy.get(this.ticketPaymentLabel); - getLabelPartner = () => cy.get(this.labelPartner); - getTicketCategoryBy = () => cy.get(this.ticketCategoryBy); - getDateCreation = () => cy.get(this.dateCreation); - getLastModifiedDate = () => cy.get(this.lastModifiedDate); - getAdministrativeLevel = () => cy.get(this.administrativeLevel); - getAreaVillage = () => cy.get(this.areaVillage); - getLanguagesSpoken = () => cy.get(this.languagesSpoken); - getDocumentation = () => cy.get(this.documentation); - getTicketDescription = () => cy.get(this.ticketDescription); - getCreateLinkedTicket = () => cy.get(this.createLinkedTicket); - getMarkDuplicate = () => cy.get(this.markDuplicate); - getCellIndividualID = () => cy.get(this.cellIndividualID); - getCellHouseholdID = () => cy.get(this.cellHouseholdID); - getLabelIssueType = () => cy.get(this.labelIssueType); - getCellFullName = () => cy.get(this.cellFullName); - getCellGender = () => cy.get(this.cellGender); - getCellDateOfBirth = () => cy.get(this.cellDateOfBirth); - getCellSimilarityScore = () => cy.get(this.cellSimilarityScore); - getCellLastRegistrationDate = () => cy.get(this.cellLastRegistrationDate); - getCellDocType = () => cy.get(this.cellDocType); - getCellDoc = () => cy.get(this.cellDoc); - getCellAdminLevel2 = () => cy.get(this.cellAdminLevel2); - getCellVillage = () => cy.get(this.cellVillage); - getNewNoteField = () => cy.get(this.newNoteField); - getLabelGENDER = () => cy.get(this.labelGENDER); - getLabelRole = () => cy.get(this.labelRole); - getLabelPhoneNo = () => cy.get(this.labelPhoneNo); - getLabelPregnant = () => cy.get(this.labelPregnant); - getLabelFullName = () => cy.get(this.labelFullName); - getLabelBirthDate = () => cy.get(this.labelBirthDate); - getLabelDisability = () => cy.get(this.labelDisability); - getLabelGivenName = () => cy.get(this.labelGivenName); - getLabelFamilyName = () => cy.get(this.labelFamilyName); - getLabelMiddleName = () => cy.get(this.labelMiddleName); - getLabelWorkStatus = () => cy.get(this.labelWorkStatus); - getLabelRelationship = () => cy.get(this.labelRelationship); - getLabelMaritalStatus = () => cy.get(this.labelMaritalStatus); - getLabelCommsDisability = () => cy.get(this.labelCommsDisability); - getLabelCommsDisability1 = () => cy.get(this.labelCommsDisability1); - getLabelSeeingDisability = () => cy.get(this.labelSeeingDisability); - getLabelWhoAnswersPhone = () => cy.get(this.labelWhoAnswersPhone); - getLabelHearingDisability = () => cy.get(this.labelHearingDisability); - getLabelObservedDisability = () => cy.get(this.labelObservedDisability); - getLabelPhysicalDisability = () => cy.get(this.labelPhysicalDisability); - getLabelSelfcareDisability = () => cy.get(this.labelSelfcareDisability); - getLabelEstimatedBirthDate = () => cy.get(this.labelEstimatedBirthDate); - getLabelPhoneNoAlternative = () => cy.get(this.labelPhoneNoAlternative); - getLabelWhoAnswersAltPhone = () => cy.get(this.labelWhoAnswersAltPhone); - getLabelTickets = () => cy.get(this.labelTickets); - getCheckbox = () => cy.get(this.checkbox); - - checkElementsOnPage( - status = this.textStatusNew, - priority = this.textPriorityNotSet, - urgency = this.textUrgencyNotSet, - assigment = this.textNotAssigment, - category = this.textNoCategory - ) { - this.getTitle().contains(this.textTitle); - this.getTicketStatus().contains(status); - this.getTicketPriority().contains(priority); - this.getTicketUrgency().contains(urgency); - this.getTicketAssigment().contains(assigment); - this.getTicketCategory().contains(category); - this.getTicketHouseholdID().should("be.visible"); - this.getTicketIndividualID().should("be.visible"); - this.getTicketPaymentLabel().should("be.visible"); - this.getTicketCategoryBy().should("be.visible"); - this.getDateCreation().should("be.visible"); - this.getLastModifiedDate().should("be.visible"); - this.getAdministrativeLevel().should("be.visible"); - this.getAreaVillage().should("be.visible"); - this.getLanguagesSpoken().should("be.visible"); - this.getDocumentation().should("be.visible"); - this.getTicketDescription().scrollIntoView().should("be.visible"); - } - - checkElementsCells() { - this.getCellIndividualID().scrollIntoView().should("be.visible"); - this.getCellHouseholdID().scrollIntoView().should("be.visible"); - this.getCellFullName().scrollIntoView().should("be.visible"); - this.getCellGender().scrollIntoView().should("be.visible"); - this.getCellDateOfBirth().scrollIntoView().should("be.visible"); - this.getCellSimilarityScore().scrollIntoView().should("be.visible"); - this.getCellLastRegistrationDate().scrollIntoView().should("be.visible"); - this.getCellDocType().scrollIntoView().should("be.visible"); - this.getCellDoc().scrollIntoView().should("be.visible"); - this.getCellAdminLevel2().scrollIntoView().should("be.visible"); - this.getCellVillage().scrollIntoView().should("be.visible"); - this.getNewNoteField().scrollIntoView().should("be.visible"); - } - - pressBackButton() { - this.getPageHeaderContainer().find("svg").eq(0).click(); - } -} diff --git a/cypress/cypress/page-objects/pages/grievance/feedback.po.js b/cypress/cypress/page-objects/pages/grievance/feedback.po.js deleted file mode 100644 index 08f5f5a65f..0000000000 --- a/cypress/cypress/page-objects/pages/grievance/feedback.po.js +++ /dev/null @@ -1,140 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class Feedback extends BaseComponent { - // Locators - titlePage = 'h5[data-cy="page-header-title"]'; - buttonSubmitNewFeedback = 'a[data-cy="button-submit-new-feedback"]'; - filterSearch = 'div[data-cy="filters-search"]'; - filterIssueType = 'div[data-cy="filters-issue-type"]'; - filterCreatedBy = 'div[data-cy="filters-created-by"]'; - filterCreationDateFrom = 'div[data-cy="filters-creation-date-from"]'; - filterCreationDateTo = 'div[data-cy="filters-creation-date-to"]'; - buttonClear = 'button[data-cy="button-filters-clear"]'; - buttonApply = 'button[data-cy="button-filters-apply"]'; - tableTitle = 'h6[data-cy="table-title"]'; - tableColumns = 'span[data-cy="table-label"]'; - tableRow = 'tr[role="checkbox"]'; - searchFilter = 'div[data-cy="filters-search"]'; - daysFilterPopup = - 'div[class="MuiPickersSlideTransition-transitionContainer MuiPickersCalendar-transitionContainer"]'; - creationDateToFilter = 'div[data-cy="filters-creation-date-to"]'; - dateTitleFilterPopup = - 'div[class="MuiPaper-root MuiPopover-paper MuiPaper-elevation8 MuiPaper-rounded"]'; - issueTypeFilter = 'div[data-cy="filters-issue-type"]'; - option = 'li[role="option"]'; - - // Texts - textTitle = "Feedback"; - textTableTitle = "Feedbacks List"; - textFeedbackID = "Feedback ID"; - textIssueType = "Issue Type"; - textHouseholdID = "Household ID"; - textLinkedGrievance = "Linked Grievance"; - textCreatedBy = "Created by"; - textCreationDate = "Creation Date"; - // Elements - getTitlePage = () => cy.get(this.titlePage); - getButtonSubmitNewFeedback = () => cy.get(this.buttonSubmitNewFeedback); - getFilterSearch = () => cy.get(this.filterSearch); - getFilterIssueType = () => cy.get(this.filterIssueType); - getFilterCreatedBy = () => cy.get(this.filterCreatedBy); - getFilterCreationDateFrom = () => cy.get(this.filterCreationDateFrom); - getFilterCreationDateTo = () => cy.get(this.filterCreationDateTo); - getButtonClear = () => cy.get(this.buttonClear); - getButtonApply = () => cy.get(this.buttonApply); - getSearchFilter = () => cy.get(this.searchFilter); - getTableTitle = () => cy.get(this.tableTitle); - getFeedbackID = () => cy.get(this.tableColumns).eq(0); - getIssueType = () => cy.get(this.tableColumns).eq(1); - getHouseholdID = () => cy.get(this.tableColumns).eq(2); - getLinkedGrievance = () => cy.get(this.tableColumns).eq(3); - getCreatedBy = () => cy.get(this.tableColumns).eq(4); - getCreationDate = () => cy.get(this.tableColumns).eq(5); - getRows = () => cy.get(this.tableRow); - getDaysFilterPopup = () => cy.get(this.daysFilterPopup); - getCreationDateToFilter = () => cy.get(this.creationDateToFilter); - getDateTitleFilterPopup = () => cy.get(this.dateTitleFilterPopup); - getIssueTypeFilter = () => cy.get(this.issueTypeFilter); - getOption = () => cy.get(this.option); - - checkElementsOnPage() { - this.getTitlePage().contains(this.textTitle); - this.getButtonSubmitNewFeedback().should("be.visible"); - this.getFilterSearch().should("be.visible"); - this.getFilterIssueType().should("be.visible"); - this.getFilterCreatedBy().should("be.visible"); - this.getFilterCreationDateFrom().should("be.visible"); - this.getFilterCreationDateTo().should("be.visible"); - this.getButtonClear().should("be.visible"); - this.getButtonApply().should("be.visible"); - this.getTableTitle().contains(this.textTableTitle); - this.getFeedbackID().contains(this.textFeedbackID); - this.getIssueType().contains(this.textIssueType); - this.getHouseholdID().contains(this.textHouseholdID); - this.getLinkedGrievance().contains(this.textLinkedGrievance); - this.getCreatedBy().contains(this.textCreatedBy); - this.getCreationDate().contains(this.textCreationDate); - } - - clickButtonSubmitNewFeedback() { - this.getButtonSubmitNewFeedback().click(); - } - - chooseTableRow(num) { - this.getRows().eq(num).click(); - } - - useSearchFilter(text) { - this.getSearchFilter().type(text); - this.getButtonApply().click(); - } - - chooseTicketListRow(num = 0, contains = "FED-23-0001") { - return this.getRows().eq(num).find("a").contains(contains); - } - - expectedNumberOfRows(num) { - if (num === 0) { - this.getRows().should("not.exist"); - } else { - this.getRows().should("have.length", num); - } - } - - changeCreationDateTo(date) { - // Date format (String): YYYY-MM-DD - this.getCreationDateToFilter().type(date); - } - - useCreatedByFilter(mail) { - this.getFilterCreatedBy().click(); - this.getFilterCreatedBy().type(mail).type("{enter}"); - this.getOption().first().contains(mail).click(); - this.getButtonApply().click(); - } - - useIssueTypeFilter(issueType) { - this.getIssueTypeFilter().click(); - this.getOption().contains(issueType).click(); - this.getButtonApply().click(); - } - - checkDateFilterTo(date) { - // Date format (String): YYYY-MM-DD - this.getCreationDateToFilter().find("input").should("have.value", date); - } - - openCreationDateToFilter() { - this.getCreationDateToFilter().find("button").click(); - } - - checkDateTitleFilter(date) { - // Date format (String): Www, Mmm D - // Example: Sat, Jan 1 - this.getDateTitleFilterPopup().contains(date).type("{esc}"); - } - - chooseDayFilterPopup(day) { - this.getDaysFilterPopup().contains("p", day).click(); - } -} diff --git a/cypress/cypress/page-objects/pages/grievance/grievance_dashboard.po.js b/cypress/cypress/page-objects/pages/grievance/grievance_dashboard.po.js deleted file mode 100644 index ccf2cf52a1..0000000000 --- a/cypress/cypress/page-objects/pages/grievance/grievance_dashboard.po.js +++ /dev/null @@ -1,37 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class GrievanceDashboard extends BaseComponent { - // Locators - titlePage = 'h5[data-cy="page-header-title"]'; - userGenerated = 'div[data-cy="label-USER-GENERATED"]'; - systemGenerated = 'div[data-cy="label-SYSTEM-GENERATED"]'; - averageResolution = 'div[data-cy="tickets-average-resolution-top-number"]'; - totalClosed = 'div[data-cy="total-number-of-closed-tickets-top-number"]'; - totalTickets = 'div[data-cy="total-number-of-tickets-top-number"]'; - // Texts - textTitle = "Grievance Dashboard"; - // Elements - getTitle = () => cy.get(this.titlePage); - getAverageResolution = () => cy.get(this.averageResolution); - getTotalClosed = () => cy.get(this.totalClosed); - getTotalTickets = () => cy.get(this.totalTickets); - getUserGeneratedResolutions = () => cy.get(this.userGenerated).eq(2); - getUserGeneratedClosed = () => cy.get(this.userGenerated).eq(1); - getUserGeneratedTickets = () => cy.get(this.userGenerated).eq(0); - getSystemGeneratedResolutions = () => cy.get(this.systemGenerated).eq(2); - getSystemGeneratedClosed = () => cy.get(this.systemGenerated).eq(1); - getSystemGeneratedTickets = () => cy.get(this.systemGenerated).eq(0); - - checkElementsOnPage() { - this.getTitle().contains(this.textTitle); - this.getAverageResolution().scrollIntoView().should("be.visible"); - this.getTotalClosed().scrollIntoView().should("be.visible"); - this.getTotalTickets().scrollIntoView().should("be.visible"); - this.getUserGeneratedResolutions().scrollIntoView().should("be.visible"); - this.getUserGeneratedClosed().scrollIntoView().should("be.visible"); - this.getUserGeneratedTickets().scrollIntoView().should("be.visible"); - this.getSystemGeneratedResolutions().scrollIntoView().should("be.visible"); - this.getSystemGeneratedClosed().scrollIntoView().should("be.visible"); - this.getSystemGeneratedTickets().scrollIntoView().should("be.visible"); - } -} diff --git a/cypress/cypress/page-objects/pages/grievance/grievance_tickets.po.js b/cypress/cypress/page-objects/pages/grievance/grievance_tickets.po.js deleted file mode 100644 index a7f4e30b95..0000000000 --- a/cypress/cypress/page-objects/pages/grievance/grievance_tickets.po.js +++ /dev/null @@ -1,292 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class Grievance extends BaseComponent { - // Locators - titlePage = 'h5[data-cy="page-header-title"]'; - searchFilter = 'div[data-cy="filters-search"]'; - ticketTypeFilter = 'div[data-cy="filters-document-type"]'; - ticketId = 'li[data-value="ticket_id"]'; - householdId = 'li[data-value="ticket_hh_id"]'; - familyName = 'li[data-value="full_name"]'; - tabSystemGenerated = 'button[data-cy="tab-SYSTEM-GENERATED"]'; - tabUserGenerated = 'button[data-cy="tab-USER-GENERATED"]'; - creationDateFromFilter = 'div[data-cy="filters-creation-date-from"]'; - creationDateToFilter = 'div[data-cy="filters-creation-date-to"]'; - statusFilter = 'div[data-cy="filters-status"]'; - fspFilter = 'div[data-cy="filters-fsp"]'; - categoryFilter = 'div[data-cy="filters-category"]'; - assigneeFilter = 'div[data-cy="filters-assignee"]'; - adminLevelFilter = 'div[data-cy="filters-admin-level"]'; - registrationDataImportFilter = - 'div[data-cy="filters-registration-data-import"]'; - preferredLanguageFilter = 'div[data-cy="filters-preferred-language"]'; - priorityFilter = 'div[data-cy="filters-priority'; - urgencyFilter = 'div[data-cy="filters-urgency'; - activeTicketsFilter = 'div[data-cy="filters-active-tickets'; - similarityScoreFromFilter = 'div[data-cy="filters-similarity-score-from'; - similarityScoreToFilter = 'div[data-cy="filters-similarity-score-to'; - buttonApply = 'button[data-cy="button-filters-apply"]'; - buttonClear = 'button[data-cy="button-filters-clear"]'; - buttonNewTicket = 'a[data-cy="button-new-ticket"]'; - tabTitle = 'h6[data-cy="table-title"]'; - tabTicketID = 'th[data-cy="ticket-id"]'; - tabStatus = 'th[data-cy="status"]'; - tabAssignedTo = 'th[data-cy="assignedTo"]'; - tabCategory = 'th[data-cy="category"]'; - tabIssueType = 'th[data-cy="issueType"]'; - tabHouseholdID = 'th[data-cy="householdId"]'; - tabPriority = 'th[data-cy="priority"]'; - tabUrgency = 'th[data-cy="urgency"]'; - tabLinkedTickets = 'th[data-cy="linkedTickets"]'; - tabCreationData = 'th[data-cy="createdAt"]'; - tabLastModifiedDate = 'th[data-cy="userModified"]'; - tabTotalDays = 'th[data-cy="totalDays"]'; - ticketListRow = 'tr[role="checkbox"]'; - statusOptions = 'li[role="option"]'; - filtersCreatedBy = 'div[data-cy="filters-created-by-input"]'; - - dateTitleFilterPopup = - 'div[class="MuiPaper-root MuiPopover-paper MuiPaper-elevation8 MuiPaper-rounded"]'; - daysFilterPopup = - 'div[class="MuiPickersSlideTransition-transitionContainer MuiPickersCalendar-transitionContainer"]'; - - // Texts - textTitle = "Grievance Tickets"; - textTabTitle = "Grievance Tickets List"; - - // Elements - getGrievanceTitle = () => cy.get(this.titlePage); - getTabTitle = () => cy.get(this.tabTitle); - getSearchFilter = () => cy.get(this.searchFilter); - getTicketTypeFilter = () => cy.get(this.ticketTypeFilter); - getCreationDateFromFilter = () => cy.get(this.creationDateFromFilter); - getCreationDateToFilter = () => cy.get(this.creationDateToFilter); - getStatusFilter = () => cy.get(this.statusFilter); - getFspFilter = () => cy.get(this.fspFilter); - getCategoryFilter = () => cy.get(this.categoryFilter); - getAssigneeFilter = () => cy.get(this.assigneeFilter); - getAdminLevelFilter = () => cy.get(this.adminLevelFilter); - getRegistrationDataImportFilter = () => - cy.get(this.registrationDataImportFilter); - getPreferredLanguageFilter = () => cy.get(this.preferredLanguageFilter); - getPriorityFilter = () => cy.get(this.priorityFilter); - getUrgencyFilter = () => cy.get(this.urgencyFilter); - getActiveTicketsFilter = () => cy.get(this.activeTicketsFilter); - getFiltersCreatedBy = () => cy.get(this.filtersCreatedBy); - getSimilarityScoreFromFilter = () => cy.get(this.similarityScoreFromFilter); - getSimilarityScoreToFilter = () => cy.get(this.similarityScoreToFilter); - getButtonApply = () => cy.get(this.buttonApply); - getButtonClear = () => cy.get(this.buttonClear); - getButtonNewTicket = () => cy.get(this.buttonNewTicket); - getTicketID = () => cy.get(this.ticketId); - getHouseholdID = () => cy.get(this.householdId); - getFamilyName = () => cy.get(this.familyName); - getTabTicketID = () => cy.get(this.tabTicketID); - getTabStatus = () => cy.get(this.tabStatus); - getTabAssignedTo = () => cy.get(this.tabAssignedTo); - getTabCategory = () => cy.get(this.tabCategory); - getTabIssueType = () => cy.get(this.tabIssueType); - getTabHouseholdID = () => cy.get(this.tabHouseholdID); - getTabPriority = () => cy.get(this.tabPriority); - getTabUrgency = () => cy.get(this.tabUrgency); - getTabLinkedTickets = () => cy.get(this.tabLinkedTickets); - getTabCreationData = () => cy.get(this.tabCreationData); - getTabLastModifiedDate = () => cy.get(this.tabLastModifiedDate); - getTabTotalDays = () => cy.get(this.tabTotalDays); - getTabSystemGenerated = () => cy.get(this.tabSystemGenerated); - getTabUserGenerated = () => cy.get(this.tabUserGenerated); - getTicketListRow = () => cy.get(this.ticketListRow); - getDateTitleFilterPopup = () => cy.get(this.dateTitleFilterPopup); - getDaysFilterPopup = () => cy.get(this.daysFilterPopup); - getOptions = () => cy.get(this.statusOptions); - - checkElementsOnUserGeneratedPage() { - this.getGrievanceTitle().contains(this.textTitle); - this.getTabTitle().contains(this.textTabTitle); - this.getTabUserGenerated().should("be.visible"); - this.getTabSystemGenerated().should("be.visible"); - this.checkAllSearchFieldsVisible(); - this.getButtonNewTicket().should("be.visible"); - this.checkAllColumnsVisibility(); - } - - chooseTicketListRow(num = 0, contains = "GRV-0000002") { - return this.getTicketListRow().eq(num).contains(contains); - } - - chooseCategoryFilter(category) { - this.getCategoryFilter().click(); - this.getOptions().contains(category).click(); - this.getButtonApply().click(); - } - - chooseStatusFilter(status) { - this.getStatusFilter().click(); - this.getOptions().contains(status).click(); - this.getButtonApply().click(); - } - - choosePriorityFilter(prio) { - this.getPriorityFilter().click(); - this.getOptions().contains(prio).click(); - this.getButtonApply().click(); - } - - chooseUrgencyFilter(urgency) { - this.getUrgencyFilter().click(); - this.getOptions().contains(urgency).click(); - this.getButtonApply().click(); - } - - chooseRDIFilter(rdi) { - this.getRegistrationDataImportFilter().click(); - this.getOptions().contains(rdi).click(); - this.getButtonApply().click(); - } - - chooseAdminFilter(name) { - this.getAdminLevelFilter().click(); - this.getOptions().contains(name).click(); - this.getButtonApply().click(); - } - - chooseAssigneeFilter(mail) { - this.getAssigneeFilter().click(); - this.getOptions().contains(mail).click(); - this.getButtonApply().click(); - } - checkElementsOnSystemGeneratedPage() { - this.getTabSystemGenerated().click(); - this.getGrievanceTitle().contains(this.textTitle); - this.getTabTitle().contains(this.textTabTitle); - this.checkAllSearchFieldsVisible(); - this.getSimilarityScoreFromFilter().should("be.visible"); - this.getSimilarityScoreToFilter().should("be.visible"); - this.checkAllColumnsVisibility(); - this.getTicketListRow().eq(0).should("be.visible"); - } - - checkElementsOfTicketTypeFilter() { - this.getTicketTypeFilter().click(); - this.getTicketID().should("be.visible"); - this.getHouseholdID().should("be.visible"); - this.pressEscapeFromElement(this.getFamilyName().should("be.visible")); - } - - checkAllSearchFieldsVisible() { - this.getSearchFilter().should("be.visible"); - this.getTicketTypeFilter().should("be.visible"); - this.getCreationDateFromFilter().should("be.visible"); - this.getCreationDateToFilter().should("be.visible"); - this.getStatusFilter().should("be.visible"); - this.getFspFilter().should("be.visible"); - this.getCategoryFilter().should("be.visible"); - this.getAssigneeFilter().should("be.visible"); - this.getAdminLevelFilter().should("be.visible"); - this.getRegistrationDataImportFilter().should("be.visible"); - this.getPreferredLanguageFilter().should("be.visible"); - this.getPriorityFilter().should("be.visible"); - this.getUrgencyFilter().should("be.visible"); - this.getActiveTicketsFilter().should("be.visible"); - this.checkElementsOfTicketTypeFilter(); - this.getButtonApply().should("be.visible"); - this.getButtonClear().should("be.visible"); - } - checkAllColumnsVisibility() { - this.getTabTicketID().should("be.visible"); - this.getTabStatus().should("be.visible"); - this.getTabAssignedTo().should("be.visible"); - this.getTabCategory().scrollIntoView().should("be.visible"); - this.getTabIssueType().scrollIntoView().should("be.visible"); - this.getTabHouseholdID().scrollIntoView().should("be.visible"); - this.getTabPriority().scrollIntoView().should("be.visible"); - this.getTabUrgency().scrollIntoView().should("be.visible"); - this.getTabLinkedTickets().scrollIntoView().should("be.visible"); - this.getTabCreationData().scrollIntoView().should("be.visible"); - this.getTabLastModifiedDate().scrollIntoView().should("be.visible"); - this.getTabTotalDays().scrollIntoView().should("be.visible"); - } - - useSearchFilter(text) { - this.getSearchFilter().type(text); - this.getButtonApply().click(); - } - chooseTicketTypeHouseholdID() { - this.getTicketTypeFilter().click(); - this.getHouseholdID().click(); - this.pressEscapeFromElement(this.getHouseholdID()); - this.getButtonApply().click(); - } - - chooseTicketTypeTicketID() { - this.getTicketTypeFilter().click(); - this.getTicketID().click(); - this.pressEscapeFromElement(this.getTicketID()); - this.getButtonApply().click(); - } - - chooseTicketTypeLastName() { - this.getTicketTypeFilter().click(); - this.getFamilyName().click(); - this.pressEscapeFromElement(this.getFamilyName()); - this.getButtonApply().click(); - } - - checkTicketTypeFilterText(text) { - this.getTicketTypeFilter() - .find("div") - .eq(0) - .scrollIntoView() - .contains(text); - } - - changeCreationDateFrom(date) { - // Date format (String): YYYY-MM-DD - this.getCreationDateFromFilter().type(date); - } - - openCreationDateFromFilter() { - this.getCreationDateFromFilter().find("button").click(); - } - - chooseDayFilterPopup(day) { - this.getDaysFilterPopup().contains("p", day).click(); - } - - checkDateFilterFrom(date) { - // Date format (String): YYYY-MM-DD - this.getCreationDateFromFilter().find("input").should("have.value", date); - } - - changeCreationDateTo(date) { - // Date format (String): YYYY-MM-DD - this.getCreationDateToFilter().type(date); - } - - openCreationDateToFilter() { - this.getCreationDateToFilter().find("button").click(); - } - - checkDateFilterTo(date) { - // Date format (String): YYYY-MM-DD - this.getCreationDateToFilter().find("input").should("have.value", date); - } - - checkDateTitleFilter(date) { - // Date format (String): Www, Mmm D - // Example: Sat, Jan 1 - this.getDateTitleFilterPopup().contains(date).type("{esc}"); - } - chooseTab(tabName) { - // Possibilities (String): USER-GENERATED, SYSTEM-GENERATED - cy.get(`button[data-cy="tab-${tabName}"]`).click(); - } - - expectedNumberOfRows(num) { - if (num === 0) { - this.getTicketListRow().should("not.exist"); - } else { - this.getTicketListRow().should("have.length", num); - } - } -} diff --git a/cypress/cypress/page-objects/pages/grievance/new_feedback.po.js b/cypress/cypress/page-objects/pages/grievance/new_feedback.po.js deleted file mode 100644 index 96bdd4e0ea..0000000000 --- a/cypress/cypress/page-objects/pages/grievance/new_feedback.po.js +++ /dev/null @@ -1,67 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class NewFeedback extends BaseComponent { - // Locators - titlePage = 'h5[data-cy="page-header-title"]'; - labelCategory = 'div[data-cy="label-Category"]'; - selectIssueType = 'div[data-cy="select-issueType"]'; - issueType = 'div[data-cy="label-Issue Type"]'; - inputIssueType = 'div[data-cy="input-issue-type"]'; - buttonCancel = 'a[data-cy="button-cancel"]'; - buttonBack = 'button[data-cy="button-back"]'; - buttonNext = 'button[data-cy="button-submit"]'; - option = 'li[role="option"]'; - householdTableRow = 'tr[data-cy="household-table-row"]'; - individualTableRow = 'tr[data-cy="individual-table-row"'; - lookUpTabs = 'button[role="tab"]'; - receivedConsent = 'span[data-cy="input-consent"]'; - description = 'textarea[data-cy="input-description"]'; - comments = 'textarea[data-cy="input-comments"]'; - adminAreaAutocomplete = 'div[data-cy="input-admin2"]'; - inputLanguage = 'textarea[data-cy="input-language"]'; - inputArea = 'input[data-cy="input-area"]'; - - // Texts - textTitle = "New Feedback"; - textCategory = "Feedback"; - textLookUpHousehold = "LOOK UP HOUSEHOLD"; - textLookUpIndividual = "LOOK UP INDIVIDUAL"; - // Elements - getTitlePage = () => cy.get(this.titlePage); - getLabelCategory = () => cy.get(this.labelCategory); - getSelectIssueType = () => cy.get(this.selectIssueType); - getButtonCancel = () => cy.get(this.buttonCancel); - getButtonBack = () => cy.get(this.buttonBack); - getButtonNext = () => cy.get(this.buttonNext); - getOption = () => cy.get(this.option); - getHouseholdTab = () => - cy.get(this.lookUpTabs).contains(this.textLookUpHousehold); - getLookUpIndividual = () => - cy.get(this.lookUpTabs).contains(this.textLookUpIndividual); - getHouseholdTableRows = (number) => cy.get(this.householdTableRow).eq(number); - getIndividualTableRow = (number) => - cy.get(this.individualTableRow).eq(number); - - getReceivedConsent = () => cy.get(this.receivedConsent); - getDescription = () => cy.get(this.description); - getComments = () => cy.get(this.comments); - getInputLanguage = () => cy.get(this.inputLanguage); - getInputArea = () => cy.get(this.inputArea); - getAdminAreaAutocomplete = () => cy.get(this.adminAreaAutocomplete); - getIssueType = () => cy.get(this.issueType); - getInputIssueType = () => cy.get(this.inputIssueType); - - checkElementsOnPage() { - this.getTitlePage().contains(this.textTitle); - this.getLabelCategory().contains(this.textCategory); - this.getSelectIssueType().should("be.visible"); - this.getButtonCancel().should("be.visible"); - this.getButtonBack().should("be.visible"); - this.getButtonNext().should("be.visible"); - } - - chooseOptionByName(name) { - this.getSelectIssueType().click(); - this.getOption().contains(name).click(); - } -} diff --git a/cypress/cypress/page-objects/pages/grievance/new_ticket.po.js b/cypress/cypress/page-objects/pages/grievance/new_ticket.po.js deleted file mode 100644 index 7817b2de8d..0000000000 --- a/cypress/cypress/page-objects/pages/grievance/new_ticket.po.js +++ /dev/null @@ -1,218 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class NewTicket extends BaseComponent { - // Locators - title = 'h5[data-cy="page-header-title"]'; - selectCategory = 'div[data-cy="select-category"]'; - issueType = 'div[data-cy="select-issueType"]'; - buttonNext = 'button[data-cy="button-submit"]'; - statusOptions = 'li[role="option"]'; - lookUpTabs = 'button[role="tab"]'; - householdTableRow = 'tr[data-cy="household-table-row"]'; - individualTableRow = 'tr[data-cy="individual-table-row"]'; - receivedConsent = 'span[data-cy="input-consent"]'; - individualID = 'div[data-cy="label-INDIVIDUAL ID"]'; - householdID = 'div[data-cy="label-HOUSEHOLD ID"]'; - issueTypeLabel = 'div[data-cy="label-Issue Type"]'; - category = 'div[data-cy="label-Category"]'; - description = 'textarea[data-cy="input-description"]'; - comments = 'textarea[data-cy="input-comments"]'; - whoAnswersPhone = 'input[data-cy="input-individualData.whoAnswersPhone"]'; - whoAnswersAltPhone = - 'input[data-cy="input-individualData.whoAnswersAltPhone"]'; - role = 'div[data-cy="select-individualData.role"]'; - relationship = 'div[data-cy="select-individualData.relationship"]'; - phoneNo = 'input[data-cy="input-individualData.phoneNo"]'; - middleName = 'input[data-cy="input-individualData.middleName"]'; - maritalStatus = 'div[data-cy="select-individualData.maritalStatus"]'; - pregnant = 'div[data-cy="select-individualData.pregnant"]'; - disability = 'div[data-cy="select-individualData.disability"]'; - email = 'input[data-cy="input-individualData.email"]'; - physicalDisability = - 'div[data-cy="select-individualData.physicalDisability"]'; - seeingDisability = 'div[data-cy="select-individualData.seeingDisability"]'; - memoryDisability = 'div[data-cy="select-individualData.memoryDisability"]'; - hearingDisability = 'div[data-cy="select-individualData.hearingDisability"]'; - commsDisability = 'div[data-cy="select-individualData.commsDisability"]'; - givenName = 'input[data-cy="input-individualData.givenName"]'; - gender = 'div[data-cy="select-individualData.sex"]'; - fullName = 'input[data-cy="input-individualData.fullName"]'; - familyName = 'input[data-cy="input-individualData.familyName"]'; - estimatedBirthDate = - 'div[data-cy="select-individualData.estimatedBirthDate"]'; - workStatus = 'div[data-cy="select-individualData.workStatus"]'; - observedDisability = - 'div[data-cy="select-individualData.observedDisability"]'; - selfcareDisability = - 'div[data-cy="select-individualData.selfcareDisability"]'; - birthDate = 'input[data-cy="date-input-individualData.birthDate"]'; - phoneNoAlternative = - 'input[data-cy="input-individualData.phoneNoAlternative"]'; - addDocument = 'button[type="button"]'; - lookUpButton = 'div[data-cy="look-up-button"]'; - checkbox = 'tr[role="checkbox"]'; - selectUrgency = 'div[data-cy="select-urgency"]'; - selectPriority = 'div[data-cy="select-priority"]'; - inputLanguage = 'textarea[data-cy="input-language"]'; - inputArea = 'input[data-cy="input-area"]'; - adminAreaAutocomplete = 'div[data-cy="admin-area-autocomplete"]'; - optionUndefined = 'li[data-cy="select-option-undefined"]'; - optionZero = 'li[data-cy="select-option-0"]'; - optionOne = 'li[data-cy="select-option-1"]'; - labelCategoryDescription = 'div[data-cy="label-Category Description"]'; - labelIssueTypeDescription = 'div[data-cy="label-Issue Type Description"]'; - selectFieldName = - 'div[data-cy="select-householdDataUpdateFields[0].fieldName"]'; - individualFieldName = - 'div[data-cy="select-individualDataUpdateFields[0].fieldName"]'; - inputValue = 'input[data-cy="input-householdDataUpdateFields[0].fieldValue"]'; - partner = 'div[data-cy="select-partner"]'; - - // Texts - textLookUpHousehold = "LOOK UP HOUSEHOLD"; - textLookUpIndividual = "LOOK UP INDIVIDUAL"; - textTitle = "New Ticket"; - textNext = "Next"; - textCategoryDescription = { - "Data Change": - "A grievance that is submitted to change in the households or beneficiary status", - "Grievance Complaint": - "A grievance submitted to express dissatisfaction made about an individual, UNICEF/NGO/Partner/Vendor, about a received service or about the process itself", - Referral: - "A grievance submitted to direct the reporting individual to another service provider/actor to provide support/help that is beyond the scope of work of UNICEF", - "Sensitive Grievance": - "A grievance that shall be treated with sensitivity or which individual wishes to submit anonymously", - }; - - textIssueTypeDescription = { - "Add Individual": - "A grievance submitted to specifically change in the households to add an individual", - "Household Data Update": - "A grievance submitted to change in the household data (Address, number of individuals, etc.)", - "Individual Data Update": - "A grievance submitted to change in the household’s individuals data (Family name, full name, birth date, etc.)", - "Withdraw Individual": - "A grievance submitted to remove an individual from within a household", - "Withdraw Household": "A grievance submitted to remove a household", - "Payment Related Complaint": - "A grievance submitted to complain about payments", - "FSP Related Complaint": - "A grievance to report dissatisfaction on service provided by a Financial Service Providers", - "Registration Related Complaint": - "A grievance submitted on issues/difficulties encountered during the registration of beneficiaries", - "Other Complaint": - "Other complaints that do not fall into specific predefined categories", - "Partner Related Complaint": - "A grievance submitted on issues encountered by an implementing partner", - "Bribery, corruption or kickback": - "Grievance on illicit payments or favors in exchange for personal gain", - "Data breach": - "Grievance on unauthorized access or disclosure of beneficiary data", - "Conflict of interest": - "Grievance on deception or falsification for personal gain", - "Fraud and forgery": - "Grievance related to identity theft or impersonation to benefit from someone’s entitlements", - "Fraud involving misuse of programme funds by third party": - "Grievance on forgery actions undertaken by third parties’ individuals", - "Gross mismanagement": - "Grievance on mismanagement leading to significant negative impact", - "Harassment and abuse of authority": - "Grievance related to intimidation, mistreatment, or abuse by those in authority", - "Inappropriate staff conduct": - "Grievance related to improper behavior or actions (physical or verbal) by program staff", - Miscellaneous: - "Other issues not falling into specific predefined categories", - "Personal disputes": - "Grievance on conflicts or disagreements between individuals", - "Sexual harassment and sexual exploitation": - "Grievance on unwanted advances, abuse, or exploitation of a sexual nature", - "Unauthorized use, misuse or waste of UNICEF property or funds": - "Grievance on improper or unauthorized handling or disposal of assets/funds", - }; - // Elements - getTitle = () => cy.get(this.title); - getSelectCategory = () => cy.get(this.selectCategory); - getIssueType = () => cy.get(this.issueType); - getButtonNext = () => cy.get(this.buttonNext); - getOption = () => cy.get(this.statusOptions); - getHouseholdTab = () => - cy.get(this.lookUpTabs).contains(this.textLookUpHousehold); - getIndividualTab = () => - cy.get(this.lookUpTabs).contains(this.textLookUpIndividual); - getHouseholdTableRows = (number) => cy.get(this.householdTableRow).eq(number); - getIndividualTableRows = (number) => - cy.get(this.individualTableRow).eq(number); - getReceivedConsent = () => cy.get(this.receivedConsent); - getDescription = () => cy.get(this.description); - getIndividualID = () => cy.get(this.individualID); - getHouseholdID = () => cy.get(this.householdID); - getIssueTypeLabel = () => cy.get(this.issueTypeLabel); - getCategory = () => cy.get(this.category); - getComments = () => cy.get(this.comments); - getWhoAnswersPhone = () => cy.get(this.whoAnswersPhone); - getWhoAnswersAltPhone = () => cy.get(this.whoAnswersAltPhone); - getRole = () => cy.get(this.role); - getRelationship = () => cy.get(this.relationship); - getPhoneNo = () => cy.get(this.phoneNo); - getMiddleName = () => cy.get(this.middleName); - getMaritalStatus = () => cy.get(this.maritalStatus); - getPregnant = () => cy.get(this.pregnant); - getDisability = () => cy.get(this.disability); - getEmail = () => cy.get(this.email); - getPhysicalDisability = () => cy.get(this.physicalDisability); - getsSeeingDisability = () => cy.get(this.seeingDisability); - getMemoryDisability = () => cy.get(this.memoryDisability); - getHearingDisability = () => cy.get(this.hearingDisability); - getCommsDisability = () => cy.get(this.commsDisability); - getGivenName = () => cy.get(this.givenName); - getGender = () => cy.get(this.gender); - getFullName = () => cy.get(this.fullName); - getFamilyName = () => cy.get(this.familyName); - getEstimatedBirthDate = () => cy.get(this.estimatedBirthDate); - getWorkStatus = () => cy.get(this.workStatus); - getObservedDisability = () => cy.get(this.observedDisability); - getSelfcareDisability = () => cy.get(this.selfcareDisability); - getBirthDate = () => cy.get(this.birthDate); - getPhoneNoAlternative = () => cy.get(this.phoneNoAlternative); - getAddDocument = () => cy.get(this.addDocument); - getLookUpButton = () => cy.get(this.lookUpButton); - getCheckbox = () => cy.get(this.checkbox); - getSelectUrgency = () => cy.get(this.selectUrgency); - getSelectPriority = () => cy.get(this.selectPriority); - getInputLanguage = () => cy.get(this.inputLanguage); - getInputArea = () => cy.get(this.inputArea); - getAdminAreaAutocomplete = () => cy.get(this.adminAreaAutocomplete); - getOptionUndefined = () => cy.get(this.optionUndefined); - getOptionZero = () => cy.get(this.optionZero); - getOptionOne = () => cy.get(this.optionOne); - getLabelCategoryDescription = () => cy.get(this.labelCategoryDescription); - getLabelIssueTypeDescription = () => cy.get(this.labelIssueTypeDescription); - getSelectFieldName = () => cy.get(this.selectFieldName); - getInputValue = () => cy.get(this.inputValue); - getIndividualFieldName = () => cy.get(this.individualFieldName); - getPartner = () => cy.get(this.partner); - - checkElementsOnPage() { - this.getTitle().contains(this.textTitle); - this.getButtonNext().contains(this.textNext); - this.getSelectCategory().should("be.visible"); - } - - chooseCategory(category) { - this.getSelectCategory().click(); - this.getOption().contains(category).click(); - } - - chooseIssueType(issue) { - this.getIssueType().should("be.visible").click(); - this.getOption().contains(issue).click(); - } - - selectOption(optionName) { - return cy.get(`li[data-cy="select-option-${optionName}"]`); - } - - getInputIndividualData(fieldName) { - return cy.get(`div[data-cy="input-individual-data-${fieldName}"]`); - } -} diff --git a/cypress/cypress/page-objects/pages/login/login.po.js b/cypress/cypress/page-objects/pages/login/login.po.js deleted file mode 100644 index a30571e3a3..0000000000 --- a/cypress/cypress/page-objects/pages/login/login.po.js +++ /dev/null @@ -1,12 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class Login extends BaseComponent { - // Locators - - // Texts - - // Elements - navigateToLoginPage() { - cy.visit("/api/unicorn/"); - } -} diff --git a/cypress/cypress/page-objects/pages/payment_module/details_page.po.js b/cypress/cypress/page-objects/pages/payment_module/details_page.po.js deleted file mode 100644 index f82373748b..0000000000 --- a/cypress/cypress/page-objects/pages/payment_module/details_page.po.js +++ /dev/null @@ -1,7 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class PMDetailsPage extends BaseComponent { - // Locators - // Texts - // Elements -} diff --git a/cypress/cypress/page-objects/pages/payment_module/new_payment_plan.po.js b/cypress/cypress/page-objects/pages/payment_module/new_payment_plan.po.js deleted file mode 100644 index 5a4e22e79a..0000000000 --- a/cypress/cypress/page-objects/pages/payment_module/new_payment_plan.po.js +++ /dev/null @@ -1,7 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class NewPaymentPlan extends BaseComponent { - // Locators - // Texts - // Elements -} diff --git a/cypress/cypress/page-objects/pages/payment_module/payment_module.po.js b/cypress/cypress/page-objects/pages/payment_module/payment_module.po.js deleted file mode 100644 index 43ddf37308..0000000000 --- a/cypress/cypress/page-objects/pages/payment_module/payment_module.po.js +++ /dev/null @@ -1,57 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class PaymentModule extends BaseComponent { - // Locators - titlePage = 'h5[data-cy="page-header-title"]'; - - // Texts - textTitle = "Payment Module"; - - // Elements - getTitle = () => cy.get(this.titlePage); - - createPaymentPlan(targetPopulationName) { - cy.get("span").contains("Payment Module").click(); - cy.get('[data-cy="page-header-container"]').contains("Payment Module"); - cy.get('[data-cy="button-new-payment-plan"]').click({ - force: true, - }); - cy.get('[data-cy="page-header-container"]').contains("New Payment Plan"); - - //fill in the form and save - cy.get('[data-cy="input-target-population"]').first().click(); - cy.wait(200); // eslint-disable-line cypress/no-unnecessary-waiting - - cy.contains(`${targetPopulationName}`); - cy.uniqueSeed().then((seed) => { - cy.get( - `[data-cy="select-option-${targetPopulationName}-${seed}"]` - ).click(); - }); - cy.wait(1000); - cy.get('[data-cy="input-start-date"]') - .should("be.visible") - .click() - .type("2032-12-12"); - cy.get('[data-cy="input-end-date"]') - .should("be.visible") - .click() - .type("2032-12-23"); - cy.get('[data-cy="input-currency"]') - .should("be.visible") - .click() - .type("Afghan") - .type("{downArrow}{enter}"); - cy.get('[data-cy="input-dispersion-start-date"]') - .should("be.visible") - .click() - .type("2033-12-12"); - cy.get('[data-cy="input-dispersion-end-date"]') - .should("be.visible") - .click() - .type("2033-12-23"); - cy.get('[data-cy="button-save-payment-plan"]').click({ - force: true, - }); - } -} diff --git a/cypress/cypress/page-objects/pages/payment_verification/details_page.po.js b/cypress/cypress/page-objects/pages/payment_verification/details_page.po.js deleted file mode 100644 index 35345ac22d..0000000000 --- a/cypress/cypress/page-objects/pages/payment_verification/details_page.po.js +++ /dev/null @@ -1,196 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class PVDetailsPage extends BaseComponent { - // Locators - paymentVerificationTitle = 'h5[data-cy="page-header-title"]'; - createVerificationPlan = 'button[data-cy="button-new-plan"]'; - divPaymentDetails = 'div[data-cy="div-payment-plan-details"]'; - gridPaymentDetails = 'div[data-cy="grid-payment-plan-details"]'; - divBankReconciliation = 'div[data-cy="grid-bank-reconciliation"]'; - divVerificationPlansSummary = - 'div[data-cy="grid-verification-plans-summary"]'; - tableTitle = 'h6[data-cy="table-label"]'; - gridBankReconciliation = 'div[data-cy="grid-bank-reconciliation"]'; - summaryStatus = 'div[data-cy="verification-plans-summary-status"]'; - statusVP = 'div[data-cy="verification-plan-status"]'; - summaryActivationDate = - 'div[data-cy="labelized-field-container-summary-activation-date"]'; - summaryCompletionDate = - 'div[data-cy="labelized-field-container-summary-completion-date"]'; - summaryNumberOfPlans = - 'div[data-cy="labelized-field-container-summary-number-of-plans"]'; - deletePlan = 'button[data-cy="button-delete-plan"]'; - deletePopUP = 'div[data-cy="dialog-actions-container"]'; - activatePlan = 'button[data-cy="button-activate-plan"]'; - discardPlan = 'button[data-cy="button-discard-plan"]'; - finishPlan = 'button[data-cy="button-ed-plan"]'; - editVP = 'button[data-cy="button-new-plan"]'; - // Create Verification Plan - cvp = 'div[data-cy="dialog-title"]'; - cvpTabList = 'div[data-cy="tabs"]'; - cvpTab = 'button[role="tab"]'; - cvpTitle = 'div[data-cy="dialog-title"]'; - cvpSliderConfidenceInterval = 'span[data-cy="slider-confidence-interval"]'; - cvpInputAdminCheckbox = 'span[data-cy="input-adminCheckbox"]'; - cvpSubmit = 'button[data-cy="button-submit"]'; - labelVERIFICATIONCHANNEL = 'div[data-cy="label-VERIFICATION CHANNEL"]'; - - // Texts - textTitle = "Payment Verification"; - textPaymentPlanDetails = "Payment Plan Details"; - textCreateVerificationPlan = "CREATE VERIFICATION PLAN"; - textProgrammeName = "PROGRAMME NAME"; - textProgrammeID = "PROGRAMME ID"; - textPaymentRecords = "PAYMENT RECORDS"; - textStartDate = "START DATE"; - textEndDate = "END DATE"; - textBankReconciliation = "Bank reconciliation"; - textSuccessful = "SUCCESSFUL"; - textErroneus = "ERRONEOUS"; - textVerificationPlansSummary = "Verification Plans Summary"; - textSummaryStatus = "Status"; - textSummaryActivationDate = "Activation Date"; - textSummaryCompletionDate = "Completion Date"; - textSummaryNumberOfPlans = "Number of Verification Plans"; - textCVPTitle = "Create Verification Plan"; - textCVPConfidenceInterval = "Confidence Interval"; - - // Elements - getPaymentVerificationTitle = () => cy.get(this.paymentVerificationTitle); - getCreateVerificationPlan = () => cy.get(this.createVerificationPlan); - getPaymentPlanDetails = () => cy.get(this.divPaymentDetails); - getProgrammeName = () => - this.getPaymentPlanDetails().get(this.gridPaymentDetails); - getProgrammeID = () => - this.getPaymentPlanDetails().get(this.gridPaymentDetails); - getPaymentRecords = () => - this.getPaymentPlanDetails().get(this.gridPaymentDetails); - getStartDate = () => - this.getPaymentPlanDetails().get(this.gridPaymentDetails); - getEndDate = () => this.getPaymentPlanDetails().get(this.gridPaymentDetails); - getBankReconciliationTitle = () => - cy.get(this.divBankReconciliation).get(this.tableTitle); - getSuccessful = () => - cy - .get(this.divBankReconciliation) - .eq(0) - .get(this.gridBankReconciliation) - .get("div") - .eq(0); - getErroneus = () => - cy - .get(this.divBankReconciliation) - .eq(0) - .get(this.gridBankReconciliation) - .get("div") - .eq(1); - getVerificationPlansSummary = () => - cy.get(this.divVerificationPlansSummary).get(this.tableTitle); - getStatus = () => cy.get(this.summaryStatus); - getActivationDate = () => cy.get(this.summaryActivationDate); - getCompletionDate = () => cy.get(this.summaryCompletionDate); - getNumberOfPlans = () => cy.get(this.summaryNumberOfPlans); - getDeletePlan = () => cy.get(this.deletePlan); - getDelete = () => cy.get(this.deletePopUP).get(this.cvpSubmit); - getActivatePlan = () => cy.get(this.activatePlan); - getActivate = () => cy.get(this.cvpSubmit); - getDiscardPlan = () => cy.get(this.discardPlan); - getDiscard = () => cy.get(this.cvpSubmit); - getStatusVP = () => cy.get(this.statusVP); - getFinishPlan = () => cy.get(this.finishPlan); - getFinish = () => cy.get(this.cvpSubmit); - getEditVP = () => cy.get(this.editVP); - getMANUAL = () => cy.get("span").filter("MANUAL").eq(1); - getXLSX = () => cy.get('input[value="XLSX"]').eq(1); - getLabelVERIFICATIONCHANNEL = () => cy.get(this.labelVERIFICATIONCHANNEL); - // Create Verification Plan - getCVPTitle = () => cy.get(this.cvp).get(this.cvpTitle); - getFullList = () => cy.get(this.cvp).get(this.cvpTab).eq(0); - getRandomSampling = () => cy.get(this.cvp).get(this.cvpTab).eq(1); - getCVPConfidenceInterval = () => - cy.get(this.cvp).get(this.cvpSliderConfidenceInterval); - getCVPSave = () => cy.get(this.cvpSubmit); - getCvpInputAdminCheckbox = () => cy.get(this.cvpInputAdminCheckbox); - - checkPaymentVerificationTitle() { - this.getPaymentVerificationTitle().should("be.visible"); - this.getCreateVerificationPlan() - .get("span") - .contains(this.textCreateVerificationPlan); - } - - checkGridPaymentDetails() { - this.getProgrammeName().get("span").contains(this.textProgrammeName); - this.getProgrammeID().get("span").contains(this.textProgrammeName); - this.getPaymentRecords().get("span").contains(this.textProgrammeName); - this.getStartDate().get("span").contains(this.textProgrammeName); - this.getEndDate().get("span").contains(this.textProgrammeName); - } - - checkBankReconciliationTitle() { - this.getBankReconciliationTitle().contains(this.textBankReconciliation); - } - - checkGridBankReconciliation() { - this.getSuccessful().contains(this.textSuccessful); - this.getErroneus().contains(this.textErroneus); - } - - checkVerificationPlansSummaryTitle() { - this.getVerificationPlansSummary().contains( - this.textVerificationPlansSummary - ); - } - - checkGridVerificationPlansSummary() { - this.getStatus().get("span").contains(this.textSummaryStatus); - this.getActivationDate().contains(this.textSummaryActivationDate); - this.getCompletionDate().contains(this.textSummaryCompletionDate); - this.getNumberOfPlans().contains(this.textSummaryNumberOfPlans); - } - - checkCVPTitle() { - this.getCVPTitle().contains(this.textCVPTitle); - } - - checkVerificationPlan() { - this.checkVerificationPlansSummaryTitle(); - } - - deleteVerificationPlan(num = 0) { - this.getDeletePlan().scrollIntoView().should("be.visible"); - this.getDeletePlan().click(); - this.getDelete().should("be.visible"); - this.getDelete().click(); - this.getDelete().should("not.exist"); - this.getActivationDate().find("div").contains("-"); - this.getNumberOfPlans().contains(num); - } - - discardVerificationPlan(num = 0) { - this.getDiscardPlan().eq(num).scrollIntoView().click(); - this.getDiscard().scrollIntoView().click(); - this.getDiscard().should("not.exist"); - this.getDiscardPlan().should("not.exist"); - this.getDeletePlan().scrollIntoView(); - } - - checkPaymentPlanDetailsTitle() { - this.getPaymentPlanDetails() - .find("h6") - .contains(this.textPaymentPlanDetails); - } - createNewVerificationPlan(num = 0) { - this.checkPaymentVerificationTitle(); - this.getNumberOfPlans().then(($el) => { - if ($el.find("div").text() === num.toString()) { - this.getCreateVerificationPlan().click(); - this.checkCVPTitle(); - this.getRandomSampling().click(); - this.getCVPConfidenceInterval().should("be.visible"); - this.getCVPSave().click(); - this.checkVerificationPlan(); - } - }); - } -} diff --git a/cypress/cypress/page-objects/pages/payment_verification/payment_verification.po.js b/cypress/cypress/page-objects/pages/payment_verification/payment_verification.po.js deleted file mode 100644 index 22b5b5ae82..0000000000 --- a/cypress/cypress/page-objects/pages/payment_verification/payment_verification.po.js +++ /dev/null @@ -1,107 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class PaymentVerification extends BaseComponent { - // Locators - paymentVerificationTitle = "h5[data-cy='page-header-title']"; - paymentPlanID = 'div[data-cy="filter-search"]'; - status = 'div[data-cy="filter-status"]'; - FSP = 'div[data-cy="filter-fsp"]'; - modality = 'div[data-cy="filter-Modality"]'; - startDate = 'div[data-cy="filter-start-date"]'; - endDate = 'div[data-cy="filter-end-date"]'; - statusOptions = 'li[role="option"]'; - listOfPaymentPlansTitle = 'h6[data-cy="table-title"]'; - buttonApply = 'button[data-cy="button-filters-apply"]'; - tableTitle = 'table[data-cy="table-title"]'; - tableColumn = 'span[data-cy="table-label"]'; - rows = 'tr[data-cy="cash-plan-table-row"]'; - - // Texts - textTitle = "Payment Verification"; - textTabTitle = "List of Payment Plans"; - textPaymentPlanID = "Payment Plan ID"; - textStatus = "Status"; - textFSP = "FSP"; - textModality = "Delivery Mechanism"; - textStartDate = "Start Date"; - textEndDate = "End Date"; - textProgramme = "Programme"; - textPaymentPlanID = "Payment Plan ID"; - textVerificationStatus = "Verification Status"; - textCashAmount = "Cash Amount"; - textTimeframe = "Timeframe"; - textLastModifiedDate = "Last Modified Date"; - - // Elements - getPaymentVerificationTitle = () => cy.get(this.paymentVerificationTitle); - getListOfPaymentPlansTitle = () => cy.get(this.listOfPaymentPlansTitle); - getPaymentPlanID = () => cy.get(this.paymentPlanID).eq(0); - getStatus = () => cy.get(this.status); - getFSP = () => cy.get(this.FSP); - getModality = () => cy.get(this.modality); - getStartDate = () => cy.get(this.startDate); - getEndDate = () => cy.get(this.endDate); - getTable = () => cy.get(this.tableTitle); - getPaymentPlanID = () => cy.get(this.tableColumn).eq(0); - getVerificationStatus = () => cy.get(this.tableColumn).eq(1); - getCashAmount = () => cy.get(this.tableColumn).eq(2); - getTimeFrame = () => cy.get(this.tableColumn).eq(3); - getLastModifiedDate = () => cy.get(this.tableColumn).eq(4); - getPaymentPlanRows = () => cy.get(this.rows); - getStatusOption = () => cy.get(this.statusOptions); - getApply = () => cy.get(this.buttonApply); - - checkPaymentVerificationTitle() { - return this.getPaymentVerificationTitle().contains(this.textTitle); - } - - checkListOfPaymentPlansTitle() { - return this.getListOfPaymentPlansTitle().contains(this.textTabTitle); - } - - checkAllSearchFieldsVisible() { - this.getPaymentPlanID().should("be.visible"); - this.getPaymentPlanID().get("span").contains(this.textPaymentPlanID); - this.getStatus().should("be.visible"); - this.getStatus().get("span").contains(this.textStatus); - this.getFSP().should("be.visible"); - this.getFSP().get("span").contains(this.textFSP); - this.getModality().should("be.visible"); - this.getModality().get("span").contains(this.textModality); - this.getStartDate().should("be.visible"); - this.getStartDate().get("span").contains(this.textStartDate); - this.getEndDate().should("be.visible"); - this.getEndDate().get("span").contains(this.textEndDate); - } - - checkPaymentPlansTableVisible() { - this.getTable().should("be.visible"); - this.getPaymentPlanID() - .should("be.visible") - .contains(this.textPaymentPlanID); - this.getVerificationStatus() - .should("be.visible") - .contains(this.textVerificationStatus); - this.getCashAmount().should("be.visible").contains(this.textCashAmount); - this.getTimeFrame().should("be.visible").contains(this.textTimeframe); - this.getLastModifiedDate() - .scrollIntoView() - .should("be.visible") - .contains(this.textLastModifiedDate); - } - - countPaymentPlanArray() { - return Array.from(Array(1).keys()); - } - - choosePaymentPlan(row) { - return this.getPaymentPlanRows().eq(row); - } - - selectStatus(status) { - this.getStatus().click(); - this.getStatusOption().contains(status).click(); - this.pressEscapeFromElement(this.getStatusOption().contains(status)); - this.getApply().click(); - } -} diff --git a/cypress/cypress/page-objects/pages/population_module/households_details_page.po.js b/cypress/cypress/page-objects/pages/population_module/households_details_page.po.js deleted file mode 100644 index e2e4dc1ceb..0000000000 --- a/cypress/cypress/page-objects/pages/population_module/households_details_page.po.js +++ /dev/null @@ -1,7 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class HPDetailsPage extends BaseComponent { - // Locators - // Texts - // Elements -} diff --git a/cypress/cypress/page-objects/pages/population_module/individuals_details_page.po.js b/cypress/cypress/page-objects/pages/population_module/individuals_details_page.po.js deleted file mode 100644 index 31c13a063a..0000000000 --- a/cypress/cypress/page-objects/pages/population_module/individuals_details_page.po.js +++ /dev/null @@ -1,7 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class IPDetailsPage extends BaseComponent { - // Locators - // Texts - // Elements -} diff --git a/cypress/cypress/page-objects/pages/population_module/population_households.po.js b/cypress/cypress/page-objects/pages/population_module/population_households.po.js deleted file mode 100644 index 1c54de7174..0000000000 --- a/cypress/cypress/page-objects/pages/population_module/population_households.po.js +++ /dev/null @@ -1,85 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class PopulationHouseholds extends BaseComponent { - // Locators - householdTableRow = 'tr[data-cy="household-table-row"]'; - statusContainer = 'div[data-cy="status-container"]'; - householdId = 'th[data-cy="household-id"]'; - labelStatus = 'th[data-cy="status"]'; - householdHeadName = 'th[data-cy="household-head-name"]'; - householdSize = 'th[data-cy="household-size"]'; - householdLocation = 'th[data-cy="household-location"]'; - householdResidenceStatus = 'th[data-cy="household-residence-status"]'; - householdTotalCashReceived = 'th[data-cy="household-total-cash-received"]'; - householdRegistrationDate = 'th[data-cy="household-registration-date"]'; - tableTitle = 'h6[data-cy="table-title"]'; - buttonFiltersApply = 'button[data-cy="button-filters-apply"]'; - buttonFiltersClear = 'button[data-cy="button-filters-clear"]'; - hhFiltersStatus = 'div[data-cy="hh-filters-status"]'; - hhFiltersOrderBy = 'div[data-cy="hh-filters-order-by"]'; - hhFiltersHouseholdSizeTo = 'div[data-cy="hh-filters-household-size-to"]'; - hhFiltersHouseholdSizeFrom = 'div[data-cy="hh-filters-household-size-from"]'; - hhFiltersResidenceStatus = 'div[data-cy="hh-filters-residence-status"]'; - filterSearchType = 'div[data-cy="filter-search-type"]'; - filterSearchType1 = 'div[data-cy="filter-search-type"]'; - hhFiltersSearch = 'div[data-cy="hh-filters-search"]'; - pageHeaderTitle = 'h5[data-cy="page-header-title"]'; - // ToDo: Add data-cy - filterAdminLevel2 = "brak"; - - // Texts - textTitle = "Households"; - // Elements - getHouseholdTableRow = () => cy.get(this.householdTableRow); - getStatusContainer = () => cy.get(this.statusContainer); - getHouseholdId = () => cy.get(this.householdId); - getLabelStatus = () => cy.get(this.labelStatus); - getHouseholdHeadName = () => cy.get(this.householdHeadName); - getHouseholdSize = () => cy.get(this.householdSize); - getHouseholdLocation = () => cy.get(this.householdLocation); - getHouseholdResidenceStatus = () => cy.get(this.householdResidenceStatus); - getHouseholdTotalCashReceived = () => cy.get(this.householdTotalCashReceived); - getHouseholdRegistrationDate = () => cy.get(this.householdRegistrationDate); - getTableTitle = () => cy.get(this.tableTitle); - getButtonFiltersApply = () => cy.get(this.buttonFiltersApply); - getButtonFiltersClear = () => cy.get(this.buttonFiltersClear); - getHhFiltersStatus = () => cy.get(this.hhFiltersStatus); - getHhFiltersOrderBy = () => cy.get(this.hhFiltersOrderBy); - getHhFiltersHouseholdSizeTo = () => cy.get(this.hhFiltersHouseholdSizeTo); - getHhFiltersHouseholdSizeFrom = () => cy.get(this.hhFiltersHouseholdSizeFrom); - getHhFiltersResidenceStatus = () => cy.get(this.hhFiltersResidenceStatus); - getFilterSearchType = () => cy.get(this.filterSearchType); - getFilterSearchType1 = () => cy.get(this.filterSearchType1); - getHhFiltersSearch = () => cy.get(this.hhFiltersSearch); - getPageHeaderTitle = () => cy.get(this.pageHeaderTitle); - - checkElementsOnPage() { - this.getHouseholdTableRow().should("be.visible"); - this.getStatusContainer().should("be.visible"); - this.getHouseholdId().should("be.visible"); - this.getLabelStatus().should("be.visible"); - this.getHouseholdHeadName().should("be.visible"); - this.getHouseholdSize().should("be.visible"); - this.getHouseholdLocation().should("be.visible"); - this.getHouseholdResidenceStatus().should("be.visible"); - this.getHouseholdTotalCashReceived().should("be.visible"); - this.getHouseholdRegistrationDate().should("be.visible"); - this.getTableTitle().should("be.visible"); - this.getButtonFiltersApply().should("be.visible"); - this.getButtonFiltersClear().should("be.visible"); - this.getHhFiltersStatus().should("be.visible"); - this.getHhFiltersOrderBy().should("be.visible"); - this.getHhFiltersHouseholdSizeTo().should("be.visible"); - this.getHhFiltersHouseholdSizeFrom().should("be.visible"); - this.getHhFiltersResidenceStatus().should("be.visible"); - this.getFilterSearchType().should("be.visible"); - this.getFilterSearchType1().should("be.visible"); - this.getHhFiltersSearch().should("be.visible"); - this.getPageHeaderTitle().should("be.visible"); - } - clickNavHouseholds() { - this.getMenuButtonProgrammePopulation().click(); - this.getMenuButtonHouseholds().should("be.visible"); - this.getMenuButtonHouseholds().click(); - } -} diff --git a/cypress/cypress/page-objects/pages/population_module/population_individuals.po.js b/cypress/cypress/page-objects/pages/population_module/population_individuals.po.js deleted file mode 100644 index f0c3554d24..0000000000 --- a/cypress/cypress/page-objects/pages/population_module/population_individuals.po.js +++ /dev/null @@ -1,13 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class PopulationIndividuals extends BaseComponent { - // Locators - // Texts - // Elements - - clickNavIndividuals() { - this.getMenuButtonProgrammePopulation().click(); - this.getMenuButtonIndividuals().should("be.visible"); - this.getMenuButtonIndividuals().click(); - } -} diff --git a/cypress/cypress/page-objects/pages/program_details/program_details.po.js b/cypress/cypress/page-objects/pages/program_details/program_details.po.js deleted file mode 100644 index fba64a66a2..0000000000 --- a/cypress/cypress/page-objects/pages/program_details/program_details.po.js +++ /dev/null @@ -1,69 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class ProgramDetails extends BaseComponent { - // Locators - buttonActivateProgram = 'button[data-cy="button-activate-program"]'; - buttonRemoveProgram = 'button[data-cy="button-remove-program"]'; - buttonEditProgram = '[data-cy="button-edit-program"]'; - buttonCopyProgram = '[data-cy="button-copy-program"]'; - buttonFinishProgram = 'button[data-cy="button-finish-program"]'; - dialogPopupActivate = 'div[data-cy="dialog-actions-container"]'; - buttonDataCyButtonReactivateProgram = - 'button[data-cy="button-reactivate-program"]'; - buttonDataCyButtonReactivateProgramPopup = - 'button[data-cy="button-reactivate-program-popup"]'; - labelTotalNumberOfHouseholds = - 'div[data-cy="label-Total Number of Households"]'; - labelCASH = 'div[data-cy="label-CASH+"]'; - labelDescription = 'div[data-cy="label-Description"]'; - labelAdministrativeAreasOfImplementation = - 'div[data-cy="label-Administrative Areas of implementation"]'; - labelFrequencyOfPayment = 'div[data-cy="label-Frequency of Payment"]'; - labelScope = 'div[data-cy="label-Scope"]'; - labelSector = 'div[data-cy="label-Sector"]'; - labelENDDATE = 'div[data-cy="label-END DATE"]'; - labelSTARTDATE = 'div[data-cy="label-START DATE"]'; - statusContainer = 'div[data-cy="status-container"]'; - labelStatus = 'div[data-cy="label-status"]'; - pageHeaderTitle = 'h5[data-cy="page-header-title"]'; - - tablePagination = 'div[data-cy="table-pagination"]'; - cashPlanTableRow = 'tr[data-cy="cash-plan-table-row"]'; - tableLabel = 'span[data-cy="table-label"]'; - tableTitle = 'h6[data-cy="table-title"]'; - buttonActivateProgramModal = - 'button[data-cy="button-activate-program-modal"]'; - - // Texts - - // Elements - getButtonActivateProgram = () => cy.get(this.buttonActivateProgram); - getButtonRemoveProgram = () => cy.get(this.buttonRemoveProgram); - getButtonEditProgram = () => cy.get(this.buttonEditProgram); - getButtonCopyProgram = () => cy.get(this.buttonCopyProgram); - getButtonFinishProgram = () => cy.get(this.buttonFinishProgram); - getDialogPopupActivate = () => cy.get(this.dialogPopupActivate); - getLabelTotalNumberOfHouseholds = () => - cy.get(this.labelTotalNumberOfHouseholds); - getLabelCASH = () => cy.get(this.labelCASH); - getLabelDescription = () => cy.get(this.labelDescription); - getLabelAdministrativeAreasOfImplementation = () => - cy.get(this.labelAdministrativeAreasOfImplementation); - getLabelFrequencyOfPayment = () => cy.get(this.labelFrequencyOfPayment); - getLabelScope = () => cy.get(this.labelScope); - getLabelSector = () => cy.get(this.labelSector); - getLabelENDDATE = () => cy.get(this.labelENDDATE); - getLabelSTARTDATE = () => cy.get(this.labelSTARTDATE); - getStatusContainer = () => cy.get(this.statusContainer); - getLabelStatus = () => cy.get(this.labelStatus); - getPageHeaderTitle = () => cy.get(this.pageHeaderTitle); - getTablePagination = () => cy.get(this.tablePagination); - getCashPlanTableRow = () => cy.get(this.cashPlanTableRow); - getTableLabel = () => cy.get(this.tableLabel); - getTableTitle = () => cy.get(this.tableTitle); - getButtonActivateProgramModal = () => cy.get(this.buttonActivateProgramModal); - getButtonDataCyButtonReactivateProgram = () => - cy.get(this.buttonDataCyButtonReactivateProgram); - getButtonDataCyButtonReactivateProgramPopup = () => - cy.get(this.buttonDataCyButtonReactivateProgramPopup); -} diff --git a/cypress/cypress/page-objects/pages/program_management/details_page.po.js b/cypress/cypress/page-objects/pages/program_management/details_page.po.js deleted file mode 100644 index f82373748b..0000000000 --- a/cypress/cypress/page-objects/pages/program_management/details_page.po.js +++ /dev/null @@ -1,7 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class PMDetailsPage extends BaseComponent { - // Locators - // Texts - // Elements -} diff --git a/cypress/cypress/page-objects/pages/program_management/program_management.po.js b/cypress/cypress/page-objects/pages/program_management/program_management.po.js deleted file mode 100644 index bb938470e0..0000000000 --- a/cypress/cypress/page-objects/pages/program_management/program_management.po.js +++ /dev/null @@ -1,64 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class ProgramManagement extends BaseComponent { - // Locators - buttonNewProgram = '[data-cy="button-new-program"]'; - pageHeaderTitle = 'h5[data-cy="page-header-title"]'; - dialogTitle = '[data-cy="page-header-title"]'; - inputProgrammeName = 'div[data-cy="input-programme-name"]'; - inputCashAssistScope = 'div[data-cy="input-cash-assist-scope"]'; - selectOptionUnicef = 'li[data-cy="select-option-Unicef"]'; - selectOptionForPartners = 'li[data-cy="select-option-For partners"]'; - inputSector = 'div[data-cy="input-sector"]'; - selectOptionX = 'li[data-cy="select-option-'; - inputStartDate = 'div[data-cy="input-start-date"]'; - inputEndDate = 'div[data-cy="input-end-date"]'; - inputDescription = 'div[data-cy="input-description"]'; - inputBudget = 'input[data-cy="input-budget"]'; - inputAdminArea = 'div[data-cy="input-admin-area"]'; - inputPopulationGoal = 'div[data-cy="input-population-goal"]'; - inputDataCollectingType = 'div[data-cy="input-data-collecting-type"]'; - buttonSave = 'button[data-cy="button-save"]'; - buttonNext = 'button[data-cy="button-next"]' - statusFilter = 'div[data-cy="filters-status"]'; - option = ' li[role = "option"]'; - buttonApply = 'button[data-cy="button-filters-apply"]'; - statusContainer = 'div[data-cy="status-container"]'; - tableRowX = 'tr[data-cy="table-row-'; - inputFrequencyOfPayment = 'div[data-cy="input-frequency-of-payment"]'; - inputCashPlus = 'span[data-cy="input-cashPlus"]'; - selectDataCollectingTypeCode = - 'input[data-cy="select-dataCollectingTypeCode"]'; - // Texts - - // Elements - getButtonNewProgram = () => cy.get(this.buttonNewProgram); - getPageHeaderTitle = () => cy.get(this.pageHeaderTitle); - getDialogTitle = () => cy.get(this.dialogTitle); - - getInputProgrammeName = () => cy.get(this.inputProgrammeName); - getSelectOptionUnicef = () => cy.get(this.selectOptionUnicef); - getSelectOptionForPartners = () => cy.get(this.selectOptionForPartners); - getInputSector = () => cy.get(this.inputSector).first(); - getSelectOptionByName = (name) => cy.get(this.selectOptionX + name + '"]'); - getInputStartDate = () => cy.get(this.inputStartDate); - getInputEndDate = () => cy.get(this.inputEndDate); - getInputDescription = () => cy.get(this.inputDescription); - getInputBudget = () => cy.get(this.inputBudget); - - getInputAdminArea = () => cy.get(this.inputAdminArea); - getInputPopulationGoal = () => cy.get(this.inputPopulationGoal); - getButtonSave = () => cy.get(this.buttonSave); - getButtonNext = () => cy.get(this.buttonNext) - getStatusFilter = () => cy.get(this.statusFilter); - getOption = () => cy.get(this.option); - getButtonApply = () => cy.get(this.buttonApply); - getStatusContainer = () => cy.get(this.statusContainer); - getInputFrequencyOfPayment = () => cy.get(this.inputFrequencyOfPayment); - getInputCashPlus = () => cy.get(this.inputCashPlus).find("input"); - getTableRowByName = (name) => cy.get(this.tableRowX + name + '"]'); - getInputDataCollectingType = () => - cy.get(this.inputDataCollectingType).first(); - getSelectDataCollectingTypeCode = () => - cy.get(this.selectDataCollectingTypeCode); -} diff --git a/cypress/cypress/page-objects/pages/registration_data_import/details_page.po.js b/cypress/cypress/page-objects/pages/registration_data_import/details_page.po.js deleted file mode 100644 index 20ad208e02..0000000000 --- a/cypress/cypress/page-objects/pages/registration_data_import/details_page.po.js +++ /dev/null @@ -1,7 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class RDIDetailsPage extends BaseComponent { - // Locators - // Texts - // Elements -} diff --git a/cypress/cypress/page-objects/pages/registration_data_import/registration_data_import.po.js b/cypress/cypress/page-objects/pages/registration_data_import/registration_data_import.po.js deleted file mode 100644 index 6bcaf1254d..0000000000 --- a/cypress/cypress/page-objects/pages/registration_data_import/registration_data_import.po.js +++ /dev/null @@ -1,101 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class RegistrationDataImport extends BaseComponent { - // Locators - buttonImport = 'button[data-cy="button-import"]'; - - // Texts - - // Elements - getButtonImport = () => cy.get(this.buttonImport); - - verifyMergedData() { - let householdId; - let individualId; - cy.log("Looking for householdId"); - cy.get('[data-cy="imported-households-row"]') - .find("td:nth-child(2)") - .then(($td) => { - householdId = $td.text().split(" (")[0]; - cy.log(`Saved householdId: ${householdId}`); - }) - .then(() => { - cy.get("button > span").contains("Individuals").click({ force: true }); - - cy.get('[data-cy="imported-individuals-table"]') - .find(`tbody > tr:nth-child(1) > td:nth-child(1)`) - .then(($td) => { - individualId = $td.text().split(" (")[0]; - cy.log(`Saved individualId: ${individualId}`); - }) - .then(() => { - cy.get("span").contains("Population").click(); - cy.get("span").contains("Households").click(); - - cy.log(`looking for householdId: ${householdId}`); - cy.get('[data-cy="hh-filters-search"]') - .find("input") - .type(householdId, { force: true }); - cy.get("td").should("contain", householdId); - - cy.get("span").contains("Individuals").click({ force: true }); - - cy.log(`looking for individualId: + ${individualId}`); - cy.get('[data-cy="ind-filters-search"]').type(individualId); - cy.get("td").should("contain", individualId); - - cy.get("td").contains(householdId).click({ force: true }); - - cy.get('[data-cy="label-Household ID"]').contains(householdId); - }); - }); - } - - uploadRDIFile() { - cy.createExcel(); - cy.get("h5").contains("Registration Data Import"); - cy.get("button > span").contains("IMPORT").click({ force: true }); - cy.get("h2").contains("Select File to Import").click(); - cy.get('[data-cy="import-type-select"]').click(); - cy.get('[data-cy="excel-menu-item"]').click(); - cy.get('[data-cy="input-name"]').type( - "Test import ".concat(new Date().toISOString()) - ); - cy.uniqueSeed().then((seed) => { - const fileName = `rdi_import_1_hh_1_ind_seed_${seed}.xlsx`; - cy.fixture(fileName, "base64").then((fileContent) => { - cy.get('[data-cy="file-input"]').attachFile({ - fileContent, - fileName, - mimeType: - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - encoding: "base64", - }); - }); - }); - } - - mergeRDIFile() { - cy.get('[data-cy="number-of-households"]', { - timeout: 10000, - }).contains("1 Household available to import"); - cy.get('[data-cy="number-of-individuals"]').contains( - "1 Individual available to import" - ); - cy.get("div").contains("Errors").should("not.exist"); - cy.get('[data-cy="button-import-rdi"]', { timeout: 20000 }).click(); - cy.get("h5").contains("Test import"); - - cy.checkStatus("IN REVIEW", 10); - - cy.get("div").contains("IMPORT ERROR").should("not.exist"); - cy.get("div").contains("IN REVIEW"); - - cy.get("span").contains("Merge").click({ force: true }); // top of page - cy.get("span").contains("MERGE").click({ force: true }); // inside modal - - cy.get('[data-cy="status-container"]').contains("MERGED", { - timeout: 20000, - }); - } -} diff --git a/cypress/cypress/page-objects/pages/targeting/create_new.po.js b/cypress/cypress/page-objects/pages/targeting/create_new.po.js deleted file mode 100644 index ab99547864..0000000000 --- a/cypress/cypress/page-objects/pages/targeting/create_new.po.js +++ /dev/null @@ -1,13 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class CreateNew extends BaseComponent { - // Locators - targetingCriteria = 'h6[data-cy="title-targeting-criteria"]'; - // Texts - textTargetingCriteria = "Targeting Criteria"; - // Elements - getTargetingCriteria = () => cy.get(this.targetingCriteria); - checkElementsOnPage() { - this.getTargetingCriteria().contains(this.textTargetingCriteria); - } -} diff --git a/cypress/cypress/page-objects/pages/targeting/details_page.po.js b/cypress/cypress/page-objects/pages/targeting/details_page.po.js deleted file mode 100644 index 1eb0e8b687..0000000000 --- a/cypress/cypress/page-objects/pages/targeting/details_page.po.js +++ /dev/null @@ -1,16 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class TDetailsPage extends BaseComponent { - // Locators - titlePage = 'h5[data-cy="page-header-title"]'; - status = 'div[data-cy="target-population-status"]'; - // Texts - // Elements - getTitlePage = () => cy.get(this.titlePage); - getStatus = () => cy.get(this.status); - - checkElementsOnPage(status) { - this.getTitlePage().scrollIntoView().should("be.visible"); - this.getStatus().contains(status); - } -} diff --git a/cypress/cypress/page-objects/pages/targeting/targeting.po.js b/cypress/cypress/page-objects/pages/targeting/targeting.po.js deleted file mode 100644 index ccbeafe81d..0000000000 --- a/cypress/cypress/page-objects/pages/targeting/targeting.po.js +++ /dev/null @@ -1,92 +0,0 @@ -import BaseComponent from "../../base.component"; - -export default class Targeting extends BaseComponent { - // Locators - titlePage = 'h5[data-cy="page-header-title"]'; - searchFilter = 'div[data-cy="filters-search"]'; - statusFilter = 'div[data-cy="filters-status"]'; - programFilter = 'div[data-cy="filters-program"]'; - minNumberOfHouseholds = 'div[data-cy="filters-total-households-count-min"]'; - maxNumberOfHouseholds = 'div[data-cy="filters-total-households-count-max"]'; - buttonCreateNew = 'a[data-cy="button-target-population-create-new"]'; - tabTitle = 'h6[data-cy="table-title"]'; - tabColumnLabel = 'span[data-cy="table-label"]'; - statusOptions = 'li[role="option"]'; - rows = 'tr[role="checkbox"]'; - - // Texts - - textTitlePage = "Targeting"; - textCreateNew = "Create new"; - textTabTitle = "Target Populations"; - textTabName = "Name"; - textTabStatus = "Status"; - textTabProgramme = "Programme"; - textTabNOHouseholds = "Num. of Households"; - textTabDateCreated = "Date Created"; - textTabLastEdited = "Last Edited"; - textTabCreatedBy = "Created by"; - buttonApply = 'button[data-cy="button-filters-apply"]'; - buttonClear = 'button[data-cy="button-filters-clear"]'; - - // Elements - - getTitlePage = () => cy.get(this.titlePage); - getSearchFilter = () => cy.get(this.searchFilter); - getStatusFilter = () => cy.get(this.statusFilter); - getProgramFilter = () => cy.get(this.programFilter); - getMinNumberOfHouseholdsFilter = () => cy.get(this.minNumberOfHouseholds); - getMaxNumberOfHouseholdsFilter = () => cy.get(this.maxNumberOfHouseholds); - getButtonCreateNew = () => cy.get(this.buttonCreateNew); - getTabTitle = () => cy.get(this.tabTitle); - getTabColumnName = () => cy.get(this.tabColumnLabel).eq(0); - getTabColumnStatus = () => cy.get(this.tabColumnLabel).eq(1); - getTabColumnNOHouseholds = () => cy.get(this.tabColumnLabel).eq(2); - getTabColumnDateCreated = () => cy.get(this.tabColumnLabel).eq(3); - getTabColumnLastEdited = () => cy.get(this.tabColumnLabel).eq(4); - getTabColumnCreatedBy = () => cy.get(this.tabColumnLabel).eq(5); - getStatusOption = () => cy.get(this.statusOptions); - getApply = () => cy.get(this.buttonApply); - getClear = () => cy.get(this.buttonClear); - - getTargetPopulationsRows = () => cy.get(this.rows); - - checkElementsOnPage() { - this.getTitlePage().should("be.visible").contains(this.textTitlePage); - // this.getButtonFiltersExpand().click(); - this.getSearchFilter().should("be.visible"); - this.getStatusFilter().should("be.visible"); - this.getMinNumberOfHouseholdsFilter().should("be.visible"); - this.getMaxNumberOfHouseholdsFilter().should("be.visible"); - this.getButtonCreateNew().should("be.visible").contains(this.textCreateNew); - this.getTabTitle().should("be.visible").contains(this.textTabTitle); - this.getTabColumnName().should("be.visible").contains(this.textTabName); - this.getTabColumnStatus().should("be.visible").contains(this.textTabStatus); - this.getTabColumnNOHouseholds() - .should("be.visible") - .contains(this.textTabNOHouseholds); - this.getTabColumnDateCreated() - .scrollIntoView() - .should("be.visible") - .contains(this.textTabDateCreated); - this.getTabColumnLastEdited() - .scrollIntoView() - .should("be.visible") - .contains(this.textTabLastEdited); - this.getTabColumnCreatedBy() - .scrollIntoView() - .should("be.visible") - .contains(this.textTabCreatedBy); - } - - selectStatus(status) { - this.getStatusFilter().click(); - this.getStatusOption().contains(status).click(); - this.pressEscapeFromElement(this.getStatusOption().contains(status)); - this.getApply().click(); - } - - chooseTargetPopulationRow(row) { - return this.getTargetPopulationsRows().eq(row); - } -} diff --git a/cypress/cypress/scripts/fillXlsxEntitlements.js b/cypress/cypress/scripts/fillXlsxEntitlements.js deleted file mode 100644 index 19f364de17..0000000000 --- a/cypress/cypress/scripts/fillXlsxEntitlements.js +++ /dev/null @@ -1,26 +0,0 @@ -const xlsx = require('node-xlsx').default; -const fileSys = require('fs'); - -const filePath = process.argv[2]; -console.log(process.argv); -const jsonData = xlsx.parse(fileSys.readFileSync(filePath))[0]; -const rows = jsonData.data; - -for (let i = 1; i < rows.length; i++) { - if (rows[i].length !== 0) { - // column index 8 is entitlement_quantity (non-usd) - rows[i][8] = 100; - } -} - -xlsx.build([{ name: jsonData.name, data: rows }]); -const buffer = xlsx.build([{ name: jsonData.name, data: rows }]); - -const index = filePath.lastIndexOf('/'); -const leftWithDownloads = filePath.slice(0, index - 1); -const left = leftWithDownloads.slice(0, leftWithDownloads.lastIndexOf('/')); -const right = filePath.slice(index + 1); - -const outputFileName = `${left}/fixtures/out_${right}`; - -fileSys.writeFileSync(outputFileName, buffer); diff --git a/cypress/cypress/scripts/fillXlsxReconciliation.js b/cypress/cypress/scripts/fillXlsxReconciliation.js deleted file mode 100644 index 7067952cbb..0000000000 --- a/cypress/cypress/scripts/fillXlsxReconciliation.js +++ /dev/null @@ -1,29 +0,0 @@ -const xlsx = require('node-xlsx').default; -const fileSys = require('fs'); - -const filePath = process.argv[2]; -const jsonData = xlsx.parse(fileSys.readFileSync(filePath))[0]; -const rows = jsonData.data; - -console.log(rows) - -entitlement_quantity_index = rows[0].indexOf("entitlement_quantity"); -delivered_quantity_index = rows[0].indexOf("delivered_quantity"); - -for (let i = 1; i < rows.length; i++) { - if (rows[i].length !== 0) { - rows[i][delivered_quantity_index] = rows[i][entitlement_quantity_index]; - } -} - -xlsx.build([{ name: jsonData.name, data: rows }]); -const buffer = xlsx.build([{ name: jsonData.name, data: rows }]); - -const index = filePath.lastIndexOf('/'); -const leftWithDownloads = filePath.slice(0, index - 1); -const left = leftWithDownloads.slice(0, leftWithDownloads.lastIndexOf('/')); -const right = filePath.slice(index + 1); - -const outputFileName = `${left}/fixtures/out_${right}`; - -fileSys.writeFileSync(outputFileName, buffer); diff --git a/cypress/cypress/scripts/generateXlsxFiles.js b/cypress/cypress/scripts/generateXlsxFiles.js deleted file mode 100755 index b96c647f31..0000000000 --- a/cypress/cypress/scripts/generateXlsxFiles.js +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node -const { execSync } = require("child_process"); - -const exec = (command) => { - execSync(command, { - stdio: "inherit", - }); -}; - -const args = process.argv.slice(2); - -const serverAddress = args[0]; -const size = args[1]; -const seed = args[2]; - -const command = `curl -X POST ${serverAddress}/api/cypress/ --data "command=generate-xlsx-files&size=${size}&seed=${seed}"`; -exec(command); - -const copyCommand = `cd cypress/fixtures && curl -OJ ${serverAddress}/api/cypress/xlsx/${seed}/`; -exec(copyCommand); diff --git a/cypress/cypress/scripts/initScenario.js b/cypress/cypress/scripts/initScenario.js deleted file mode 100755 index 32ac352997..0000000000 --- a/cypress/cypress/scripts/initScenario.js +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env node -const { execSync } = require("child_process"); - -const exec = (command) => { - execSync(command, { - stdio: "inherit", - }); -}; - -const args = process.argv.slice(2); - -const serverAddress = args[0]; -const scenario = args[1]; -const seed = args[2]; - -const command = `curl -X POST ${serverAddress}/api/cypress/ --data "command=init-e2e-scenario&scenario=${scenario}&seed=${seed}"`; -exec(command); diff --git a/cypress/cypress/scripts/slackReport.js b/cypress/cypress/scripts/slackReport.js deleted file mode 100644 index 040aff16f2..0000000000 --- a/cypress/cypress/scripts/slackReport.js +++ /dev/null @@ -1,156 +0,0 @@ -#!/usr/bin/env node -const { execSync } = require("child_process"); - -function exec(command, timeout = 0) { - return execSync(command, (timeout = timeout)).toString(); -} - -const request = require("request"); -const fs = require("fs"); -const axios = require("axios"); -const FormData = require("form-data"); - -function sendMessage( - data, - url = URL.secret -) { - request( - { - url: url, - method: "POST", - json: data, - headers: { - "Content-Type": "application/json; charset=utf-8", - }, - }, - function (error, response, body) { - if (error || response.statusCode !== 200) { - console.error("Error sending slack response:", error); - } else if (!response.body.ok) { - console.error("Slack responded with error:", response.body); - } else { - // All good! - } - } - ); -} - -async function sendFile(file_name) { - const form = new FormData(); - form.append("file", fs.readFileSync(file_name), file_name); - await axios.post( - "https://hooks.slack.com/services/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", - form, - { - headers: { - "Content-Type": "multipart/form-data", - }, - } - ); -} - -fs.readFile( - "./cypress/reports/mochareports/report.json", - "utf8", - (err, jsonString) => { - if (err) { - console.log("File read failed:", err); - return; - } - try { - const report = JSON.parse(jsonString); - let branchName = exec(`echo $BRANCH_NAME`).replace(/\s/g, ""); - let buildID = exec(`echo $BUILD_ID`).replace(/\s/g, ""); - let firstMessage = `Branch: `; - let pipelineLink = `Pipeline: `; - if (report.stats.failures == "0") { - sendMessage({ - text: `:tada: ${firstMessage}\n${pipelineLink}\n*PASSED*`, - // channel: CHANNEL, - }); - } else { - const text = `Passed: ${report.stats.passes} \tFailed: ${report.stats.failures} \tToDo: ${report.stats.pending} \tSkipped: ${report.stats.skipped}\n `; - console.log(`Branch name: ${branchName} Build ID: ${buildID}`); - - sendMessage({ - text: `:interrobang: ${firstMessage}\n${pipelineLink}\n* \t\t\t\t\t\:interrobang:FAILED:interrobang:* \n${text}`, - // channel: CHANNEL, - }); - - let coverage = - ((report.stats.tests - report.stats.pending) / report.stats.tests) * - 100; - const QuickChart = require("quickchart-js"); - const chart = new QuickChart(); - chart.setWidth(500); - chart.setHeight(200); - chart.setVersion("2.9.4"); - chart.setConfig({ - type: "doughnut", - data: { - datasets: [ - { - data: [ - report.stats.passes, - report.stats.failures, - report.stats.pending, - report.stats.skipped, - ], - backgroundColor: [ - "rgb(75, 192, 192)", - "rgb(255, 99, 132)", - "rgb(54, 162, 235)", - "rgb(235,129,54)", - ], - }, - ], - labels: ["Pass", "Failed", "ToDo", "Skipped"], - }, - options: { - plugins: { - datalabels: { - color: "#000", - formatter: (value) => { - if (value < 1) return ""; - return value; - }, - }, - doughnutlabel: { - labels: [ - { - text: coverage.toFixed(0).toString() + "%", - color: "#000", - font: { size: 30 }, - }, - { text: "Coverage", color: "#000" }, - ], - }, - }, - }, - }); - const chartUrl = chart.getUrl(); - console.log("\n\n" + chartUrl + "\n\n"); - - sendMessage({ - text: "Chart data update", - // channel: CHANNEL, - blocks: [ - { - type: "image", - title: { - type: "plain_text", - text: "Latest data", - }, - block_id: "quickchart-image", - image_url: chartUrl, - alt_text: "Chart showing latest data", - }, - ], - }); - // sendFile("report.zip"); - } - } catch (err) { - console.log("Error parsing JSON string:", err); - } - } -); diff --git a/cypress/cypress/support/commands.js b/cypress/cypress/support/commands.js deleted file mode 100644 index 98a87aaf83..0000000000 --- a/cypress/cypress/support/commands.js +++ /dev/null @@ -1,26 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) -import "cypress-file-upload"; diff --git a/cypress/cypress/support/e2e.js b/cypress/cypress/support/e2e.js deleted file mode 100644 index 9b268ca1f7..0000000000 --- a/cypress/cypress/support/e2e.js +++ /dev/null @@ -1,190 +0,0 @@ -// *********************************************************** -// This example support/e2e.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import "cypress-file-upload"; -import "./commands"; -import addContext from "mochawesome/addContext"; - -require("cy-verify-downloads").addCustomCommand(); -const uniqueSeed = Date.now(); -Cypress.Commands.add("uniqueSeed", () => uniqueSeed); -Cypress.Commands.add("createExcel", () => { - cy.uniqueSeed().then((seed) => { - cy.exec( - `yarn run generate-xlsx-files ${Cypress.config().baseUrl} 1 ${seed}`, - { failOnNonZeroExit: false } - ); - }); -}); -Cypress.Commands.add("adminLogin", () => { - Cypress.session.clearCurrentSessionData(); - Cypress.session.clearAllSavedSessions(); - cy.visit("/"); - const expected_url = - Cypress.config().baseUrl + "/api/unicorn/login/?next=/api/unicorn/"; - function checkApiUrl(n) { - cy.url().then((url) => { - if (expected_url !== url) { - cy.reload(); - cy.wait(1000); - cy.visit("/api/unicorn/"); - cy.get('div[id="header"]') - .invoke("css", "background-color") - .then((bgcolor) => { - //rgb(255, 102, 0) - cy.log(bgcolor.toString()); - }); - if (n > 0) { - return checkApiUrl(n - 1); - } else { - return false; - } - } else { - return true; - } - }); - } - function resolveAThing(n) { - cy.visit("/api/unicorn/"); - checkApiUrl(5); - cy.get('input[name="username"]').type(Cypress.env("username")); - cy.get('input[name="password"]').type(Cypress.env("password")); - cy.get("input").contains("Log in").click(); - cy.get("a").contains("HOPE Administration"); - cy.navigateToHomePage(); - cy.get("div") - .find("div") - .find("div") - .eq(1) - .then(($text) => { - if ($text.text() === "Sign in" && n > 0) { - cy.log("retry: " + (10 - n + 1)); - return resolveAThing(n - 1); - } - }); - } - return resolveAThing(10); -}); - -Cypress.Commands.add("checkIfLoggedIn", () => { - cy.visit("/"); - function retryCheck(n) { - cy.url().should("contain", Cypress.config().baseUrl); - cy.url().then((url) => { - cy.log(url); - if (url.includes("login")) { - cy.adminLogin(); - } else if (url.includes("programs")) { - return; - } - if (n === 0) cy.url().should("include", "/programs/all/list"); - cy.wait(1000); - return retryCheck(n - 1); - }); - } - return retryCheck(10); -}); - -Cypress.Commands.add("checkStatus", (status = "IN REVIEW", repeat = 10) => { - function retryCheck(n) { - cy.wait(100); - cy.get('[data-cy="status-container"]').then((value) => { - cy.log(value.text()); - if (value.text().includes(status)) { - return; - } - if (n === 0) cy.get('[data-cy="status-container"]').contains(status); - cy.wait(500); - return retryCheck(n - 1); - }); - } - return retryCheck(repeat); -}); - -Cypress.Commands.add("navigateToHomePage", () => { - cy.visit("/"); - cy.url().should("include", "/programs/all/list"); - cy.get('div[data-cy="global-program-filter"]', { timeout: 10000 }) - .contains("All Programmes", { timeout: 10000 }) - .click(); - cy.get('li[role="option"]').contains("Test Program").click(); -}); - -Cypress.Commands.add("initScenario", (scenario) => { - cy.uniqueSeed().then((seed) => { - cy.exec( - `yarn init-scenario ${Cypress.config().baseUrl} ${scenario} ${seed}` - ); - cy.wait(1000); - }); -}); - -Cypress.Commands.add( - "containsIfExist", - { prevSubject: "element" }, - (subject, data) => { - if (data) { - return cy.get(subject).contains(data); - } - return cy.get(subject); - } -); - -Cypress.Commands.add("scenario", (steps) => { - let outputText = ""; - steps.forEach((step, index) => { - outputText += index + 1 + ". " + step + "\n"; - }); - Cypress.once("test:after:run", (test) => { - addContext( - { test }, - { - title: "Scenario", - value: outputText, - } - ); - }); -}); - -Cypress.on("fail", (error, runnable) => { - Cypress.once("test:after:run", (test) => { - addContext( - { test }, - { - title: "Error", - value: error.stack, - } - ); - }); - Cypress.once("test:after:run", (test) => { - let pathName = runnable.titlePath(); - let lastElementInPathName = pathName.pop(); - if (lastElementInPathName.includes("after each")) { - lastElementInPathName = test.title + " -- after each hook"; - } - if (lastElementInPathName.includes("before each")) { - lastElementInPathName = test.title + " -- before each hook"; - } - const screenshot = `/cypress/cypress/cypress/reports/mochareports/assets/${Cypress.spec.relative - .split("/") - .at(-2)}/${Cypress.spec.name}/${pathName.join( - " -- " - )} -- ${lastElementInPathName} (failed).png`; - - addContext({ test }, screenshot); - }); - throw error; -}); diff --git a/cypress/cypress/support/index.js b/cypress/cypress/support/index.js deleted file mode 100644 index f887c29aea..0000000000 --- a/cypress/cypress/support/index.js +++ /dev/null @@ -1 +0,0 @@ -import "./commands"; diff --git a/cypress/docker-compose.ci.yml b/cypress/docker-compose.ci.yml deleted file mode 100644 index 3a1345c78e..0000000000 --- a/cypress/docker-compose.ci.yml +++ /dev/null @@ -1,137 +0,0 @@ -version: '3.7' -x-django-envs: &django_envs - environment: - - ENV=dev - - SECRET_KEY=31283012-38dasda - - POSTGRES_DB=postgres - - POSTGRES_USER=postgres - - POSTGRES_PASSWORD=postgres - - DATABASE_URL=postgis://postgres:postgres@db:5432/postgres - - DATABASE_URL_HUB_MIS=postgis://postgres:postgres@mis_datahub_db:5432/postgres - - DATABASE_URL_HUB_CA=postgis://postgres:postgres@cash_assist_datahub_db:5432/postgres - - DATABASE_URL_HUB_ERP=postgis://postgres:postgres@erp_datahub_db:5432/postgres - - DATABASE_URL_HUB_REGISTRATION=postgis://postgres:postgres@registration_datahub_db:5432/postgres - - POSTGRES_SSL_MODE=off - - EMAIL_HOST=TBD - - EMAIL_HOST_USER=TBD - - EMAIL_HOST_PASSWORD=TBD - - KOBO_KF_URL=https://kobo.humanitarianresponse.info - - KOBO_KC_URL=https://kobo.humanitarianresponse.info - - KOBO_MASTER_API_TOKEN=token - - EXCHANGE_RATES_API_KEY=token - - REDIS_INSTANCE=redis:6379 - - PYTHONUNBUFFERED=1 - - CYPRESS_TESTING=yes - - DJANGO_ALLOWED_HOSTS=* - - SESSION_COOKIE_SECURE=false - - SESSION_COOKIE_HTTPONLY=true - - CSRF_COOKIE_HTTPONLY=false - - CSRF_COOKIE_SECURE=false - - SECURE_CONTENT_TYPE_NOSNIFF=true - - SECURE_REFERRER_POLICY=same-origin - - SECURE_HSTS_SECONDS=0 - -volumes: - backend-data: - -services: - cypress: - build: - dockerfile: Dockerfile - command: "ci-test" - depends_on: - - proxy - - celery_worker - volumes: - - ../cypress-results:/code/cypress/results - - ../cypress-report:/code/cypress/report - - ../cypress-screenshots:/code/cypress/screenshots - - /code/node_modules - - ./:/code - - proxy: - image: unicef/hct-mis-proxy - environment: - - DJANGO_APPLICATION_SERVICE_HOST=backend - - FRONTEND_HOST=frontend:80 - build: - context: ../proxy - dockerfile: Dockerfile - depends_on: - - backend - - frontend - - frontend: - build: - context: ../frontend - dockerfile: Dockerfile - - redis: - restart: unless-stopped - image: redis:4.0.11-alpine3.8 - - backend: - <<: *django_envs - build: - context: ../backend - dockerfile: docker/Dockerfile - volumes: - - backend-data:/data - command: cy - depends_on: - - db - - redis - - cash_assist_datahub_db - - mis_datahub_db - - erp_datahub_db - - registration_datahub_db - - elasticsearch - - cash_assist_datahub_db: - image: kartoza/postgis:14-3 - <<: *django_envs - - mis_datahub_db: - image: kartoza/postgis:14-3 - <<: *django_envs - - erp_datahub_db: - image: kartoza/postgis:14-3 - <<: *django_envs - - registration_datahub_db: - image: kartoza/postgis:14-3 - <<: *django_envs - - db: - image: kartoza/postgis:14-3 - <<: *django_envs - - celery_worker: - <<: *django_envs - build: - context: ../backend - dockerfile: docker/Dockerfile - volumes: - - backend-data:/data - restart: unless-stopped - command: "celery -A hct_mis_api.apps.core.celery worker -E -l info" - depends_on: - - backend - - elasticsearch: - <<: *django_envs - image: unicef/hct-elasticsearch - build: - context: ../elasticsearch - environment: - - node.name=es01 - - cluster.name=es-docker-cluster - - cluster.initial_master_nodes=es01 - - bootstrap.memory_lock=true - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - - xpack.security.enabled=false - ulimits: - memlock: - soft: -1 - hard: -1 diff --git a/cypress/docker-compose.yml b/cypress/docker-compose.yml deleted file mode 100644 index 543e2ee820..0000000000 --- a/cypress/docker-compose.yml +++ /dev/null @@ -1,8 +0,0 @@ -version: '3' - -services: - cypress: - build: . - volumes: - - .:/app - command: yarn cypress run \ No newline at end of file diff --git a/cypress/docker-entrypoint.sh b/cypress/docker-entrypoint.sh deleted file mode 100755 index 95fe64fbc0..0000000000 --- a/cypress/docker-entrypoint.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -set -e - -case "$1" in - "ci-test") - echo "Waiting for backend to be ready" - waitforit -host=backend -port=8000 --timeout 300 - # echo "Waiting for proxy to be ready" - # waitforit -host=proxy -port=80 --timeout 300 - echo "Staring cypress tests..." - exec npm test - ;; - *) - exec "$@" - ;; -esac diff --git a/cypress/package.json b/cypress/package.json deleted file mode 100644 index 8b4ebf2031..0000000000 --- a/cypress/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "cypress", - "version": "1.0.0", - "main": "index.js", - "license": "MIT", - "devDependencies": { - "copy": "^0.3.2", - "cypress": "^13.6.3", - "cypress-file-upload": "^5.0.8", - "cypress-multi-reporters": "^1.6.3", - "cypress-repeat": "^2.3.3", - "eslint": "^8.34.0", - "eslint-plugin-cypress": "^2.12.1", - "eslint-plugin-mocha": "^10.1.0", - "mocha-junit-reporter": "^2.2.0", - "mochawesome": "^7.1.3", - "mochawesome-merge": "^4.3.0", - "mochawesome-report-generator": "^6.2.0", - "node-xlsx": "^0.21.0" - }, - "scripts": { - "generate-xlsx-files": "./cypress/scripts/generateXlsxFiles.js", - "init-scenario": "./cypress/scripts/initScenario.js", - "lint": "eslint .", - "clean": "rm -rf cypress/downloads/* cypress/screenshots/* cypress/videos/*", - "pretest": "npm run clean:reports", - "scripts": "cypress run --headless --config baseUrl=http://backend:8000,video=false", - "clean:reports": "mkdir -p cypress/reports/mochareports ", - "combine-reports": "mochawesome-merge cypress/reports/mocha/*.json > cypress/reports/mochareports/report.json", - "generate-report": "marge cypress/reports/mochareports/report.json -f report -o cypress/reports/mochareports --inline", - "zip-report": "zip -r report.zip cypress/reports/mochareports", - "posttest": "npm run combine-reports && npm run generate-report && npm run zip-report && node ./cypress/scripts/slackReport.js", - "test": "npm run scripts || npm run posttest" - }, - "dependencies": { - "axios": "^1.4.0", - "chart.js": "^4.3.0", - "chartjs": "^0.3.24", - "cy-verify-downloads": "^0.1.14", - "quickchart-js": "^3.1.2", - "request": "^2.88.2" - }, - "author": "", - "description": "" -} diff --git a/cypress/reporterOpts.json b/cypress/reporterOpts.json deleted file mode 100644 index f639d678e8..0000000000 --- a/cypress/reporterOpts.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "reporterEnabled": "mochawesome, mocha-junit-reporter", - "mochawesomeReporterOptions": { - "reportDir": "cypress/reports/mocha/", - "code": false, - "quiet": true, - "overwrite": false, - "html": true, - "json": true - }, - "mochaJunitReporterReporterOptions": { - "mochaFile": "cypress/results/results-[hash].xml", - "toConsole": true, - "includePending": true -} -} diff --git a/cypress/tsconfig.json b/cypress/tsconfig.json deleted file mode 100644 index 1c00d8bc9a..0000000000 --- a/cypress/tsconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "module": "commonjs", - "lib": ["dom","es6"], - "types": ["cypress"], - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "importHelpers": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "baseUrl": ".", - "paths": { - "*": ["cypress/*", "cypress/@types/*"] - } - }, - "include": [ - "node_modules/cypress", - "node_modules/cypress-file-upload", - "node_modules/chai-subset", - "cypress", - ".eslintrc.js" - ] -} diff --git a/cypress/yarn.lock b/cypress/yarn.lock deleted file mode 100644 index ca24310888..0000000000 --- a/cypress/yarn.lock +++ /dev/null @@ -1,3056 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@colors/colors@1.5.0": - "integrity" "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" - "resolved" "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" - "version" "1.5.0" - -"@cypress/request@^3.0.0": - "integrity" "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==" - "resolved" "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "aws-sign2" "~0.7.0" - "aws4" "^1.8.0" - "caseless" "~0.12.0" - "combined-stream" "~1.0.6" - "extend" "~3.0.2" - "forever-agent" "~0.6.1" - "form-data" "~2.3.2" - "http-signature" "~1.3.6" - "is-typedarray" "~1.0.0" - "isstream" "~0.1.2" - "json-stringify-safe" "~5.0.1" - "mime-types" "~2.1.19" - "performance-now" "^2.1.0" - "qs" "6.10.4" - "safe-buffer" "^5.1.2" - "tough-cookie" "^4.1.3" - "tunnel-agent" "^0.6.0" - "uuid" "^8.3.2" - -"@cypress/xvfb@^1.2.4": - "integrity" "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==" - "resolved" "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz" - "version" "1.2.4" - dependencies: - "debug" "^3.1.0" - "lodash.once" "^4.1.1" - -"@eslint/eslintrc@^1.4.1": - "integrity" "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==" - "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz" - "version" "1.4.1" - dependencies: - "ajv" "^6.12.4" - "debug" "^4.3.2" - "espree" "^9.4.0" - "globals" "^13.19.0" - "ignore" "^5.2.0" - "import-fresh" "^3.2.1" - "js-yaml" "^4.1.0" - "minimatch" "^3.1.2" - "strip-json-comments" "^3.1.1" - -"@humanwhocodes/config-array@^0.11.8": - "integrity" "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" - "version" "0.11.8" - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - "debug" "^4.1.1" - "minimatch" "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - "integrity" "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - "version" "1.0.1" - -"@humanwhocodes/object-schema@^1.2.1": - "integrity" "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - "version" "1.2.1" - -"@kurkle/color@^0.3.0": - "integrity" "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" - "resolved" "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz" - "version" "0.3.2" - -"@nodelib/fs.scandir@2.1.5": - "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - "version" "2.1.5" - dependencies: - "@nodelib/fs.stat" "2.0.5" - "run-parallel" "^1.1.9" - -"@nodelib/fs.stat@2.0.5": - "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - "version" "2.0.5" - -"@nodelib/fs.walk@^1.2.8": - "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - "version" "1.2.8" - dependencies: - "@nodelib/fs.scandir" "2.1.5" - "fastq" "^1.6.0" - -"@types/node@*": - "integrity" "sha512-+pMhShR3Or5GR0/sp4Da7FnhVmTalWm81M6MkEldbwjETSaPalw138Z4KdpQaistvqQxLB7Cy4xwYdxpbSOs9Q==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-18.17.19.tgz" - "version" "18.17.19" - -"@types/sinonjs__fake-timers@8.1.1": - "integrity" "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==" - "resolved" "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz" - "version" "8.1.1" - -"@types/sizzle@^2.3.2": - "integrity" "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==" - "resolved" "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz" - "version" "2.3.3" - -"@types/yauzl@^2.9.1": - "integrity" "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==" - "resolved" "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz" - "version" "2.10.0" - dependencies: - "@types/node" "*" - -"acorn-jsx@^5.3.2": - "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - "version" "5.3.2" - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8.8.0": - "integrity" "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" - "version" "8.8.2" - -"adler-32@~1.2.0": - "integrity" "sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==" - "resolved" "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "exit-on-epipe" "~1.0.1" - "printj" "~1.1.0" - -"adler-32@~1.3.0": - "integrity" "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==" - "resolved" "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz" - "version" "1.3.1" - -"aggregate-error@^3.0.0": - "integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==" - "resolved" "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "clean-stack" "^2.0.0" - "indent-string" "^4.0.0" - -"ajv@^6.10.0", "ajv@^6.12.3", "ajv@^6.12.4": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - dependencies: - "fast-deep-equal" "^3.1.1" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.4.1" - "uri-js" "^4.2.2" - -"ansi-colors@^4.1.1": - "integrity" "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" - "version" "4.1.3" - -"ansi-colors@4.1.1": - "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - "version" "4.1.1" - -"ansi-escapes@^4.3.0": - "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "type-fest" "^0.21.3" - -"ansi-green@^0.1.1": - "integrity" "sha512-WJ70OI4jCaMy52vGa/ypFSKFb/TrYNPaQ2xco5nUwE0C5H8piume/uAZNNdXXiMQ6DbRmiE7l8oNBHu05ZKkrw==" - "resolved" "https://registry.npmjs.org/ansi-green/-/ansi-green-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "ansi-wrap" "0.1.0" - -"ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"ansi-wrap@0.1.0": - "integrity" "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==" - "resolved" "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz" - "version" "0.1.0" - -"anymatch@~3.1.2": - "integrity" "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - "version" "3.1.3" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"arch@^2.2.0": - "integrity" "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==" - "resolved" "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz" - "version" "2.2.0" - -"arg@5.0.2": - "integrity" "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - "resolved" "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - "version" "5.0.2" - -"argparse@^2.0.1": - "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - "version" "2.0.1" - -"arr-union@^3.1.0": - "integrity" "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" - "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - "version" "3.1.0" - -"asn1@~0.2.3": - "integrity" "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==" - "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz" - "version" "0.2.6" - dependencies: - "safer-buffer" "~2.1.0" - -"assert-plus@^1.0.0", "assert-plus@1.0.0": - "integrity" "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - "version" "1.0.0" - -"astral-regex@^2.0.0": - "integrity" "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" - "version" "2.0.0" - -"async-array-reduce@^0.2.0": - "integrity" "sha512-/ywTADOcaEnwiAnOEi0UB/rAcIq5bTFfCV9euv3jLYFUMmy6KvKccTQUnLlp8Ensmfj43wHSmbGiPqjsZ6RhNA==" - "resolved" "https://registry.npmjs.org/async-array-reduce/-/async-array-reduce-0.2.1.tgz" - "version" "0.2.1" - -"async-each@^1.0.0": - "integrity" "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==" - "resolved" "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz" - "version" "1.0.6" - -"async@^3.2.0": - "integrity" "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - "resolved" "https://registry.npmjs.org/async/-/async-3.2.4.tgz" - "version" "3.2.4" - -"asynckit@^0.4.0": - "integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - "version" "0.4.0" - -"at-least-node@^1.0.0": - "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - "version" "1.0.0" - -"aws-sign2@~0.7.0": - "integrity" "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" - "version" "0.7.0" - -"aws4@^1.8.0": - "integrity" "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz" - "version" "1.12.0" - -"axios@^1.4.0": - "integrity" "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==" - "resolved" "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "follow-redirects" "^1.15.0" - "form-data" "^4.0.0" - "proxy-from-env" "^1.1.0" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base64-js@^1.3.1": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" - -"bcrypt-pbkdf@^1.0.0": - "integrity" "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==" - "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "tweetnacl" "^0.14.3" - -"binary-extensions@^2.0.0": - "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - "version" "2.2.0" - -"blob-util@^2.0.2": - "integrity" "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==" - "resolved" "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz" - "version" "2.0.2" - -"bluebird@^3.4.1", "bluebird@^3.7.2", "bluebird@3.7.2": - "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - "version" "3.7.2" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"brace-expansion@^2.0.1": - "integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "balanced-match" "^1.0.0" - -"braces@~3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"browser-stdout@1.3.1": - "integrity" "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - "resolved" "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" - "version" "1.3.1" - -"buffer-crc32@~0.2.3": - "integrity" "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" - "resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" - "version" "0.2.13" - -"buffer@^5.6.0": - "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "base64-js" "^1.3.1" - "ieee754" "^1.1.13" - -"cachedir@^2.3.0": - "integrity" "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==" - "resolved" "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz" - "version" "2.3.0" - -"call-bind@^1.0.0": - "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "function-bind" "^1.1.1" - "get-intrinsic" "^1.0.2" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camelcase@^5.0.0": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^6.0.0": - "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - "version" "6.3.0" - -"caseless@~0.12.0": - "integrity" "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" - "version" "0.12.0" - -"cfb@^1.1.4": - "integrity" "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==" - "resolved" "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz" - "version" "1.2.2" - dependencies: - "adler-32" "~1.3.0" - "crc-32" "~1.2.0" - -"chalk@^4.0.0", "chalk@^4.1.0", "chalk@^4.1.2": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"charenc@0.0.2": - "integrity" "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" - "resolved" "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz" - "version" "0.0.2" - -"chart.js@^4.3.0": - "integrity" "sha512-ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==" - "resolved" "https://registry.npmjs.org/chart.js/-/chart.js-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "@kurkle/color" "^0.3.0" - -"chartjs@^0.3.24": - "integrity" "sha512-h6G9qcDqmFYnSWqjWCzQMeOLiypS+pM6Fq2Rj7LPty8Kjx5yHonwwJ7oEHImZpQ2u9Pu36XGYfardvvBiQVrhg==" - "resolved" "https://registry.npmjs.org/chartjs/-/chartjs-0.3.24.tgz" - "version" "0.3.24" - -"check-more-types@^2.24.0": - "integrity" "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==" - "resolved" "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz" - "version" "2.24.0" - -"chokidar@3.5.3": - "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - "version" "3.5.3" - dependencies: - "anymatch" "~3.1.2" - "braces" "~3.0.2" - "glob-parent" "~5.1.2" - "is-binary-path" "~2.1.0" - "is-glob" "~4.0.1" - "normalize-path" "~3.0.0" - "readdirp" "~3.6.0" - optionalDependencies: - "fsevents" "~2.3.2" - -"ci-info@^3.2.0": - "integrity" "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz" - "version" "3.8.0" - -"clean-stack@^2.0.0": - "integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" - "version" "2.2.0" - -"cli-cursor@^3.1.0": - "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "restore-cursor" "^3.1.0" - -"cli-table3@~0.6.1": - "integrity" "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==" - "resolved" "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" - "version" "0.6.3" - dependencies: - "string-width" "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -"cli-truncate@^2.1.0": - "integrity" "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==" - "resolved" "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "slice-ansi" "^3.0.0" - "string-width" "^4.2.0" - -"cliui@^6.0.0": - "integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^6.2.0" - -"cliui@^7.0.2": - "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - "version" "7.0.4" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^7.0.0" - -"cliui@^8.0.1": - "integrity" "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - "version" "8.0.1" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.1" - "wrap-ansi" "^7.0.0" - -"clone-stats@^0.0.1": - "integrity" "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==" - "resolved" "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" - "version" "0.0.1" - -"clone@^1.0.0": - "integrity" "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" - "version" "1.0.4" - -"codepage@~1.15.0": - "integrity" "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==" - "resolved" "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz" - "version" "1.15.0" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"colorette@^2.0.16": - "integrity" "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" - "resolved" "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" - "version" "2.0.19" - -"combined-stream@^1.0.6", "combined-stream@^1.0.8", "combined-stream@~1.0.6": - "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - "version" "1.0.8" - dependencies: - "delayed-stream" "~1.0.0" - -"commander@^6.2.1": - "integrity" "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" - "resolved" "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" - "version" "6.2.1" - -"common-tags@^1.8.0": - "integrity" "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" - "resolved" "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" - "version" "1.8.2" - -"concat-map@0.0.1": - "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"copy@^0.3.2": - "integrity" "sha512-drDFuUZctIuvSuvL9dOF/v5GxrwB1Q8eMIRlYONC0lSMEq+L2xabXP3jme8cQFdDO8cgP8JsuYhQg7JtTwezmg==" - "resolved" "https://registry.npmjs.org/copy/-/copy-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "async-each" "^1.0.0" - "bluebird" "^3.4.1" - "extend-shallow" "^2.0.1" - "file-contents" "^0.3.1" - "glob-parent" "^2.0.0" - "graceful-fs" "^4.1.4" - "has-glob" "^0.1.1" - "is-absolute" "^0.2.5" - "lazy-cache" "^2.0.1" - "log-ok" "^0.1.1" - "matched" "^0.4.1" - "mkdirp" "^0.5.1" - "resolve-dir" "^0.1.0" - "to-file" "^0.2.0" - -"core-util-is@~1.0.0": - "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - "version" "1.0.3" - -"core-util-is@1.0.2": - "integrity" "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - "version" "1.0.2" - -"crc-32@~1.2.0": - "integrity" "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" - "resolved" "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz" - "version" "1.2.2" - -"cross-fetch@^3.1.5": - "integrity" "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==" - "resolved" "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz" - "version" "3.1.8" - dependencies: - "node-fetch" "^2.6.12" - -"cross-spawn@^7.0.0", "cross-spawn@^7.0.2": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"crypt@0.0.2": - "integrity" "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" - "resolved" "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz" - "version" "0.0.2" - -"cy-verify-downloads@^0.1.14": - "integrity" "sha512-7l6grPRbGYZyMjQoYvz3/PFT3ruAuNs9Nm0BKu98KmEMDdVeAeravI7vsxEtvKW9yWp204Xc7Fdqf+qem7j3Ew==" - "resolved" "https://registry.npmjs.org/cy-verify-downloads/-/cy-verify-downloads-0.1.17.tgz" - "version" "0.1.17" - -"cypress-file-upload@^5.0.8": - "integrity" "sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g==" - "resolved" "https://registry.npmjs.org/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz" - "version" "5.0.8" - -"cypress-multi-reporters@^1.6.3": - "integrity" "sha512-klb9pf6oAF4WCLHotu9gdB8ukYBdeTzbEMuESKB3KT54HhrZj65vQxubAgrULV5H2NWqxHdUhlntPbKZChNvEw==" - "resolved" "https://registry.npmjs.org/cypress-multi-reporters/-/cypress-multi-reporters-1.6.3.tgz" - "version" "1.6.3" - dependencies: - "debug" "^4.3.4" - "lodash" "^4.17.21" - -"cypress-repeat@^2.3.3": - "integrity" "sha512-DoPiN5A/SMC9p6B2lRbvOxQvQUS6LO8Zeblkc3ZQQl5cQMmGBa15EOMLdBpQ1ctjOgssvcYawodBkxiNMHI49g==" - "resolved" "https://registry.npmjs.org/cypress-repeat/-/cypress-repeat-2.3.3.tgz" - "version" "2.3.3" - dependencies: - "arg" "5.0.2" - "bluebird" "3.7.2" - "debug" "4.3.4" - "dotenv" "8.2.0" - -"cypress@^13.6.3", "cypress@>=5.3.0", "cypress@>3.0.0": - "integrity" "sha512-d/pZvgwjAyZsoyJ3FOsJT5lDsqnxQ/clMqnNc++rkHjbkkiF2h9s0JsZSyyH4QXhVFW3zPFg82jD25roFLOdZA==" - "resolved" "https://registry.npmjs.org/cypress/-/cypress-13.6.3.tgz" - "version" "13.6.3" - dependencies: - "@cypress/request" "^3.0.0" - "@cypress/xvfb" "^1.2.4" - "@types/sinonjs__fake-timers" "8.1.1" - "@types/sizzle" "^2.3.2" - "arch" "^2.2.0" - "blob-util" "^2.0.2" - "bluebird" "^3.7.2" - "buffer" "^5.6.0" - "cachedir" "^2.3.0" - "chalk" "^4.1.0" - "check-more-types" "^2.24.0" - "cli-cursor" "^3.1.0" - "cli-table3" "~0.6.1" - "commander" "^6.2.1" - "common-tags" "^1.8.0" - "dayjs" "^1.10.4" - "debug" "^4.3.4" - "enquirer" "^2.3.6" - "eventemitter2" "6.4.7" - "execa" "4.1.0" - "executable" "^4.1.1" - "extract-zip" "2.0.1" - "figures" "^3.2.0" - "fs-extra" "^9.1.0" - "getos" "^3.2.1" - "is-ci" "^3.0.0" - "is-installed-globally" "~0.4.0" - "lazy-ass" "^1.6.0" - "listr2" "^3.8.3" - "lodash" "^4.17.21" - "log-symbols" "^4.0.0" - "minimist" "^1.2.8" - "ospath" "^1.2.2" - "pretty-bytes" "^5.6.0" - "process" "^0.11.10" - "proxy-from-env" "1.0.0" - "request-progress" "^3.0.0" - "semver" "^7.5.3" - "supports-color" "^8.1.1" - "tmp" "~0.2.1" - "untildify" "^4.0.0" - "yauzl" "^2.10.0" - -"dashdash@^1.12.0": - "integrity" "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==" - "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" - "version" "1.14.1" - dependencies: - "assert-plus" "^1.0.0" - -"dateformat@^4.5.1": - "integrity" "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==" - "resolved" "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz" - "version" "4.6.3" - -"dayjs@^1.10.4": - "integrity" "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" - "resolved" "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz" - "version" "1.11.7" - -"debug@^3.1.0": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" - dependencies: - "ms" "^2.1.1" - -"debug@^4.1.1", "debug@^4.3.2", "debug@^4.3.4", "debug@4.3.4": - "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - "version" "4.3.4" - dependencies: - "ms" "2.1.2" - -"decamelize@^1.2.0": - "integrity" "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - "version" "1.2.0" - -"decamelize@^4.0.0": - "integrity" "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" - "version" "4.0.0" - -"deep-is@^0.1.3": - "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - "version" "0.1.4" - -"define-property@^0.2.5": - "integrity" "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - "version" "0.2.5" - dependencies: - "is-descriptor" "^0.1.0" - -"delayed-stream@~1.0.0": - "integrity" "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - "version" "1.0.0" - -"diff@^5.0.0", "diff@5.0.0": - "integrity" "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" - "resolved" "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" - "version" "5.0.0" - -"doctrine@^3.0.0": - "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "esutils" "^2.0.2" - -"dotenv@8.2.0": - "integrity" "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" - "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz" - "version" "8.2.0" - -"ecc-jsbn@~0.1.1": - "integrity" "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==" - "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" - "version" "0.1.2" - dependencies: - "jsbn" "~0.1.0" - "safer-buffer" "^2.1.0" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"end-of-stream@^1.1.0": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"enquirer@^2.3.6", "enquirer@>= 2.3.0 < 3": - "integrity" "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" - "resolved" "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - "version" "2.3.6" - dependencies: - "ansi-colors" "^4.1.1" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-html@^1.0.3": - "integrity" "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - "version" "1.0.3" - -"escape-string-regexp@^1.0.5": - "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^4.0.0", "escape-string-regexp@4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"eslint-plugin-cypress@^2.12.1": - "integrity" "sha512-c2W/uPADl5kospNDihgiLc7n87t5XhUbFDoTl6CfVkmG+kDAb5Ux10V9PoLPu9N+r7znpc+iQlcmAqT1A/89HA==" - "resolved" "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.12.1.tgz" - "version" "2.12.1" - dependencies: - "globals" "^11.12.0" - -"eslint-plugin-mocha@^10.1.0": - "integrity" "sha512-xLqqWUF17llsogVOC+8C6/jvQ+4IoOREbN7ZCHuOHuD6cT5cDD4h7f2LgsZuzMAiwswWE21tO7ExaknHVDrSkw==" - "resolved" "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "eslint-utils" "^3.0.0" - "rambda" "^7.1.0" - -"eslint-scope@^7.1.1": - "integrity" "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" - "version" "7.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^5.2.0" - -"eslint-utils@^3.0.0": - "integrity" "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==" - "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "eslint-visitor-keys" "^2.0.0" - -"eslint-visitor-keys@^2.0.0": - "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - "version" "2.1.0" - -"eslint-visitor-keys@^3.3.0": - "integrity" "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" - "version" "3.3.0" - -"eslint@^8.34.0", "eslint@>= 3.2.1", "eslint@>=5", "eslint@>=7.0.0": - "integrity" "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz" - "version" "8.34.0" - dependencies: - "@eslint/eslintrc" "^1.4.1" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "ajv" "^6.10.0" - "chalk" "^4.0.0" - "cross-spawn" "^7.0.2" - "debug" "^4.3.2" - "doctrine" "^3.0.0" - "escape-string-regexp" "^4.0.0" - "eslint-scope" "^7.1.1" - "eslint-utils" "^3.0.0" - "eslint-visitor-keys" "^3.3.0" - "espree" "^9.4.0" - "esquery" "^1.4.0" - "esutils" "^2.0.2" - "fast-deep-equal" "^3.1.3" - "file-entry-cache" "^6.0.1" - "find-up" "^5.0.0" - "glob-parent" "^6.0.2" - "globals" "^13.19.0" - "grapheme-splitter" "^1.0.4" - "ignore" "^5.2.0" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "is-glob" "^4.0.0" - "is-path-inside" "^3.0.3" - "js-sdsl" "^4.1.4" - "js-yaml" "^4.1.0" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.4.1" - "lodash.merge" "^4.6.2" - "minimatch" "^3.1.2" - "natural-compare" "^1.4.0" - "optionator" "^0.9.1" - "regexpp" "^3.2.0" - "strip-ansi" "^6.0.1" - "strip-json-comments" "^3.1.0" - "text-table" "^0.2.0" - -"espree@^9.4.0": - "integrity" "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==" - "resolved" "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz" - "version" "9.4.1" - dependencies: - "acorn" "^8.8.0" - "acorn-jsx" "^5.3.2" - "eslint-visitor-keys" "^3.3.0" - -"esquery@^1.4.0": - "integrity" "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==" - "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz" - "version" "1.4.2" - dependencies: - "estraverse" "^5.1.0" - -"esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^5.1.0", "estraverse@^5.2.0": - "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - "version" "5.3.0" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"eventemitter2@6.4.7": - "integrity" "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==" - "resolved" "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz" - "version" "6.4.7" - -"execa@4.1.0": - "integrity" "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==" - "resolved" "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "cross-spawn" "^7.0.0" - "get-stream" "^5.0.0" - "human-signals" "^1.1.1" - "is-stream" "^2.0.0" - "merge-stream" "^2.0.0" - "npm-run-path" "^4.0.0" - "onetime" "^5.1.0" - "signal-exit" "^3.0.2" - "strip-final-newline" "^2.0.0" - -"executable@^4.1.1": - "integrity" "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==" - "resolved" "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "pify" "^2.2.0" - -"exit-on-epipe@~1.0.1": - "integrity" "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" - "resolved" "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz" - "version" "1.0.1" - -"expand-tilde@^1.2.2": - "integrity" "sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==" - "resolved" "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz" - "version" "1.2.2" - dependencies: - "os-homedir" "^1.0.1" - -"extend-shallow@^2.0.0", "extend-shallow@^2.0.1": - "integrity" "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "is-extendable" "^0.1.0" - -"extend@~3.0.2": - "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - "version" "3.0.2" - -"extract-zip@2.0.1": - "integrity" "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==" - "resolved" "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "debug" "^4.1.1" - "get-stream" "^5.1.0" - "yauzl" "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -"extsprintf@^1.2.0", "extsprintf@1.3.0": - "integrity" "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - "version" "1.3.0" - -"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-json-stable-stringify@^2.0.0": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" - -"fast-levenshtein@^2.0.6": - "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - "version" "2.0.6" - -"fastq@^1.6.0": - "integrity" "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==" - "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - "version" "1.15.0" - dependencies: - "reusify" "^1.0.4" - -"fd-slicer@~1.1.0": - "integrity" "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==" - "resolved" "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "pend" "~1.2.0" - -"figures@^3.2.0": - "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "escape-string-regexp" "^1.0.5" - -"file-contents@^0.2.4": - "integrity" "sha512-PEz7U6YlXr+dvWCtW63DUY1LUTHOVs1rv4s1/I/39dpvvidQqMSTY6JklazQS60MMoI/ztpo5kMlpdvGagvLbA==" - "resolved" "https://registry.npmjs.org/file-contents/-/file-contents-0.2.4.tgz" - "version" "0.2.4" - dependencies: - "extend-shallow" "^2.0.0" - "file-stat" "^0.1.0" - "graceful-fs" "^4.1.2" - "is-buffer" "^1.1.0" - "is-utf8" "^0.2.0" - "lazy-cache" "^0.2.3" - "through2" "^2.0.0" - -"file-contents@^0.3.1": - "integrity" "sha512-7xaJjA+9eTve2l1FzoagBX26tICgaTwLPAY9vi/FDutEUKNeBR4YYvvQ8bgxuYJb09edaAQoEGIa6Juim88dpQ==" - "resolved" "https://registry.npmjs.org/file-contents/-/file-contents-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "file-stat" "^0.2.3" - "fs-exists-sync" "^0.1.0" - "graceful-fs" "^4.1.4" - "is-buffer" "^1.1.3" - "isobject" "^2.1.0" - "lazy-cache" "^2.0.1" - "strip-bom-buffer" "^0.1.1" - "strip-bom-string" "^0.1.2" - "through2" "^2.0.1" - "vinyl" "^1.1.1" - -"file-entry-cache@^6.0.1": - "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" - "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "flat-cache" "^3.0.4" - -"file-stat@^0.1.0": - "integrity" "sha512-f72m4132aOd5DVtREdDX8I0Dd7Zf/3PiUYYvn4BFCxfsLqj6r8joBZzrRlfvsNvxhADw+jpEa0AnWPII9H0Fbg==" - "resolved" "https://registry.npmjs.org/file-stat/-/file-stat-0.1.3.tgz" - "version" "0.1.3" - dependencies: - "graceful-fs" "^4.1.2" - "lazy-cache" "^0.2.3" - "through2" "^2.0.0" - -"file-stat@^0.2.3": - "integrity" "sha512-wjHoKZzas90Jl1XOBfLnNGc5gl9JTm7sTceuoO4P3OdadlCz1ELrOxYmiamqLJP4S8+phD7wzW8S1oBj+8vnBQ==" - "resolved" "https://registry.npmjs.org/file-stat/-/file-stat-0.2.3.tgz" - "version" "0.2.3" - dependencies: - "fs-exists-sync" "^0.1.0" - "graceful-fs" "^4.1.4" - "lazy-cache" "^2.0.1" - "through2" "^2.0.1" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"find-up@^4.1.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"find-up@^5.0.0", "find-up@5.0.0": - "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "locate-path" "^6.0.0" - "path-exists" "^4.0.0" - -"flat-cache@^3.0.4": - "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" - "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "flatted" "^3.1.0" - "rimraf" "^3.0.2" - -"flat@^5.0.2": - "integrity" "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - "resolved" "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - "version" "5.0.2" - -"flatted@^3.1.0": - "integrity" "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - "version" "3.2.7" - -"follow-redirects@^1.15.0": - "integrity" "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" - "version" "1.15.2" - -"forever-agent@~0.6.1": - "integrity" "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - "version" "0.6.1" - -"form-data@^4.0.0": - "integrity" "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.8" - "mime-types" "^2.1.12" - -"form-data@~2.3.2": - "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" - "version" "2.3.3" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.6" - "mime-types" "^2.1.12" - -"frac@~1.1.2": - "integrity" "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" - "resolved" "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz" - "version" "1.1.2" - -"fs-exists-sync@^0.1.0": - "integrity" "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==" - "resolved" "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz" - "version" "0.1.0" - -"fs-extra@^10.0.0": - "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@^7.0.1": - "integrity" "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "graceful-fs" "^4.1.2" - "jsonfile" "^4.0.0" - "universalify" "^0.1.0" - -"fs-extra@^9.1.0": - "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - "version" "9.1.0" - dependencies: - "at-least-node" "^1.0.0" - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs.realpath@^1.0.0": - "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"fsevents@~2.3.2": - "integrity" "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - "version" "2.3.3" - -"fsu@^1.1.1": - "integrity" "sha512-xQVsnjJ/5pQtcKh+KjUoZGzVWn4uNkchxTF6Lwjr4Gf7nQr8fmUfhKJ62zE77+xQg9xnxi5KUps7XGs+VC986A==" - "resolved" "https://registry.npmjs.org/fsu/-/fsu-1.1.1.tgz" - "version" "1.1.1" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"get-caller-file@^2.0.1", "get-caller-file@^2.0.5": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-intrinsic@^1.0.2": - "integrity" "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-proto" "^1.0.1" - "has-symbols" "^1.0.3" - -"get-stream@^5.0.0", "get-stream@^5.1.0": - "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "pump" "^3.0.0" - -"getos@^3.2.1": - "integrity" "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==" - "resolved" "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "async" "^3.2.0" - -"getpass@^0.1.1": - "integrity" "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==" - "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" - "version" "0.1.7" - dependencies: - "assert-plus" "^1.0.0" - -"glob-parent@^2.0.0": - "integrity" "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "is-glob" "^2.0.0" - -"glob-parent@^6.0.2": - "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "is-glob" "^4.0.3" - -"glob-parent@~5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob@^7.0.5", "glob@^7.1.3", "glob@^7.1.6": - "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - "version" "7.2.3" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.1.1" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"glob@7.2.0": - "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"global-dirs@^3.0.0": - "integrity" "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==" - "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "ini" "2.0.0" - -"global-modules@^0.2.3": - "integrity" "sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==" - "resolved" "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz" - "version" "0.2.3" - dependencies: - "global-prefix" "^0.1.4" - "is-windows" "^0.2.0" - -"global-prefix@^0.1.4": - "integrity" "sha512-gOPiyxcD9dJGCEArAhF4Hd0BAqvAe/JzERP7tYumE4yIkmIedPUVXcJFWbV3/p/ovIIvKjkrTk+f1UVkq7vvbw==" - "resolved" "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz" - "version" "0.1.5" - dependencies: - "homedir-polyfill" "^1.0.0" - "ini" "^1.3.4" - "is-windows" "^0.2.0" - "which" "^1.2.12" - -"globals@^11.12.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globals@^13.19.0": - "integrity" "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==" - "resolved" "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" - "version" "13.20.0" - dependencies: - "type-fest" "^0.20.2" - -"graceful-fs@^4.1.2", "graceful-fs@^4.1.4", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0": - "integrity" "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - "version" "4.2.11" - -"grapheme-splitter@^1.0.4": - "integrity" "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - "resolved" "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" - "version" "1.0.4" - -"har-schema@^2.0.0": - "integrity" "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" - "version" "2.0.0" - -"har-validator@~5.1.3": - "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" - "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" - "version" "5.1.5" - dependencies: - "ajv" "^6.12.3" - "har-schema" "^2.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-glob@^0.1.1": - "integrity" "sha512-WMHzb7oCwDcMDngWy0b+viLjED8zvSi5d4/YdBetADHX/rLH+noJaRTytuyN6thTxxM7lK+FloogQHHdOOR+7g==" - "resolved" "https://registry.npmjs.org/has-glob/-/has-glob-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "is-glob" "^2.0.1" - -"has-proto@^1.0.1": - "integrity" "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - "resolved" "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - "version" "1.0.1" - -"has-symbols@^1.0.3": - "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - "version" "1.0.3" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"he@1.2.0": - "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - "version" "1.2.0" - -"homedir-polyfill@^1.0.0": - "integrity" "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==" - "resolved" "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "parse-passwd" "^1.0.0" - -"http-signature@~1.2.0": - "integrity" "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==" - "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "assert-plus" "^1.0.0" - "jsprim" "^1.2.2" - "sshpk" "^1.7.0" - -"http-signature@~1.3.6": - "integrity" "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==" - "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz" - "version" "1.3.6" - dependencies: - "assert-plus" "^1.0.0" - "jsprim" "^2.0.2" - "sshpk" "^1.14.1" - -"human-signals@^1.1.1": - "integrity" "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" - "version" "1.1.1" - -"ieee754@^1.1.13": - "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - "version" "1.2.1" - -"ignore@^5.2.0": - "integrity" "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - "version" "5.2.4" - -"import-fresh@^3.0.0", "import-fresh@^3.2.1": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"imurmurhash@^0.1.4": - "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"indent-string@^4.0.0": - "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - "version" "4.0.0" - -"inflight@^1.0.4": - "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@~2.0.3", "inherits@2": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"ini@^1.3.4": - "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - "version" "1.3.8" - -"ini@2.0.0": - "integrity" "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - "resolved" "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - "version" "2.0.0" - -"is-absolute@^0.2.5": - "integrity" "sha512-7Kr05z5LkcOpoMvxHN1PC11WbPabdNFmMYYo0eZvWu3BfVS0T03yoqYDczoCBx17xqk2x1XAZrcKiFVL88jxlQ==" - "resolved" "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz" - "version" "0.2.6" - dependencies: - "is-relative" "^0.2.1" - "is-windows" "^0.2.0" - -"is-accessor-descriptor@^0.1.6": - "integrity" "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - "version" "0.1.6" - dependencies: - "kind-of" "^3.0.2" - -"is-binary-path@~2.1.0": - "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "binary-extensions" "^2.0.0" - -"is-buffer@^1.1.0", "is-buffer@^1.1.3", "is-buffer@^1.1.5", "is-buffer@~1.1.6": - "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - "version" "1.1.6" - -"is-ci@^3.0.0": - "integrity" "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==" - "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "ci-info" "^3.2.0" - -"is-data-descriptor@^0.1.4": - "integrity" "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - "version" "0.1.4" - dependencies: - "kind-of" "^3.0.2" - -"is-descriptor@^0.1.0": - "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - "version" "0.1.6" - dependencies: - "is-accessor-descriptor" "^0.1.6" - "is-data-descriptor" "^0.1.4" - "kind-of" "^5.0.0" - -"is-extendable@^0.1.0": - "integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - "version" "0.1.1" - -"is-extglob@^1.0.0": - "integrity" "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" - "version" "1.0.0" - -"is-extglob@^2.1.1": - "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" - -"is-glob@^2.0.0": - "integrity" "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "is-extglob" "^1.0.0" - -"is-glob@^2.0.1": - "integrity" "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "is-extglob" "^1.0.0" - -"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1": - "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "is-extglob" "^2.1.1" - -"is-installed-globally@~0.4.0": - "integrity" "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==" - "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "global-dirs" "^3.0.0" - "is-path-inside" "^3.0.2" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-path-inside@^3.0.2", "is-path-inside@^3.0.3": - "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - "version" "3.0.3" - -"is-plain-obj@^2.1.0": - "integrity" "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" - "version" "2.1.0" - -"is-relative@^0.2.1": - "integrity" "sha512-9AMzjRmLqcue629b4ezEVSK6kJsYJlUIhMcygmYORUgwUNJiavHcC3HkaGx0XYpyVKQSOqFbMEZmW42cY87sYw==" - "resolved" "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "is-unc-path" "^0.1.1" - -"is-stream@^2.0.0": - "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - "version" "2.0.1" - -"is-typedarray@~1.0.0": - "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - "version" "1.0.0" - -"is-unc-path@^0.1.1": - "integrity" "sha512-HhLc5VDMH4pu3oMtIuunz/DFQUIoR561kMME3U3Afhj8b7vH085vkIkemrz1kLXCEIuoMAmO3yVmafWdSbGW8w==" - "resolved" "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz" - "version" "0.1.2" - dependencies: - "unc-path-regex" "^0.1.0" - -"is-unicode-supported@^0.1.0": - "integrity" "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - "resolved" "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - "version" "0.1.0" - -"is-utf8@^0.2.0": - "integrity" "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" - "resolved" "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - "version" "0.2.1" - -"is-valid-glob@^0.3.0": - "integrity" "sha512-CvG8EtJZ8FyzVOGPzrDorzyN65W1Ld8BVnqshRCah6pFIsprGx3dKgFtjLn/Vw9kGqR4OlR84U7yhT9ZVTyWIQ==" - "resolved" "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz" - "version" "0.3.0" - -"is-windows@^0.2.0": - "integrity" "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==" - "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz" - "version" "0.2.0" - -"isarray@~1.0.0", "isarray@1.0.0": - "integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - "version" "1.0.0" - -"isexe@^2.0.0": - "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"isobject@^2.1.0": - "integrity" "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "isarray" "1.0.0" - -"isstream@~0.1.2": - "integrity" "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - "version" "0.1.2" - -"javascript-stringify@^2.1.0": - "integrity" "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" - "resolved" "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz" - "version" "2.1.0" - -"js-sdsl@^4.1.4": - "integrity" "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==" - "resolved" "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz" - "version" "4.3.0" - -"js-tokens@^3.0.0 || ^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"js-yaml@^4.1.0", "js-yaml@4.1.0": - "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "argparse" "^2.0.1" - -"jsbn@~0.1.0": - "integrity" "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - "version" "0.1.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-schema@0.4.0": - "integrity" "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" - "version" "0.4.0" - -"json-stable-stringify-without-jsonify@^1.0.1": - "integrity" "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - "version" "1.0.1" - -"json-stringify-safe@^5.0.1", "json-stringify-safe@~5.0.1": - "integrity" "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - "version" "5.0.1" - -"jsonfile@^4.0.0": - "integrity" "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - "version" "4.0.0" - optionalDependencies: - "graceful-fs" "^4.1.6" - -"jsonfile@^6.0.1": - "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "universalify" "^2.0.0" - optionalDependencies: - "graceful-fs" "^4.1.6" - -"jsprim@^1.2.2": - "integrity" "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==" - "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" - "version" "1.4.2" - dependencies: - "assert-plus" "1.0.0" - "extsprintf" "1.3.0" - "json-schema" "0.4.0" - "verror" "1.10.0" - -"jsprim@^2.0.2": - "integrity" "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==" - "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "assert-plus" "1.0.0" - "extsprintf" "1.3.0" - "json-schema" "0.4.0" - "verror" "1.10.0" - -"kind-of@^3.0.2": - "integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^5.0.0": - "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - "version" "5.1.0" - -"lazy-ass@^1.6.0": - "integrity" "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==" - "resolved" "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz" - "version" "1.6.0" - -"lazy-cache@^0.2.3": - "integrity" "sha512-gkX52wvU/R8DVMMt78ATVPFMJqfW8FPz1GZ1sVHBVQHmu/WvhIWE4cE1GBzhJNFicDeYhnwp6Rl35BcAIM3YOQ==" - "resolved" "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz" - "version" "0.2.7" - -"lazy-cache@^2.0.1": - "integrity" "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==" - "resolved" "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "set-getter" "^0.1.0" - -"levn@^0.4.1": - "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "prelude-ls" "^1.2.1" - "type-check" "~0.4.0" - -"listr2@^3.8.3": - "integrity" "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==" - "resolved" "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz" - "version" "3.14.0" - dependencies: - "cli-truncate" "^2.1.0" - "colorette" "^2.0.16" - "log-update" "^4.0.0" - "p-map" "^4.0.0" - "rfdc" "^1.3.0" - "rxjs" "^7.5.1" - "through" "^2.3.8" - "wrap-ansi" "^7.0.0" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"locate-path@^6.0.0": - "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "p-locate" "^5.0.0" - -"lodash.isempty@^4.4.0": - "integrity" "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==" - "resolved" "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz" - "version" "4.4.0" - -"lodash.isfunction@^3.0.9": - "integrity" "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==" - "resolved" "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz" - "version" "3.0.9" - -"lodash.isobject@^3.0.2": - "integrity" "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==" - "resolved" "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz" - "version" "3.0.2" - -"lodash.isstring@^4.0.1": - "integrity" "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" - "resolved" "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" - "version" "4.0.1" - -"lodash.merge@^4.6.2": - "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - "version" "4.6.2" - -"lodash.once@^4.1.1": - "integrity" "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" - "resolved" "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" - "version" "4.1.1" - -"lodash@^4.17.21": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"log-ok@^0.1.1": - "integrity" "sha512-cc8VrkS6C+9TFuYAwuHpshrcrGRAv7d0tUJ0GdM72ZBlKXtlgjUZF84O+OhQUdiVHoF7U/nVxwpjOdwUJ8d3Vg==" - "resolved" "https://registry.npmjs.org/log-ok/-/log-ok-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "ansi-green" "^0.1.1" - "success-symbol" "^0.1.0" - -"log-symbols@^4.0.0", "log-symbols@4.1.0": - "integrity" "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" - "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "chalk" "^4.1.0" - "is-unicode-supported" "^0.1.0" - -"log-update@^4.0.0": - "integrity" "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==" - "resolved" "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "ansi-escapes" "^4.3.0" - "cli-cursor" "^3.1.0" - "slice-ansi" "^4.0.0" - "wrap-ansi" "^6.2.0" - -"loose-envify@^1.4.0": - "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" - "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "js-tokens" "^3.0.0 || ^4.0.0" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"matched@^0.4.1": - "integrity" "sha512-zpasnbB5vQkvb0nfcKV0zEoGgMtV7atlWR1Vk3E8tEKh6EicMseKtVV+5vc+zsZwvDlcNMKlKK/CVOEeAalYRQ==" - "resolved" "https://registry.npmjs.org/matched/-/matched-0.4.4.tgz" - "version" "0.4.4" - dependencies: - "arr-union" "^3.1.0" - "async-array-reduce" "^0.2.0" - "extend-shallow" "^2.0.1" - "fs-exists-sync" "^0.1.0" - "glob" "^7.0.5" - "has-glob" "^0.1.1" - "is-valid-glob" "^0.3.0" - "lazy-cache" "^2.0.1" - "resolve-dir" "^0.1.0" - -"md5@^2.3.0": - "integrity" "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==" - "resolved" "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "charenc" "0.0.2" - "crypt" "0.0.2" - "is-buffer" "~1.1.6" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"mime-db@1.52.0": - "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - "version" "1.52.0" - -"mime-types@^2.1.12", "mime-types@~2.1.19": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"minimatch@^3.0.4": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@^3.0.5", "minimatch@^3.1.1", "minimatch@^3.1.2": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@5.0.1": - "integrity" "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "brace-expansion" "^2.0.1" - -"minimist@^1.2.6", "minimist@^1.2.8": - "integrity" "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - "version" "1.2.8" - -"mkdirp@^0.5.1": - "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - "version" "0.5.6" - dependencies: - "minimist" "^1.2.6" - -"mkdirp@~1.0.4": - "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - "version" "1.0.4" - -"mocha-junit-reporter@^2.2.0": - "integrity" "sha512-W83Ddf94nfLiTBl24aS8IVyFvO8aRDLlCvb+cKb/VEaN5dEbcqu3CXiTe8MQK2DvzS7oKE1RsFTxzN302GGbDQ==" - "resolved" "https://registry.npmjs.org/mocha-junit-reporter/-/mocha-junit-reporter-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "debug" "^4.3.4" - "md5" "^2.3.0" - "mkdirp" "~1.0.4" - "strip-ansi" "^6.0.1" - "xml" "^1.0.1" - -"mocha@>=2.2.5", "mocha@>=3.1.2", "mocha@>=7": - "integrity" "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==" - "resolved" "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz" - "version" "10.2.0" - dependencies: - "ansi-colors" "4.1.1" - "browser-stdout" "1.3.1" - "chokidar" "3.5.3" - "debug" "4.3.4" - "diff" "5.0.0" - "escape-string-regexp" "4.0.0" - "find-up" "5.0.0" - "glob" "7.2.0" - "he" "1.2.0" - "js-yaml" "4.1.0" - "log-symbols" "4.1.0" - "minimatch" "5.0.1" - "ms" "2.1.3" - "nanoid" "3.3.3" - "serialize-javascript" "6.0.0" - "strip-json-comments" "3.1.1" - "supports-color" "8.1.1" - "workerpool" "6.2.1" - "yargs" "16.2.0" - "yargs-parser" "20.2.4" - "yargs-unparser" "2.0.0" - -"mochawesome-merge@^4.3.0": - "integrity" "sha512-1roR6g+VUlfdaRmL8dCiVpKiaUhbPVm1ZQYUM6zHX46mWk+tpsKVZR6ba98k2zc8nlPvYd71yn5gyH970pKBSw==" - "resolved" "https://registry.npmjs.org/mochawesome-merge/-/mochawesome-merge-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "fs-extra" "^7.0.1" - "glob" "^7.1.6" - "yargs" "^15.3.1" - -"mochawesome-report-generator@^6.2.0": - "integrity" "sha512-Ghw8JhQFizF0Vjbtp9B0i//+BOkV5OWcQCPpbO0NGOoxV33o+gKDYU0Pr2pGxkIHnqZ+g5mYiXF7GMNgAcDpSg==" - "resolved" "https://registry.npmjs.org/mochawesome-report-generator/-/mochawesome-report-generator-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "chalk" "^4.1.2" - "dateformat" "^4.5.1" - "escape-html" "^1.0.3" - "fs-extra" "^10.0.0" - "fsu" "^1.1.1" - "lodash.isfunction" "^3.0.9" - "opener" "^1.5.2" - "prop-types" "^15.7.2" - "tcomb" "^3.2.17" - "tcomb-validation" "^3.3.0" - "validator" "^13.6.0" - "yargs" "^17.2.1" - -"mochawesome@^7.1.3": - "integrity" "sha512-Vkb3jR5GZ1cXohMQQ73H3cZz7RoxGjjUo0G5hu0jLaW+0FdUxUwg3Cj29bqQdh0rFcnyV06pWmqmi5eBPnEuNQ==" - "resolved" "https://registry.npmjs.org/mochawesome/-/mochawesome-7.1.3.tgz" - "version" "7.1.3" - dependencies: - "chalk" "^4.1.2" - "diff" "^5.0.0" - "json-stringify-safe" "^5.0.1" - "lodash.isempty" "^4.4.0" - "lodash.isfunction" "^3.0.9" - "lodash.isobject" "^3.0.2" - "lodash.isstring" "^4.0.1" - "mochawesome-report-generator" "^6.2.0" - "strip-ansi" "^6.0.1" - "uuid" "^8.3.2" - -"ms@^2.1.1", "ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"ms@2.1.3": - "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - "version" "2.1.3" - -"nanoid@3.3.3": - "integrity" "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz" - "version" "3.3.3" - -"natural-compare@^1.4.0": - "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - "version" "1.4.0" - -"node-fetch@^2.6.12": - "integrity" "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz" - "version" "2.6.12" - dependencies: - "whatwg-url" "^5.0.0" - -"node-xlsx@^0.21.0": - "integrity" "sha512-Hx/AQ+IEoNgiq8rjEOPtvv3F+KZ5iHZLmEO5Cf7oB6mrpzXsaLNTQvyZvJ3sEOMQ2HfGXwyks18ZVTI6+WmuQA==" - "resolved" "https://registry.npmjs.org/node-xlsx/-/node-xlsx-0.21.2.tgz" - "version" "0.21.2" - dependencies: - "xlsx" "^0.17.4" - -"normalize-path@^3.0.0", "normalize-path@~3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"npm-run-path@^4.0.0": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"oauth-sign@~0.9.0": - "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" - "version" "0.9.0" - -"object-assign@^4.1.1": - "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-inspect@^1.9.0": - "integrity" "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" - "version" "1.12.3" - -"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": - "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"onetime@^5.1.0": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "mimic-fn" "^2.1.0" - -"opener@^1.5.2": - "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" - "version" "1.5.2" - -"optionator@^0.9.1": - "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - "version" "0.9.1" - dependencies: - "deep-is" "^0.1.3" - "fast-levenshtein" "^2.0.6" - "levn" "^0.4.1" - "prelude-ls" "^1.2.1" - "type-check" "^0.4.0" - "word-wrap" "^1.2.3" - -"os-homedir@^1.0.1": - "integrity" "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" - "resolved" "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - "version" "1.0.2" - -"ospath@^1.2.2": - "integrity" "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==" - "resolved" "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz" - "version" "1.2.2" - -"p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "p-try" "^2.0.0" - -"p-limit@^3.0.2": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "yocto-queue" "^0.1.0" - -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "p-limit" "^2.2.0" - -"p-locate@^5.0.0": - "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-limit" "^3.0.2" - -"p-map@^4.0.0": - "integrity" "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==" - "resolved" "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "aggregate-error" "^3.0.0" - -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" - -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "callsites" "^3.0.0" - -"parse-passwd@^1.0.0": - "integrity" "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==" - "resolved" "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" - "version" "1.0.0" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-key@^3.0.0", "path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"pend@~1.2.0": - "integrity" "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - "resolved" "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" - "version" "1.2.0" - -"performance-now@^2.1.0": - "integrity" "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - "version" "2.1.0" - -"picomatch@^2.0.4", "picomatch@^2.2.1": - "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - "version" "2.3.1" - -"pify@^2.2.0": - "integrity" "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - "version" "2.3.0" - -"prelude-ls@^1.2.1": - "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - "version" "1.2.1" - -"pretty-bytes@^5.6.0": - "integrity" "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" - "resolved" "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" - "version" "5.6.0" - -"printj@~1.1.0": - "integrity" "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" - "resolved" "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz" - "version" "1.1.2" - -"process-nextick-args@~2.0.0": - "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - "version" "2.0.1" - -"process@^0.11.10": - "integrity" "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - "version" "0.11.10" - -"prop-types@^15.7.2": - "integrity" "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==" - "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" - "version" "15.8.1" - dependencies: - "loose-envify" "^1.4.0" - "object-assign" "^4.1.1" - "react-is" "^16.13.1" - -"proxy-from-env@^1.1.0": - "integrity" "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - "resolved" "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" - "version" "1.1.0" - -"proxy-from-env@1.0.0": - "integrity" "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==" - "resolved" "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz" - "version" "1.0.0" - -"psl@^1.1.28", "psl@^1.1.33": - "integrity" "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - "resolved" "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" - "version" "1.9.0" - -"pump@^3.0.0": - "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" - "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"punycode@^2.1.0", "punycode@^2.1.1": - "integrity" "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - "version" "2.3.0" - -"qs@~6.5.2": - "integrity" "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" - "version" "6.5.3" - -"qs@6.10.4": - "integrity" "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz" - "version" "6.10.4" - dependencies: - "side-channel" "^1.0.4" - -"querystringify@^2.1.1": - "integrity" "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - "resolved" "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" - "version" "2.2.0" - -"queue-microtask@^1.2.2": - "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - "version" "1.2.3" - -"quickchart-js@^3.1.2": - "integrity" "sha512-UnKsrdfoC7sRNIIEA6VJn9zzrJXmN/hU6hb83VmjnSSOkOmQbUqdN4z+PhpGgzRHIOCbb1jwgvo7YZLrQMzfGw==" - "resolved" "https://registry.npmjs.org/quickchart-js/-/quickchart-js-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "cross-fetch" "^3.1.5" - "javascript-stringify" "^2.1.0" - -"rambda@^7.1.0": - "integrity" "sha512-A9hihu7dUTLOUCM+I8E61V4kRXnN4DwYeK0DwCBydC1MqNI1PidyAtbtpsJlBBzK4icSctEcCQ1bGcLpBuETUQ==" - "resolved" "https://registry.npmjs.org/rambda/-/rambda-7.4.0.tgz" - "version" "7.4.0" - -"randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"react-is@^16.13.1": - "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - "version" "16.13.1" - -"readable-stream@~2.3.6": - "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - "version" "2.3.8" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readdirp@~3.6.0": - "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "picomatch" "^2.2.1" - -"regexpp@^3.2.0": - "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" - "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - "version" "3.2.0" - -"replace-ext@0.0.1": - "integrity" "sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==" - "resolved" "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz" - "version" "0.0.1" - -"request-progress@^3.0.0": - "integrity" "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==" - "resolved" "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "throttleit" "^1.0.0" - -"request@^2.88.2": - "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==" - "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz" - "version" "2.88.2" - dependencies: - "aws-sign2" "~0.7.0" - "aws4" "^1.8.0" - "caseless" "~0.12.0" - "combined-stream" "~1.0.6" - "extend" "~3.0.2" - "forever-agent" "~0.6.1" - "form-data" "~2.3.2" - "har-validator" "~5.1.3" - "http-signature" "~1.2.0" - "is-typedarray" "~1.0.0" - "isstream" "~0.1.2" - "json-stringify-safe" "~5.0.1" - "mime-types" "~2.1.19" - "oauth-sign" "~0.9.0" - "performance-now" "^2.1.0" - "qs" "~6.5.2" - "safe-buffer" "^5.1.2" - "tough-cookie" "~2.5.0" - "tunnel-agent" "^0.6.0" - "uuid" "^3.3.2" - -"require-directory@^2.1.1": - "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"require-main-filename@^2.0.0": - "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - "version" "2.0.0" - -"requires-port@^1.0.0": - "integrity" "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - "version" "1.0.0" - -"resolve-dir@^0.1.0": - "integrity" "sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==" - "resolved" "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "expand-tilde" "^1.2.2" - "global-modules" "^0.2.3" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"restore-cursor@^3.1.0": - "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" - "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "onetime" "^5.1.0" - "signal-exit" "^3.0.2" - -"reusify@^1.0.4": - "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - "version" "1.0.4" - -"rfdc@^1.3.0": - "integrity" "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" - "resolved" "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" - "version" "1.3.0" - -"rimraf@^3.0.0", "rimraf@^3.0.2": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "glob" "^7.1.3" - -"run-parallel@^1.1.9": - "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" - "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "queue-microtask" "^1.2.2" - -"rxjs@^7.5.1": - "integrity" "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz" - "version" "7.8.0" - dependencies: - "tslib" "^2.1.0" - -"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.2": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"safe-buffer@~5.1.0": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"safe-buffer@~5.1.1": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@~2.1.0": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" - -"semver@^7.5.3": - "integrity" "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - "version" "7.5.4" - dependencies: - "lru-cache" "^6.0.0" - -"serialize-javascript@6.0.0": - "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "randombytes" "^2.1.0" - -"set-blocking@^2.0.0": - "integrity" "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - "version" "2.0.0" - -"set-getter@^0.1.0": - "integrity" "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==" - "resolved" "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "to-object-path" "^0.3.0" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"side-channel@^1.0.4": - "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" - "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.0" - "get-intrinsic" "^1.0.2" - "object-inspect" "^1.9.0" - -"signal-exit@^3.0.2": - "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - "version" "3.0.7" - -"slice-ansi@^3.0.0": - "integrity" "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "astral-regex" "^2.0.0" - "is-fullwidth-code-point" "^3.0.0" - -"slice-ansi@^4.0.0": - "integrity" "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "astral-regex" "^2.0.0" - "is-fullwidth-code-point" "^3.0.0" - -"ssf@~0.11.2": - "integrity" "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==" - "resolved" "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz" - "version" "0.11.2" - dependencies: - "frac" "~1.1.2" - -"sshpk@^1.14.1", "sshpk@^1.7.0": - "integrity" "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==" - "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz" - "version" "1.17.0" - dependencies: - "asn1" "~0.2.3" - "assert-plus" "^1.0.0" - "bcrypt-pbkdf" "^1.0.0" - "dashdash" "^1.12.0" - "ecc-jsbn" "~0.1.1" - "getpass" "^0.1.1" - "jsbn" "~0.1.0" - "safer-buffer" "^2.0.2" - "tweetnacl" "~0.14.0" - -"string_decoder@~1.1.1": - "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "safe-buffer" "~5.1.0" - -"string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.3": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" - -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "ansi-regex" "^5.0.1" - -"strip-bom-buffer@^0.1.1": - "integrity" "sha512-dbIOX/cOLFgLH/2ofd7n78uPD3uPkXyt3P1IgaVoGiPYEdOnb7D1mawyhOTXyYWva1kCuRxJY5FkMsVKYlZRRg==" - "resolved" "https://registry.npmjs.org/strip-bom-buffer/-/strip-bom-buffer-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "is-buffer" "^1.1.0" - "is-utf8" "^0.2.0" - -"strip-bom-string@^0.1.2": - "integrity" "sha512-3DgNqQFTfOwWgxn3cXsa6h/WRgFa7dVb6/7YqwfJlBpLSSQbiU1VhaBNRKmtLI59CHjc9awLp9yGJREu7AnaMQ==" - "resolved" "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-0.1.2.tgz" - "version" "0.1.2" - -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" - -"strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1", "strip-json-comments@3.1.1": - "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - "version" "3.1.1" - -"success-symbol@^0.1.0": - "integrity" "sha512-7S6uOTxPklNGxOSbDIg4KlVLBQw1UiGVyfCUYgYxrZUKRblUkmGj7r8xlfQoFudvqLv6Ap5gd76/IIFfI9JG2A==" - "resolved" "https://registry.npmjs.org/success-symbol/-/success-symbol-0.1.0.tgz" - "version" "0.1.0" - -"supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^8.1.1", "supports-color@8.1.1": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "has-flag" "^4.0.0" - -"tcomb-validation@^3.3.0": - "integrity" "sha512-urVVMQOma4RXwiVCa2nM2eqrAomHROHvWPuj6UkDGz/eb5kcy0x6P0dVt6kzpUZtYMNoAqJLWmz1BPtxrtjtrA==" - "resolved" "https://registry.npmjs.org/tcomb-validation/-/tcomb-validation-3.4.1.tgz" - "version" "3.4.1" - dependencies: - "tcomb" "^3.0.0" - -"tcomb@^3.0.0", "tcomb@^3.2.17": - "integrity" "sha512-di2Hd1DB2Zfw6StGv861JoAF5h/uQVu/QJp2g8KVbtfKnoHdBQl5M32YWq6mnSYBQ1vFFrns5B1haWJL7rKaOQ==" - "resolved" "https://registry.npmjs.org/tcomb/-/tcomb-3.2.29.tgz" - "version" "3.2.29" - -"text-table@^0.2.0": - "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" - -"throttleit@^1.0.0": - "integrity" "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==" - "resolved" "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz" - "version" "1.0.0" - -"through@^2.3.8": - "integrity" "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - "version" "2.3.8" - -"through2@^2.0.0", "through2@^2.0.1": - "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" - "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "readable-stream" "~2.3.6" - "xtend" "~4.0.1" - -"tmp@~0.2.1": - "integrity" "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==" - "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "rimraf" "^3.0.0" - -"to-file@^0.2.0": - "integrity" "sha512-xLyYVRKJQTwy2tKMOLD0M0yL+YSZVgMAzkaY9hh7GhzgBBHSIWARDkgPx8krPPm0mW5CgoIFsQEdKRFOyIRdqg==" - "resolved" "https://registry.npmjs.org/to-file/-/to-file-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "file-contents" "^0.2.4" - "glob-parent" "^2.0.0" - "is-valid-glob" "^0.3.0" - "isobject" "^2.1.0" - "lazy-cache" "^2.0.1" - "vinyl" "^1.1.1" - -"to-object-path@^0.3.0": - "integrity" "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==" - "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "kind-of" "^3.0.2" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"tough-cookie@^4.1.3": - "integrity" "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==" - "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz" - "version" "4.1.3" - dependencies: - "psl" "^1.1.33" - "punycode" "^2.1.1" - "universalify" "^0.2.0" - "url-parse" "^1.5.3" - -"tough-cookie@~2.5.0": - "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" - "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" - "version" "2.5.0" - dependencies: - "psl" "^1.1.28" - "punycode" "^2.1.1" - -"tr46@~0.0.3": - "integrity" "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - "version" "0.0.3" - -"tslib@^2.1.0": - "integrity" "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" - "version" "2.5.0" - -"tunnel-agent@^0.6.0": - "integrity" "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==" - "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "safe-buffer" "^5.0.1" - -"tweetnacl@^0.14.3", "tweetnacl@~0.14.0": - "integrity" "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - "version" "0.14.5" - -"type-check@^0.4.0", "type-check@~0.4.0": - "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "prelude-ls" "^1.2.1" - -"type-fest@^0.20.2": - "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - "version" "0.20.2" - -"type-fest@^0.21.3": - "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - "version" "0.21.3" - -"unc-path-regex@^0.1.0": - "integrity" "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==" - "resolved" "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" - "version" "0.1.2" - -"universalify@^0.1.0": - "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - "version" "0.1.2" - -"universalify@^0.2.0": - "integrity" "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" - "version" "0.2.0" - -"universalify@^2.0.0": - "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - "version" "2.0.0" - -"untildify@^4.0.0": - "integrity" "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" - "resolved" "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" - "version" "4.0.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"url-parse@^1.5.3": - "integrity" "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==" - "resolved" "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" - "version" "1.5.10" - dependencies: - "querystringify" "^2.1.1" - "requires-port" "^1.0.0" - -"util-deprecate@~1.0.1": - "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"uuid@^3.3.2": - "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - "version" "3.4.0" - -"uuid@^8.3.2": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"validator@^13.6.0": - "integrity" "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==" - "resolved" "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz" - "version" "13.9.0" - -"verror@1.10.0": - "integrity" "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==" - "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - "version" "1.10.0" - dependencies: - "assert-plus" "^1.0.0" - "core-util-is" "1.0.2" - "extsprintf" "^1.2.0" - -"vinyl@^1.1.1": - "integrity" "sha512-Ci3wnR2uuSAWFMSglZuB8Z2apBdtOyz8CV7dC6/U1XbltXBC+IuutUkXQISz01P+US2ouBuesSbV6zILZ6BuzQ==" - "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "clone" "^1.0.0" - "clone-stats" "^0.0.1" - "replace-ext" "0.0.1" - -"webidl-conversions@^3.0.0": - "integrity" "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - "version" "3.0.1" - -"whatwg-url@^5.0.0": - "integrity" "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "tr46" "~0.0.3" - "webidl-conversions" "^3.0.0" - -"which-module@^2.0.0": - "integrity" "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" - "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" - "version" "2.0.1" - -"which@^1.2.12": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"wmf@~1.0.1": - "integrity" "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" - "resolved" "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz" - "version" "1.0.2" - -"word-wrap@^1.2.3": - "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - "version" "1.2.3" - -"word@~0.3.0": - "integrity" "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" - "resolved" "https://registry.npmjs.org/word/-/word-0.3.0.tgz" - "version" "0.3.0" - -"workerpool@6.2.1": - "integrity" "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" - "resolved" "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz" - "version" "6.2.1" - -"wrap-ansi@^6.2.0": - "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"xlsx@^0.17.4": - "integrity" "sha512-lXNU0TuYsvElzvtI6O7WIVb9Zar1XYw7Xb3VAx2wn8N/n0whBYrCnHMxtFyIiUU1Wjf09WzmLALDfBO5PqTb1g==" - "resolved" "https://registry.npmjs.org/xlsx/-/xlsx-0.17.5.tgz" - "version" "0.17.5" - dependencies: - "adler-32" "~1.2.0" - "cfb" "^1.1.4" - "codepage" "~1.15.0" - "crc-32" "~1.2.0" - "ssf" "~0.11.2" - "wmf" "~1.0.1" - "word" "~0.3.0" - -"xml@^1.0.1": - "integrity" "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==" - "resolved" "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz" - "version" "1.0.1" - -"xtend@~4.0.1": - "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - "version" "4.0.2" - -"y18n@^4.0.0": - "integrity" "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - "version" "4.0.3" - -"y18n@^5.0.5": - "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - "version" "5.0.8" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yargs-parser@^18.1.2": - "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" - "version" "18.1.3" - dependencies: - "camelcase" "^5.0.0" - "decamelize" "^1.2.0" - -"yargs-parser@^20.2.2", "yargs-parser@20.2.4": - "integrity" "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" - "version" "20.2.4" - -"yargs-parser@^21.1.1": - "integrity" "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - "version" "21.1.1" - -"yargs-unparser@2.0.0": - "integrity" "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==" - "resolved" "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "camelcase" "^6.0.0" - "decamelize" "^4.0.0" - "flat" "^5.0.2" - "is-plain-obj" "^2.1.0" - -"yargs@^15.3.1": - "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" - "version" "15.4.1" - dependencies: - "cliui" "^6.0.0" - "decamelize" "^1.2.0" - "find-up" "^4.1.0" - "get-caller-file" "^2.0.1" - "require-directory" "^2.1.1" - "require-main-filename" "^2.0.0" - "set-blocking" "^2.0.0" - "string-width" "^4.2.0" - "which-module" "^2.0.0" - "y18n" "^4.0.0" - "yargs-parser" "^18.1.2" - -"yargs@^17.2.1": - "integrity" "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - "version" "17.7.2" - dependencies: - "cliui" "^8.0.1" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.3" - "y18n" "^5.0.5" - "yargs-parser" "^21.1.1" - -"yargs@16.2.0": - "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - "version" "16.2.0" - dependencies: - "cliui" "^7.0.2" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.0" - "y18n" "^5.0.5" - "yargs-parser" "^20.2.2" - -"yauzl@^2.10.0": - "integrity" "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==" - "resolved" "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" - "version" "2.10.0" - dependencies: - "buffer-crc32" "~0.2.3" - "fd-slicer" "~1.1.0" - -"yocto-queue@^0.1.0": - "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - "version" "0.1.0" diff --git a/deployment/docker-compose.cy.yml b/deployment/docker-compose.cy.yml deleted file mode 100644 index 311e2522fd..0000000000 --- a/deployment/docker-compose.cy.yml +++ /dev/null @@ -1,126 +0,0 @@ -version: '3.7' -x-django-envs: &django_envs - environment: - - ENV=dev - - DEBUG=true - - SECRET_KEY=31283012-38dasda - - POSTGRES_DB=postgres - - POSTGRES_USER=postgres - - POSTGRES_PASSWORD=postgres - - DATABASE_URL=postgis://postgres:postgres@db:5432/postgres - - DATABASE_URL_HUB_MIS=postgis://postgres:postgres@mis_datahub_db:5432/postgres - - DATABASE_URL_HUB_CA=postgis://postgres:postgres@cash_assist_datahub_db:5432/postgres - - DATABASE_URL_HUB_ERP=postgis://postgres:postgres@erp_datahub_db:5432/postgres - - DATABASE_URL_HUB_REGISTRATION=postgis://postgres:postgres@registration_datahub_db:5432/postgres - - POSTGRES_SSL_MODE=off - - EMAIL_HOST=TBD - - EMAIL_HOST_USER=TBD - - EMAIL_HOST_PASSWORD=TBD - - KOBO_KF_URL=https://kobo.humanitarianresponse.info - - KOBO_KC_URL=https://kobo.humanitarianresponse.info - - KOBO_MASTER_API_TOKEN=token - - EXCHANGE_RATES_API_KEY=token - - REDIS_INSTANCE=redis:6379 - - PYTHONUNBUFFERED=1 - - CYPRESS_TESTING=yes - - DJANGO_ALLOWED_HOSTS=* - - SESSION_COOKIE_SECURE=false - - SESSION_COOKIE_HTTPONLY=true - - CSRF_COOKIE_HTTPONLY=false - - CSRF_COOKIE_SECURE=false - - SECURE_CONTENT_TYPE_NOSNIFF=true - - SECURE_REFERRER_POLICY=same-origin - - SECURE_HSTS_SECONDS=0 - -volumes: - backend-data: - -services: - cypress: - image: ${CYPRESS_IMAGE} - command: "ci-test" - depends_on: - - proxy - - celery_worker - environment: - - BRANCH_NAME=${BRANCH_NAME} - - BUILD_ID=${BUILD_ID} - volumes: - - ../cypress-results:/code/cypress/results - - ../cypress-reports:/code/cypress/reports - - proxy: - image: tivix/docker-nginx:v17 - environment: - - UPSTREAMS=/:backend:8000 - ports: - - "8082:80" - depends_on: - - backend - - redis: - restart: unless-stopped - image: redis:4.0.11-alpine3.8 - - backend: - <<: *django_envs - image: ${BACKEND_IMAGE} - command: "cy" - volumes: - - backend-data:/data - - depends_on: - - db - - redis - - cash_assist_datahub_db - - mis_datahub_db - - erp_datahub_db - - registration_datahub_db - - elasticsearch - - cash_assist_datahub_db: - image: postgis/postgis:14-3.3-alpine - <<: *django_envs - - mis_datahub_db: - image: postgis/postgis:14-3.3-alpine - <<: *django_envs - - erp_datahub_db: - image: postgis/postgis:14-3.3-alpine - <<: *django_envs - - registration_datahub_db: - image: postgis/postgis:14-3.3-alpine - <<: *django_envs - - db: - image: postgis/postgis:14-3.3-alpine - <<: *django_envs - - celery_worker: - <<: *django_envs - image: ${BACKEND_IMAGE} - restart: unless-stopped - command: "celery -A hct_mis_api.apps.core.celery worker -E -l info" - volumes: - - backend-data:/data - depends_on: - - backend - - elasticsearch: - <<: *django_envs - image: unicef/hct-elasticsearch - build: - context: ../elasticsearch - environment: - - node.name=es01 - - cluster.name=es-docker-cluster - - cluster.initial_master_nodes=es01 - - bootstrap.memory_lock=true - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - - xpack.security.enabled=false - ulimits: - memlock: - soft: -1 - hard: -1 diff --git a/deployment/docker-compose.selenium-night.yml b/deployment/docker-compose.selenium-night.yml deleted file mode 100644 index 7d17e14278..0000000000 --- a/deployment/docker-compose.selenium-night.yml +++ /dev/null @@ -1,98 +0,0 @@ -version: '3.7' -volumes: - backend-web-app: -services: - selenium: - stdin_open: true - environment: - - REDIS_INSTANCE=redis:6379 - - PYTHONUNBUFFERED=1 - - SECRET_KEY=secretkey - - ENV=dev - - DEBUG=true - - CELERY_BROKER_URL=redis://redis:6379/0 - - CELERY_RESULT_BACKEND=redis://redis:6379/0 - - CACHE_LOCATION=redis://redis:6379/1 - - DATABASE_URL=postgis://postgres:postgres@db:5432/postgres - - DATABASE_URL_HUB_MIS=postgis://postgres:postgres@db:5432/mis_datahub - - DATABASE_URL_HUB_CA=postgis://postgres:postgres@db:5432/ca_datahub - - DATABASE_URL_HUB_ERP=postgis://postgres:postgres@db:5432/erp_datahub - - DATABASE_URL_HUB_REGISTRATION=postgis://postgres:postgres@db:5432/rdi_datahub - - USE_DUMMY_EXCHANGE_RATES=yes - - CELERY_TASK_ALWAYS_EAGER=true - image: ${dev_backend_image} - volumes: - - ../backend:/code/ - - ../backend/report/screenshot/:/code/screenshot/ - - ../backend/report/:/code/report/ - - type: volume - source: backend-web-app - target: /code/hct_mis_api/apps/web - volume: - nocopy: false - command: | - bash -c " - waitforit -host=db -port=5432 -timeout=30 - pytest -svvv selenium_tests --cov-report xml:./coverage.xml --html-report=./report/report.html --randomly-seed=42 - " - depends_on: - db: - condition: service_started - redis: - condition: service_started - elasticsearch: - condition: service_started - init_fe: - condition: service_completed_successfully - - init_fe: - image: ${dist_backend_image} - volumes: - - backend-web-app:/tmp/ - command: | - sh -c " - cp -r ./hct_mis_api/apps/web/* /tmp/ - " - restart: "no" - - - redis: - restart: always - image: redis:4.0.11-alpine3.8 - expose: - - "6379" - - db: - image: kartoza/postgis:14-3 - volumes: - - ./postgres/init:/docker-entrypoint-initdb.d - environment: - - POSTGRES_MULTIPLE_DATABASES=unicef_hct_mis_cashassist,rdi_datahub,mis_datahub,erp_datahub,ca_datahub - - POSTGRES_DB=postgres - - POSTGRES_USER=postgres - - POSTGRES_PASS=postgres - - PGUSER=postgres - - POSTGRES_HOST_AUTH_METHOD=trust - - POSTGRES_SSL_MODE=off - ports: - - "5433:5432" - - elasticsearch: - image: unicef/hct-elasticsearch - container_name: elasticsearch - build: - context: ../elasticsearch - dockerfile: Dockerfile - environment: - - node.name=es01 - - cluster.name=es-docker-cluster - - cluster.initial_master_nodes=es01 - - bootstrap.memory_lock=true - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - - xpack.security.enabled=false - ulimits: - memlock: - soft: -1 - hard: -1 - ports: - - 9200:9200 diff --git a/deployment/docker-compose.selenium.yml b/deployment/docker-compose.selenium.yml deleted file mode 100644 index c7ab7ae1d6..0000000000 --- a/deployment/docker-compose.selenium.yml +++ /dev/null @@ -1,98 +0,0 @@ -version: '3.7' -volumes: - backend-web-app: -services: - selenium: - stdin_open: true - environment: - - REDIS_INSTANCE=redis:6379 - - PYTHONUNBUFFERED=1 - - SECRET_KEY=secretkey - - ENV=dev - - DEBUG=true - - CELERY_BROKER_URL=redis://redis:6379/0 - - CELERY_RESULT_BACKEND=redis://redis:6379/0 - - CACHE_LOCATION=redis://redis:6379/1 - - DATABASE_URL=postgis://postgres:postgres@db:5432/postgres - - DATABASE_URL_HUB_MIS=postgis://postgres:postgres@db:5432/mis_datahub - - DATABASE_URL_HUB_CA=postgis://postgres:postgres@db:5432/ca_datahub - - DATABASE_URL_HUB_ERP=postgis://postgres:postgres@db:5432/erp_datahub - - DATABASE_URL_HUB_REGISTRATION=postgis://postgres:postgres@db:5432/rdi_datahub - - USE_DUMMY_EXCHANGE_RATES=yes - - CELERY_TASK_ALWAYS_EAGER=true - image: ${dev_backend_image} - volumes: - - ../backend:/code/ - - ../backend/report/screenshot/:/code/screenshot/ - - ../backend/report/:/code/report/ - - type: volume - source: backend-web-app - target: /code/hct_mis_api/apps/web - volume: - nocopy: false - command: | - bash -c " - waitforit -host=db -port=5432 -timeout=30 - pytest -svvv -m 'not night' selenium_tests --cov-report xml:./coverage.xml --html-report=./report/report.html --randomly-seed=42 - " - depends_on: - db: - condition: service_started - redis: - condition: service_started - elasticsearch: - condition: service_started - init_fe: - condition: service_completed_successfully - - init_fe: - image: ${dist_backend_image} - volumes: - - backend-web-app:/tmp/ - command: | - sh -c " - cp -r ./hct_mis_api/apps/web/* /tmp/ - " - restart: "no" - - - redis: - restart: always - image: redis:4.0.11-alpine3.8 - expose: - - "6379" - - db: - image: kartoza/postgis:14-3 - volumes: - - ./postgres/init:/docker-entrypoint-initdb.d - environment: - - POSTGRES_MULTIPLE_DATABASES=unicef_hct_mis_cashassist,rdi_datahub,mis_datahub,erp_datahub,ca_datahub - - POSTGRES_DB=postgres - - POSTGRES_USER=postgres - - POSTGRES_PASS=postgres - - PGUSER=postgres - - POSTGRES_HOST_AUTH_METHOD=trust - - POSTGRES_SSL_MODE=off - ports: - - "5433:5432" - - elasticsearch: - image: unicef/hct-elasticsearch - container_name: elasticsearch - build: - context: ../elasticsearch - dockerfile: Dockerfile - environment: - - node.name=es01 - - cluster.name=es-docker-cluster - - cluster.initial_master_nodes=es01 - - bootstrap.memory_lock=true - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - - xpack.security.enabled=false - ulimits: - memlock: - soft: -1 - hard: -1 - ports: - - 9200:9200 diff --git a/deployment/docker-compose.tst.yml b/deployment/docker-compose.tst.yml deleted file mode 100644 index 8efe213560..0000000000 --- a/deployment/docker-compose.tst.yml +++ /dev/null @@ -1,83 +0,0 @@ -version: '3.7' -x-django-envs: &django_envs - environment: - - ENV=dev - - SECRET_KEY=31283012-38dasda - - POSTGRES_DB=postgres - - POSTGRES_USER=postgres - - POSTGRES_PASSWORD=postgres - - DATABASE_URL=postgis://postgres:postgres@db:5432/postgres - - DATABASE_URL_HUB_MIS=postgis://postgres:postgres@db:5432/mis_datahub - - DATABASE_URL_HUB_CA=postgis://postgres:postgres@db:5432/ca_datahub - - DATABASE_URL_HUB_ERP=postgis://postgres:postgres@db:5432/erp_datahub - - DATABASE_URL_HUB_REGISTRATION=postgis://postgres:postgres@db:5432/rdi_datahub - - POSTGRES_SSL_MODE=off - - EMAIL_HOST=TBD - - EMAIL_HOST_USER=TBD - - EMAIL_HOST_PASSWORD=TBD - - KOBO_KF_URL=https://kobo.humanitarianresponse.info - - KOBO_KC_URL=https://kobo.humanitarianresponse.info - - KOBO_MASTER_API_TOKEN=token - - EXCHANGE_RATES_API_KEY=token - - REDIS_INSTANCE=redis:6379 - - PYTHONUNBUFFERED=1 - -services: - redis: - restart: unless-stopped - image: redis:4.0.11-alpine3.8 - - backend: - <<: *django_envs - image: ${backend_image} - command: "test" - volumes: - - ../backend:/code/ - - ../backend/test-coverage:/code/backend/test-coverage - depends_on: - - db - - redis - - elasticsearch - - db: - image: kartoza/postgis:14-3 - volumes: - - ../postgres/init:/docker-entrypoint-initdb.d - environment: - - POSTGRES_MULTIPLE_DATABASES=unicef_hct_mis_cashassist,rdi_datahub,mis_datahub,erp_datahub,ca_datahub - - POSTGRES_DB=postgres - - POSTGRES_USER=postgres - - POSTGRES_PASS=postgres - - PGUSER=postgres - - POSTGRES_HOST_AUTH_METHOD=trust - - POSTGRES_SSL_MODE=off - ports: - - "5433:5432" - - celery_worker: - <<: *django_envs - image: ${backend_image} - restart: unless-stopped - command: "celery -A hct_mis_api.apps.core.celery worker -E -l info" - depends_on: - - backend - - db - - redis - - elasticsearch - - elasticsearch: - <<: *django_envs - image: unicef/hct-elasticsearch - build: - context: ../elasticsearch - environment: - - node.name=es01 - - cluster.name=es-docker-cluster - - cluster.initial_master_nodes=es01 - - bootstrap.memory_lock=true - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - - xpack.security.enabled=false - ulimits: - memlock: - soft: -1 - hard: -1 diff --git a/.env.example b/development_tools/.env.example similarity index 100% rename from .env.example rename to development_tools/.env.example diff --git a/compose.yml b/development_tools/compose.yml similarity index 74% rename from compose.yml rename to development_tools/compose.yml index ff90608ba6..9f3b6c1716 100644 --- a/compose.yml +++ b/development_tools/compose.yml @@ -1,5 +1,3 @@ -version: '3.7' - volumes: backend-data: db: @@ -8,37 +6,30 @@ volumes: services: - redis: - restart: always - image: redis:4.0.11-alpine3.8 - expose: - - "6379" - healthcheck: - test: ["CMD", "redis-cli", "ping"] - interval: 10s - timeout: 10s - retries: 5 backend: - stdin_open: true - entrypoint: entrypoint.sh image: unicef/hct-mis-backend + profiles: + - default + entrypoint: entrypoint.sh + stdin_open: true env_file: - .env environment: - REDIS_INSTANCE=redis:6379 - PYTHONUNBUFFERED=1 build: - context: ./ - dockerfile: docker/Dockerfile + context: .. + dockerfile: ./docker/Dockerfile target: dev ports: - "8080:8000" volumes: - - ./backend:/code/ + - ../src:/code/ + - ../tests:/tests/ - backend-data:/data - - ./backend/pyproject.toml:/packages/pyproject.toml - - ./backend/pdm.lock:/packages/pdm.lock + - ../src/pyproject.toml:/packages/pyproject.toml + - ../src/pdm.lock:/packages/pdm.lock - ipython_data_local:/root/.ipython command: "dev" depends_on: @@ -64,6 +55,8 @@ services: retries: 10 celery_worker: + profiles: + - default stdin_open: true tty: true image: unicef/hct-mis-backend @@ -72,9 +65,8 @@ services: environment: - REDIS_INSTANCE=redis:6379 volumes: - - ./backend:/code/ + - ../src:/code/ - backend-data:/data - restart: always command: "celery-worker" depends_on: backend: @@ -86,12 +78,14 @@ services: elasticsearch: condition: service_healthy healthcheck: - test: ["CMD", "celery", "status"] + test: [ "CMD", "celery", "status" ] interval: 10s timeout: 10s retries: 5 celery-beat: + profiles: + - default stdin_open: true tty: true image: unicef/hct-mis-backend @@ -100,9 +94,8 @@ services: environment: - REDIS_INSTANCE=redis:6379 volumes: - - ./backend:/code/ + - ../src:/code/ - backend-data:/data - restart: always command: "celery-beat" depends_on: backend: @@ -114,13 +107,16 @@ services: elasticsearch: condition: service_healthy healthcheck: - test: ["CMD", "celery", "status"] + test: [ "CMD", "celery", "status" ] interval: 10s timeout: 10s retries: 5 db: image: kartoza/postgis:14-3 + profiles: + - default + - services volumes: - db:/var/lib/postgresql/data - ./postgres/init:/docker-entrypoint-initdb.d @@ -131,17 +127,34 @@ services: ports: - "5433:5432" healthcheck: - test: ["CMD-SHELL", "pg_isready -U postgres"] + test: [ "CMD-SHELL", "pg_isready -U postgres" ] + interval: 10s + timeout: 10s + retries: 5 + + + redis: + image: redis:4.0.11-alpine3.8 + profiles: + - default + - services + expose: + - "6379" + healthcheck: + test: [ "CMD", "redis-cli", "ping" ] interval: 10s timeout: 10s retries: 5 elasticsearch: image: unicef/hct-elasticsearch + profiles: + - default + - services container_name: elasticsearch build: context: elasticsearch - dockerfile: Dockerfile + dockerfile: ./Dockerfile environment: - node.name=es01 - cluster.name=es-docker-cluster @@ -158,7 +171,21 @@ services: ports: - 9200:9200 healthcheck: - test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"] + test: [ "CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1" ] interval: 10s timeout: 10s retries: 3 + + celery-flower: + image: johniak/flower:1.6 + profiles: + - default + command: [ "flower", "--broker=redis://redis:6379/0", "--port=5555" ] + environment: + - FLOWER_AUTH_PROVIDER="" + - FLOWER_DEBUG="1" + - FLOWER_ADDRESS=0.0.0.0 + ports: + - "5555:5555" + depends_on: + - redis diff --git a/elasticsearch/Dockerfile b/development_tools/elasticsearch/Dockerfile similarity index 100% rename from elasticsearch/Dockerfile rename to development_tools/elasticsearch/Dockerfile diff --git a/local_selenium_env.sh b/development_tools/local_selenium_env.sh similarity index 100% rename from local_selenium_env.sh rename to development_tools/local_selenium_env.sh diff --git a/postgres/init/init-multiple-db.sh b/development_tools/postgres/init/init-multiple-db.sh similarity index 100% rename from postgres/init/init-multiple-db.sh rename to development_tools/postgres/init/init-multiple-db.sh diff --git a/docker-compose.cy.yml b/docker-compose.cy.yml deleted file mode 100644 index 95cc37ce69..0000000000 --- a/docker-compose.cy.yml +++ /dev/null @@ -1,135 +0,0 @@ -version: '3.7' -x-django-envs: &django_envs - environment: - - ENV=dev - - DEBUG=true - - SECRET_KEY=31283012-38dasda - - POSTGRES_DB=postgres - - POSTGRES_USER=postgres - - POSTGRES_PASSWORD=postgres - - DATABASE_URL=postgis://postgres:postgres@db:5432/postgres - - DATABASE_URL_HUB_MIS=postgis://postgres:postgres@mis_datahub_db:5432/postgres - - DATABASE_URL_HUB_CA=postgis://postgres:postgres@cash_assist_datahub_db:5432/postgres - - DATABASE_URL_HUB_ERP=postgis://postgres:postgres@erp_datahub_db:5432/postgres - - DATABASE_URL_HUB_REGISTRATION=postgis://postgres:postgres@registration_datahub_db:5432/postgres - - POSTGRES_SSL_MODE=off - - EMAIL_HOST=TBD - - EMAIL_HOST_USER=TBD - - EMAIL_HOST_PASSWORD=TBD - - KOBO_KF_URL=https://kobo.humanitarianresponse.info - - KOBO_KC_URL=https://kobo.humanitarianresponse.info - - KOBO_MASTER_API_TOKEN=token - - EXCHANGE_RATES_API_KEY=token - - REDIS_INSTANCE=redis:6379 - - PYTHONUNBUFFERED=1 - - CYPRESS_TESTING=yes - - DJANGO_ALLOWED_HOSTS=* - - SESSION_COOKIE_SECURE=false - - SESSION_COOKIE_HTTPONLY=true - - CSRF_COOKIE_HTTPONLY=false - - CSRF_COOKIE_SECURE=false - - SECURE_CONTENT_TYPE_NOSNIFF=true - - SECURE_REFERRER_POLICY=same-origin - - SECURE_HSTS_SECONDS=0 - -volumes: - backend-data: - -services: - cypress: - build: - context: ./cypress - dockerfile: Dockerfile - command: "ci-test" - depends_on: - - proxy - - celery_worker - environment: - - BRANCH_NAME=${BRANCH_NAME} - - BUILD_ID=${BUILD_ID} - volumes: - - ./cypress-results:/code/cypress/results - - ./cypress-reports:/code/cypress/reports - - - proxy: - image: tivix/docker-nginx:v17 - environment: - - UPSTREAMS=/:backend:8000 - ports: - - "8082:80" - depends_on: - - backend - - redis: - restart: unless-stopped - image: redis:4.0.11-alpine3.8 - - backend: - <<: *django_envs - build: - context: ./ - dockerfile: docker/Dockerfile - command: cy - ports: - - "8000:8000" - volumes: - - backend-data:/data - - depends_on: - - db - - redis - - cash_assist_datahub_db - - mis_datahub_db - - erp_datahub_db - - registration_datahub_db - - elasticsearch - - cash_assist_datahub_db: - image: postgis/postgis:14-3.3-alpine - <<: *django_envs - - mis_datahub_db: - image: postgis/postgis:14-3.3-alpine - <<: *django_envs - - erp_datahub_db: - image: postgis/postgis:14-3.3-alpine - <<: *django_envs - - registration_datahub_db: - image: postgis/postgis:14-3.3-alpine - <<: *django_envs - - db: - image: postgis/postgis:14-3.3-alpine - <<: *django_envs - - celery_worker: - <<: *django_envs - build: - context: ./ - dockerfile: docker/Dockerfile - restart: unless-stopped - command: "celery -A hct_mis_api.apps.core.celery worker -E -l info" - volumes: - - backend-data:/data - depends_on: - - backend - - elasticsearch: - <<: *django_envs - image: unicef/hct-elasticsearch - build: - context: ./elasticsearch - environment: - - node.name=es01 - - cluster.name=es-docker-cluster - - cluster.initial_master_nodes=es01 - - bootstrap.memory_lock=true - - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - - xpack.security.enabled=false - ulimits: - memlock: - soft: -1 - hard: -1 diff --git a/docker-compose.flower.yml b/docker-compose.flower.yml deleted file mode 100644 index 25dae94646..0000000000 --- a/docker-compose.flower.yml +++ /dev/null @@ -1,15 +0,0 @@ -version: '3.7' - -services: - celery-flower: - image: johniak/flower:1.6 - command: ["flower", "--broker=redis://redis:6379/0", "--port=5555"] - environment: - - FLOWER_AUTH_PROVIDER="" - - FLOWER_DEBUG="1" - - FLOWER_ADDRESS=0.0.0.0 - ports: - - "5555:5555" - restart: always - depends_on: - - redis \ No newline at end of file diff --git a/docker-compose.kibana.yml b/docker-compose.kibana.yml deleted file mode 100644 index 9c1d7118be..0000000000 --- a/docker-compose.kibana.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: "3.7" - -services: - kibana: - container_name: kibana - image: docker.elastic.co/kibana/kibana:8.11.0 - restart: always - environment: - - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 - ports: - - 5601:5601 - depends_on: - - elasticsearch diff --git a/docker/Dockerfile b/docker/Dockerfile index 9fc72cf610..c95249d117 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -65,7 +65,7 @@ RUN pip install --upgrade pip &&\ pdm config check_update false WORKDIR $PDM_PACKAGES -COPY backend/pyproject.toml backend/pdm.lock ./ +COPY src/pyproject.toml src/pdm.lock ./ RUN pdm sync --prod --no-editable --no-self --no-isolation # Dev image @@ -86,7 +86,10 @@ RUN apt-get update \ RUN pdm sync --no-editable --no-self --no-isolation WORKDIR $CODE -COPY ./backend ./ +COPY ./src/ ./ +COPY ./tests /tests + + COPY ./docker/entrypoint.sh /bin/ ENTRYPOINT ["entrypoint.sh"] @@ -94,7 +97,7 @@ ENTRYPOINT ["entrypoint.sh"] ## Dist (backend only) image FROM base AS be-dist -COPY --chown=hope:hope ./backend ./ +COPY ./src/ ./ COPY --chown=hope:hope --from=builder $PDM_PACKAGES $PDM_PACKAGES COPY --chown=hope:hope --from=certs /data/psql-cert.crt /code/psql-cert.crt @@ -108,10 +111,10 @@ ENTRYPOINT ["entrypoint.sh"] FROM node:18.19.0-buster-slim AS frontend-builder WORKDIR /fe-build -COPY ./frontend/package.json ./frontend/yarn.lock ./ +COPY ./src/frontend/package.json ./src/frontend/yarn.lock ./ # Network timeout is needed by the cross-platform build RUN yarn install --frozen-lockfile --network-timeout 600000 -COPY ./frontend ./ +COPY ./src/frontend ./ RUN NODE_ENV="production" NODE_OPTIONS="--max-old-space-size=4096" yarn build diff --git a/frontend/data/.gitkeep b/frontend/data/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/frontend/src/components/managerialConsole/PaymentVerificationOverview.tsx b/frontend/src/components/managerialConsole/PaymentVerificationOverview.tsx deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/proxy/Dockerfile b/proxy/Dockerfile deleted file mode 100644 index c8dfccf642..0000000000 --- a/proxy/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -FROM nginx:1.15.6-alpine - -RUN apk update -RUN apk add --upgrade --no-cache py-pip bash -RUN pip install j2cli - -ADD nginx.conf.j2 / -ADD nginx-site.conf.j2 / -ADD docker-entrypoint.sh / -ADD main.sh / - -RUN chmod a+rx /docker-entrypoint.sh -RUN chmod a+rx /main.sh -ENTRYPOINT ["/bin/bash", "/docker-entrypoint.sh"] - -EXPOSE 80 -EXPOSE 443 - -CMD ["/main.sh"] diff --git a/proxy/docker-entrypoint.sh b/proxy/docker-entrypoint.sh deleted file mode 100644 index 378a0ec4e1..0000000000 --- a/proxy/docker-entrypoint.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -e -j2 nginx.conf.j2 > /etc/nginx/nginx.conf -j2 nginx-site.conf.j2 > /etc/nginx/conf.d/default.conf -exec "$@" diff --git a/proxy/main.sh b/proxy/main.sh deleted file mode 100644 index 9f0552abde..0000000000 --- a/proxy/main.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -e -nginx -g "daemon off;" diff --git a/proxy/nginx-site.conf.j2 b/proxy/nginx-site.conf.j2 deleted file mode 100644 index 59b3ff9e7f..0000000000 --- a/proxy/nginx-site.conf.j2 +++ /dev/null @@ -1,47 +0,0 @@ -upstream backend { - server {{ DJANGO_APPLICATION_SERVICE_HOST }}:8000; -} - -{% if FRONTEND_SERVICE_HOST is defined %} - upstream frontend { - server {{ FRONTEND_SERVICE_HOST }}:3000; - } -{% endif %} - -server { - listen 80; - - location /api/ { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - proxy_pass http://backend; - } - - location /api/uploads { - alias /data/uploads; - expires 1d; - } - - location /api/static { - alias /data/staticserve; - expires 1d; - } - - location / { - try_files $uri $uri/ @frontend; - } - location @frontend { - proxy_pass http://{{FRONTEND_HOST}}; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - - # Following is necessary for Websocket support - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - } -} diff --git a/proxy/nginx.conf.j2 b/proxy/nginx.conf.j2 deleted file mode 100644 index 6a4f34a3e2..0000000000 --- a/proxy/nginx.conf.j2 +++ /dev/null @@ -1,37 +0,0 @@ -user nginx; -worker_processes 1; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 1024; -} - -http { - {% if MAX_UPLOAD_SIZE_MB is defined %} - client_max_body_size {{ MAX_UPLOAD_SIZE_MB }}M; - {% else %} - client_max_body_size 80M; - {% endif %} - - include /etc/nginx/mime.types; - default_type application/octet-stream; - server_tokens off; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /dev/stdout; - error_log /dev/stdout info; - - sendfile on; - tcp_nopush on; - - keepalive_timeout 65; - - gzip on; - - include /etc/nginx/conf.d/*.conf; -} diff --git a/backend/.coveragerc b/src/.coveragerc similarity index 100% rename from backend/.coveragerc rename to src/.coveragerc diff --git a/backend/.dockerignore b/src/.dockerignore similarity index 100% rename from backend/.dockerignore rename to src/.dockerignore diff --git a/backend/.flake8 b/src/.flake8 similarity index 100% rename from backend/.flake8 rename to src/.flake8 diff --git a/backend/.gitignore b/src/.gitignore similarity index 100% rename from backend/.gitignore rename to src/.gitignore diff --git a/backend/README.md b/src/README.md similarity index 100% rename from backend/README.md rename to src/README.md diff --git a/backend/data/FlexibleAttributesInit.xlsx b/src/data/FlexibleAttributesInit.xlsx similarity index 100% rename from backend/data/FlexibleAttributesInit.xlsx rename to src/data/FlexibleAttributesInit.xlsx diff --git a/backend/data/GetBusinessAreaList_XML.xml b/src/data/GetBusinessAreaList_XML.xml similarity index 100% rename from backend/data/GetBusinessAreaList_XML.xml rename to src/data/GetBusinessAreaList_XML.xml diff --git a/backend/data/RDI-VALID.xlsx b/src/data/RDI-VALID.xlsx similarity index 100% rename from backend/data/RDI-VALID.xlsx rename to src/data/RDI-VALID.xlsx diff --git a/backend/data/country_code_mapping.txt b/src/data/country_code_mapping.txt similarity index 100% rename from backend/data/country_code_mapping.txt rename to src/data/country_code_mapping.txt diff --git a/backend/data/synonyms.txt b/src/data/synonyms.txt similarity index 100% rename from backend/data/synonyms.txt rename to src/data/synonyms.txt diff --git a/frontend/.dockerignore b/src/frontend/.dockerignore similarity index 100% rename from frontend/.dockerignore rename to src/frontend/.dockerignore diff --git a/frontend/.eslintignore b/src/frontend/.eslintignore similarity index 100% rename from frontend/.eslintignore rename to src/frontend/.eslintignore diff --git a/frontend/.eslintrc.cjs b/src/frontend/.eslintrc.cjs similarity index 100% rename from frontend/.eslintrc.cjs rename to src/frontend/.eslintrc.cjs diff --git a/frontend/.gitignore b/src/frontend/.gitignore similarity index 100% rename from frontend/.gitignore rename to src/frontend/.gitignore diff --git a/frontend/.graphqlconfig b/src/frontend/.graphqlconfig similarity index 100% rename from frontend/.graphqlconfig rename to src/frontend/.graphqlconfig diff --git a/frontend/.nvmrc b/src/frontend/.nvmrc similarity index 100% rename from frontend/.nvmrc rename to src/frontend/.nvmrc diff --git a/frontend/.prettierignore b/src/frontend/.prettierignore similarity index 100% rename from frontend/.prettierignore rename to src/frontend/.prettierignore diff --git a/frontend/.prettierrc.cjs b/src/frontend/.prettierrc.cjs similarity index 100% rename from frontend/.prettierrc.cjs rename to src/frontend/.prettierrc.cjs diff --git a/src/frontend/.vite/deps/_metadata.json b/src/frontend/.vite/deps/_metadata.json new file mode 100644 index 0000000000..a717e8b8a7 --- /dev/null +++ b/src/frontend/.vite/deps/_metadata.json @@ -0,0 +1,8 @@ +{ + "hash": "11ebaa2a", + "configHash": "f3b17dde", + "lockfileHash": "e3b0c442", + "browserHash": "9e7c9de4", + "optimized": {}, + "chunks": {} +} \ No newline at end of file diff --git a/src/frontend/.vite/deps/package.json b/src/frontend/.vite/deps/package.json new file mode 100644 index 0000000000..3dbc1ca591 --- /dev/null +++ b/src/frontend/.vite/deps/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/frontend/Dockerfile b/src/frontend/Dockerfile similarity index 100% rename from frontend/Dockerfile rename to src/frontend/Dockerfile diff --git a/frontend/README.md b/src/frontend/README.md similarity index 100% rename from frontend/README.md rename to src/frontend/README.md diff --git a/frontend/apollo.config.js b/src/frontend/apollo.config.js similarity index 100% rename from frontend/apollo.config.js rename to src/frontend/apollo.config.js diff --git a/frontend/codegen.yml b/src/frontend/codegen.yml similarity index 100% rename from frontend/codegen.yml rename to src/frontend/codegen.yml diff --git a/frontend/compile-production.sh b/src/frontend/compile-production.sh similarity index 100% rename from frontend/compile-production.sh rename to src/frontend/compile-production.sh diff --git a/frontend/config/DjangoTagsPlugin.js b/src/frontend/config/DjangoTagsPlugin.js similarity index 100% rename from frontend/config/DjangoTagsPlugin.js rename to src/frontend/config/DjangoTagsPlugin.js diff --git a/frontend/config/django-file-loader.js b/src/frontend/config/django-file-loader.js similarity index 100% rename from frontend/config/django-file-loader.js rename to src/frontend/config/django-file-loader.js diff --git a/frontend/config/jest/cssTransform.cjs b/src/frontend/config/jest/cssTransform.cjs similarity index 100% rename from frontend/config/jest/cssTransform.cjs rename to src/frontend/config/jest/cssTransform.cjs diff --git a/frontend/config/jest/fileTransform.cjs b/src/frontend/config/jest/fileTransform.cjs similarity index 100% rename from frontend/config/jest/fileTransform.cjs rename to src/frontend/config/jest/fileTransform.cjs diff --git a/frontend/config/options.json b/src/frontend/config/options.json similarity index 100% rename from frontend/config/options.json rename to src/frontend/config/options.json diff --git a/frontend/config/paths.js b/src/frontend/config/paths.js similarity index 100% rename from frontend/config/paths.js rename to src/frontend/config/paths.js diff --git a/frontend/config/utils.js b/src/frontend/config/utils.js similarity index 100% rename from frontend/config/utils.js rename to src/frontend/config/utils.js diff --git a/frontend/config/webpack.config.js b/src/frontend/config/webpack.config.js similarity index 100% rename from frontend/config/webpack.config.js rename to src/frontend/config/webpack.config.js diff --git a/backend/hct_mis_api/api/__init__.py b/src/frontend/data/.gitkeep similarity index 100% rename from backend/hct_mis_api/api/__init__.py rename to src/frontend/data/.gitkeep diff --git a/frontend/data/schema.graphql b/src/frontend/data/schema.graphql similarity index 100% rename from frontend/data/schema.graphql rename to src/frontend/data/schema.graphql diff --git a/frontend/entrypoint.sh b/src/frontend/entrypoint.sh similarity index 100% rename from frontend/entrypoint.sh rename to src/frontend/entrypoint.sh diff --git a/frontend/fixtures/communication/fakeApolloAllCommunicationMessages.ts b/src/frontend/fixtures/communication/fakeApolloAllCommunicationMessages.ts similarity index 100% rename from frontend/fixtures/communication/fakeApolloAllCommunicationMessages.ts rename to src/frontend/fixtures/communication/fakeApolloAllCommunicationMessages.ts diff --git a/frontend/fixtures/core/fakeAllHouseholdsFlexFieldsAttributes.ts b/src/frontend/fixtures/core/fakeAllHouseholdsFlexFieldsAttributes.ts similarity index 100% rename from frontend/fixtures/core/fakeAllHouseholdsFlexFieldsAttributes.ts rename to src/frontend/fixtures/core/fakeAllHouseholdsFlexFieldsAttributes.ts diff --git a/frontend/fixtures/core/fakeAllIndividualsFlexFieldsAttributes.ts b/src/frontend/fixtures/core/fakeAllIndividualsFlexFieldsAttributes.ts similarity index 100% rename from frontend/fixtures/core/fakeAllIndividualsFlexFieldsAttributes.ts rename to src/frontend/fixtures/core/fakeAllIndividualsFlexFieldsAttributes.ts diff --git a/frontend/fixtures/core/fakeApolloAllLogEntries.ts b/src/frontend/fixtures/core/fakeApolloAllLogEntries.ts similarity index 100% rename from frontend/fixtures/core/fakeApolloAllLogEntries.ts rename to src/frontend/fixtures/core/fakeApolloAllLogEntries.ts diff --git a/frontend/fixtures/core/fakeApolloMe.ts b/src/frontend/fixtures/core/fakeApolloMe.ts similarity index 100% rename from frontend/fixtures/core/fakeApolloMe.ts rename to src/frontend/fixtures/core/fakeApolloMe.ts diff --git a/frontend/fixtures/core/fakeBaseUrl.ts b/src/frontend/fixtures/core/fakeBaseUrl.ts similarity index 100% rename from frontend/fixtures/core/fakeBaseUrl.ts rename to src/frontend/fixtures/core/fakeBaseUrl.ts diff --git a/frontend/fixtures/core/fakeMe.ts b/src/frontend/fixtures/core/fakeMe.ts similarity index 100% rename from frontend/fixtures/core/fakeMe.ts rename to src/frontend/fixtures/core/fakeMe.ts diff --git a/frontend/fixtures/dashboard/fakeChartGrievances.tsx b/src/frontend/fixtures/dashboard/fakeChartGrievances.tsx similarity index 100% rename from frontend/fixtures/dashboard/fakeChartGrievances.tsx rename to src/frontend/fixtures/dashboard/fakeChartGrievances.tsx diff --git a/frontend/fixtures/dashboard/fakeChartIndividualsReachedByAgeAndGender.tsx b/src/frontend/fixtures/dashboard/fakeChartIndividualsReachedByAgeAndGender.tsx similarity index 100% rename from frontend/fixtures/dashboard/fakeChartIndividualsReachedByAgeAndGender.tsx rename to src/frontend/fixtures/dashboard/fakeChartIndividualsReachedByAgeAndGender.tsx diff --git a/frontend/fixtures/dashboard/fakeChartIndividualsWithDisabilityReachedByAge.tsx b/src/frontend/fixtures/dashboard/fakeChartIndividualsWithDisabilityReachedByAge.tsx similarity index 100% rename from frontend/fixtures/dashboard/fakeChartIndividualsWithDisabilityReachedByAge.tsx rename to src/frontend/fixtures/dashboard/fakeChartIndividualsWithDisabilityReachedByAge.tsx diff --git a/frontend/fixtures/dashboard/fakeChartPaymentVerification.tsx b/src/frontend/fixtures/dashboard/fakeChartPaymentVerification.tsx similarity index 100% rename from frontend/fixtures/dashboard/fakeChartPaymentVerification.tsx rename to src/frontend/fixtures/dashboard/fakeChartPaymentVerification.tsx diff --git a/frontend/fixtures/dashboard/fakeChartTotalTransferredCashByCountry.tsx b/src/frontend/fixtures/dashboard/fakeChartTotalTransferredCashByCountry.tsx similarity index 100% rename from frontend/fixtures/dashboard/fakeChartTotalTransferredCashByCountry.tsx rename to src/frontend/fixtures/dashboard/fakeChartTotalTransferredCashByCountry.tsx diff --git a/frontend/fixtures/dashboard/fakeSectionChildReached.tsx b/src/frontend/fixtures/dashboard/fakeSectionChildReached.tsx similarity index 100% rename from frontend/fixtures/dashboard/fakeSectionChildReached.tsx rename to src/frontend/fixtures/dashboard/fakeSectionChildReached.tsx diff --git a/frontend/fixtures/dashboard/fakeSectionHouseholdsReached.tsx b/src/frontend/fixtures/dashboard/fakeSectionHouseholdsReached.tsx similarity index 100% rename from frontend/fixtures/dashboard/fakeSectionHouseholdsReached.tsx rename to src/frontend/fixtures/dashboard/fakeSectionHouseholdsReached.tsx diff --git a/frontend/fixtures/dashboard/fakeSectionIndividualsReached.tsx b/src/frontend/fixtures/dashboard/fakeSectionIndividualsReached.tsx similarity index 100% rename from frontend/fixtures/dashboard/fakeSectionIndividualsReached.tsx rename to src/frontend/fixtures/dashboard/fakeSectionIndividualsReached.tsx diff --git a/frontend/fixtures/dashboard/fakeSectionTotalTransferred.tsx b/src/frontend/fixtures/dashboard/fakeSectionTotalTransferred.tsx similarity index 100% rename from frontend/fixtures/dashboard/fakeSectionTotalTransferred.tsx rename to src/frontend/fixtures/dashboard/fakeSectionTotalTransferred.tsx diff --git a/frontend/fixtures/feedback/fakeApolloAllFeedbacks.ts b/src/frontend/fixtures/feedback/fakeApolloAllFeedbacks.ts similarity index 100% rename from frontend/fixtures/feedback/fakeApolloAllFeedbacks.ts rename to src/frontend/fixtures/feedback/fakeApolloAllFeedbacks.ts diff --git a/frontend/fixtures/grievances/fakeApolloAllGrievances.ts b/src/frontend/fixtures/grievances/fakeApolloAllGrievances.ts similarity index 100% rename from frontend/fixtures/grievances/fakeApolloAllGrievances.ts rename to src/frontend/fixtures/grievances/fakeApolloAllGrievances.ts diff --git a/frontend/fixtures/grievances/fakeApolloApprovePaymentDetailsMutation.ts b/src/frontend/fixtures/grievances/fakeApolloApprovePaymentDetailsMutation.ts similarity index 100% rename from frontend/fixtures/grievances/fakeApolloApprovePaymentDetailsMutation.ts rename to src/frontend/fixtures/grievances/fakeApolloApprovePaymentDetailsMutation.ts diff --git a/frontend/fixtures/grievances/fakeApolloUpdateGrievanceDetailsPaymentVerificationMutation.ts b/src/frontend/fixtures/grievances/fakeApolloUpdateGrievanceDetailsPaymentVerificationMutation.ts similarity index 100% rename from frontend/fixtures/grievances/fakeApolloUpdateGrievanceDetailsPaymentVerificationMutation.ts rename to src/frontend/fixtures/grievances/fakeApolloUpdateGrievanceDetailsPaymentVerificationMutation.ts diff --git a/frontend/fixtures/grievances/fakeGrievanceTicket.ts b/src/frontend/fixtures/grievances/fakeGrievanceTicket.ts similarity index 100% rename from frontend/fixtures/grievances/fakeGrievanceTicket.ts rename to src/frontend/fixtures/grievances/fakeGrievanceTicket.ts diff --git a/frontend/fixtures/grievances/fakeGrievanceTicketPaymentVerification.ts b/src/frontend/fixtures/grievances/fakeGrievanceTicketPaymentVerification.ts similarity index 100% rename from frontend/fixtures/grievances/fakeGrievanceTicketPaymentVerification.ts rename to src/frontend/fixtures/grievances/fakeGrievanceTicketPaymentVerification.ts diff --git a/frontend/fixtures/grievances/fakeGrievancesChoices.ts b/src/frontend/fixtures/grievances/fakeGrievancesChoices.ts similarity index 100% rename from frontend/fixtures/grievances/fakeGrievancesChoices.ts rename to src/frontend/fixtures/grievances/fakeGrievancesChoices.ts diff --git a/frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByCategory.ts b/src/frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByCategory.ts similarity index 100% rename from frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByCategory.ts rename to src/frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByCategory.ts diff --git a/frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByLocationAndCategory.ts b/src/frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByLocationAndCategory.ts similarity index 100% rename from frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByLocationAndCategory.ts rename to src/frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByLocationAndCategory.ts diff --git a/frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByStatus.ts b/src/frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByStatus.ts similarity index 100% rename from frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByStatus.ts rename to src/frontend/fixtures/grievances/grievancesDashboard/fakeChartTicketsByStatus.ts diff --git a/frontend/fixtures/paymentmodule/fakeApolloActionPaymentPlanMutation.ts b/src/frontend/fixtures/paymentmodule/fakeApolloActionPaymentPlanMutation.ts similarity index 100% rename from frontend/fixtures/paymentmodule/fakeApolloActionPaymentPlanMutation.ts rename to src/frontend/fixtures/paymentmodule/fakeApolloActionPaymentPlanMutation.ts diff --git a/frontend/fixtures/paymentmodule/fakeApolloPaymentPlan.ts b/src/frontend/fixtures/paymentmodule/fakeApolloPaymentPlan.ts similarity index 100% rename from frontend/fixtures/paymentmodule/fakeApolloPaymentPlan.ts rename to src/frontend/fixtures/paymentmodule/fakeApolloPaymentPlan.ts diff --git a/frontend/fixtures/paymentmodule/fakeChooseDeliveryMechForPaymentPlanMutation.ts b/src/frontend/fixtures/paymentmodule/fakeChooseDeliveryMechForPaymentPlanMutation.ts similarity index 100% rename from frontend/fixtures/paymentmodule/fakeChooseDeliveryMechForPaymentPlanMutation.ts rename to src/frontend/fixtures/paymentmodule/fakeChooseDeliveryMechForPaymentPlanMutation.ts diff --git a/frontend/fixtures/paymentmodule/fakeDeliveryMechanisms.ts b/src/frontend/fixtures/paymentmodule/fakeDeliveryMechanisms.ts similarity index 100% rename from frontend/fixtures/paymentmodule/fakeDeliveryMechanisms.ts rename to src/frontend/fixtures/paymentmodule/fakeDeliveryMechanisms.ts diff --git a/frontend/fixtures/paymentmodule/fakeExportXlsxPpListPerFspMutation.ts b/src/frontend/fixtures/paymentmodule/fakeExportXlsxPpListPerFspMutation.ts similarity index 100% rename from frontend/fixtures/paymentmodule/fakeExportXlsxPpListPerFspMutation.ts rename to src/frontend/fixtures/paymentmodule/fakeExportXlsxPpListPerFspMutation.ts diff --git a/frontend/fixtures/paymentmodule/fakeFspsData.ts b/src/frontend/fixtures/paymentmodule/fakeFspsData.ts similarity index 100% rename from frontend/fixtures/paymentmodule/fakeFspsData.ts rename to src/frontend/fixtures/paymentmodule/fakeFspsData.ts diff --git a/frontend/fixtures/paymentmodule/fakeImportXlsxPpListMutation.ts b/src/frontend/fixtures/paymentmodule/fakeImportXlsxPpListMutation.ts similarity index 100% rename from frontend/fixtures/paymentmodule/fakeImportXlsxPpListMutation.ts rename to src/frontend/fixtures/paymentmodule/fakeImportXlsxPpListMutation.ts diff --git a/frontend/fixtures/paymentmodule/fakeImportXlsxPpListPerFspMutation.ts b/src/frontend/fixtures/paymentmodule/fakeImportXlsxPpListPerFspMutation.ts similarity index 100% rename from frontend/fixtures/paymentmodule/fakeImportXlsxPpListPerFspMutation.ts rename to src/frontend/fixtures/paymentmodule/fakeImportXlsxPpListPerFspMutation.ts diff --git a/frontend/fixtures/payments/fakeApolloAllCashPlans.ts b/src/frontend/fixtures/payments/fakeApolloAllCashPlans.ts similarity index 100% rename from frontend/fixtures/payments/fakeApolloAllCashPlans.ts rename to src/frontend/fixtures/payments/fakeApolloAllCashPlans.ts diff --git a/frontend/fixtures/payments/fakeApolloAllCashPlansAndPaymentPlans.ts b/src/frontend/fixtures/payments/fakeApolloAllCashPlansAndPaymentPlans.ts similarity index 100% rename from frontend/fixtures/payments/fakeApolloAllCashPlansAndPaymentPlans.ts rename to src/frontend/fixtures/payments/fakeApolloAllCashPlansAndPaymentPlans.ts diff --git a/frontend/fixtures/payments/fakeApolloAllCashPlansAndPaymentPlansForProgram.ts b/src/frontend/fixtures/payments/fakeApolloAllCashPlansAndPaymentPlansForProgram.ts similarity index 100% rename from frontend/fixtures/payments/fakeApolloAllCashPlansAndPaymentPlansForProgram.ts rename to src/frontend/fixtures/payments/fakeApolloAllCashPlansAndPaymentPlansForProgram.ts diff --git a/frontend/fixtures/payments/fakeApolloAllPaymentPlansForTable.ts b/src/frontend/fixtures/payments/fakeApolloAllPaymentPlansForTable.ts similarity index 100% rename from frontend/fixtures/payments/fakeApolloAllPaymentPlansForTable.ts rename to src/frontend/fixtures/payments/fakeApolloAllPaymentPlansForTable.ts diff --git a/frontend/fixtures/payments/fakeApolloAllPaymentRecords.ts b/src/frontend/fixtures/payments/fakeApolloAllPaymentRecords.ts similarity index 100% rename from frontend/fixtures/payments/fakeApolloAllPaymentRecords.ts rename to src/frontend/fixtures/payments/fakeApolloAllPaymentRecords.ts diff --git a/frontend/fixtures/payments/fakeApolloAllPaymentRecordsHousehold.ts b/src/frontend/fixtures/payments/fakeApolloAllPaymentRecordsHousehold.ts similarity index 100% rename from frontend/fixtures/payments/fakeApolloAllPaymentRecordsHousehold.ts rename to src/frontend/fixtures/payments/fakeApolloAllPaymentRecordsHousehold.ts diff --git a/frontend/fixtures/payments/fakeApolloAllPaymentVerifications.ts b/src/frontend/fixtures/payments/fakeApolloAllPaymentVerifications.ts similarity index 100% rename from frontend/fixtures/payments/fakeApolloAllPaymentVerifications.ts rename to src/frontend/fixtures/payments/fakeApolloAllPaymentVerifications.ts diff --git a/frontend/fixtures/payments/fakeApolloAllPaymentsForTable.ts b/src/frontend/fixtures/payments/fakeApolloAllPaymentsForTable.ts similarity index 100% rename from frontend/fixtures/payments/fakeApolloAllPaymentsForTable.ts rename to src/frontend/fixtures/payments/fakeApolloAllPaymentsForTable.ts diff --git a/frontend/fixtures/payments/fakeCashPlan.ts b/src/frontend/fixtures/payments/fakeCashPlan.ts similarity index 100% rename from frontend/fixtures/payments/fakeCashPlan.ts rename to src/frontend/fixtures/payments/fakeCashPlan.ts diff --git a/frontend/fixtures/population/fakeApolloAllHouseholds.ts b/src/frontend/fixtures/population/fakeApolloAllHouseholds.ts similarity index 100% rename from frontend/fixtures/population/fakeApolloAllHouseholds.ts rename to src/frontend/fixtures/population/fakeApolloAllHouseholds.ts diff --git a/frontend/fixtures/population/fakeApolloAllHouseholdsForPopulationTable.ts b/src/frontend/fixtures/population/fakeApolloAllHouseholdsForPopulationTable.ts similarity index 100% rename from frontend/fixtures/population/fakeApolloAllHouseholdsForPopulationTable.ts rename to src/frontend/fixtures/population/fakeApolloAllHouseholdsForPopulationTable.ts diff --git a/frontend/fixtures/population/fakeApolloAllIndividuals.ts b/src/frontend/fixtures/population/fakeApolloAllIndividuals.ts similarity index 100% rename from frontend/fixtures/population/fakeApolloAllIndividuals.ts rename to src/frontend/fixtures/population/fakeApolloAllIndividuals.ts diff --git a/frontend/fixtures/population/fakeApolloAllIndividualsForPopulationTable.ts b/src/frontend/fixtures/population/fakeApolloAllIndividualsForPopulationTable.ts similarity index 100% rename from frontend/fixtures/population/fakeApolloAllIndividualsForPopulationTable.ts rename to src/frontend/fixtures/population/fakeApolloAllIndividualsForPopulationTable.ts diff --git a/frontend/fixtures/population/fakeHousehold.ts b/src/frontend/fixtures/population/fakeHousehold.ts similarity index 100% rename from frontend/fixtures/population/fakeHousehold.ts rename to src/frontend/fixtures/population/fakeHousehold.ts diff --git a/frontend/fixtures/population/fakeHouseholdChoices.ts b/src/frontend/fixtures/population/fakeHouseholdChoices.ts similarity index 100% rename from frontend/fixtures/population/fakeHouseholdChoices.ts rename to src/frontend/fixtures/population/fakeHouseholdChoices.ts diff --git a/frontend/fixtures/population/fakeIndividual.ts b/src/frontend/fixtures/population/fakeIndividual.ts similarity index 100% rename from frontend/fixtures/population/fakeIndividual.ts rename to src/frontend/fixtures/population/fakeIndividual.ts diff --git a/frontend/fixtures/programs/fakeApolloAllPrograms.ts b/src/frontend/fixtures/programs/fakeApolloAllPrograms.ts similarity index 100% rename from frontend/fixtures/programs/fakeApolloAllPrograms.ts rename to src/frontend/fixtures/programs/fakeApolloAllPrograms.ts diff --git a/frontend/fixtures/programs/fakeProgram.ts b/src/frontend/fixtures/programs/fakeProgram.ts similarity index 100% rename from frontend/fixtures/programs/fakeProgram.ts rename to src/frontend/fixtures/programs/fakeProgram.ts diff --git a/frontend/fixtures/programs/fakeProgramChoices.ts b/src/frontend/fixtures/programs/fakeProgramChoices.ts similarity index 100% rename from frontend/fixtures/programs/fakeProgramChoices.ts rename to src/frontend/fixtures/programs/fakeProgramChoices.ts diff --git a/frontend/fixtures/registration/fakeApolloAllImportedHouseholds.ts b/src/frontend/fixtures/registration/fakeApolloAllImportedHouseholds.ts similarity index 100% rename from frontend/fixtures/registration/fakeApolloAllImportedHouseholds.ts rename to src/frontend/fixtures/registration/fakeApolloAllImportedHouseholds.ts diff --git a/frontend/fixtures/registration/fakeApolloAllImportedIndividuals.ts b/src/frontend/fixtures/registration/fakeApolloAllImportedIndividuals.ts similarity index 100% rename from frontend/fixtures/registration/fakeApolloAllImportedIndividuals.ts rename to src/frontend/fixtures/registration/fakeApolloAllImportedIndividuals.ts diff --git a/frontend/fixtures/registration/fakeApolloAllRegistrationDataImports.ts b/src/frontend/fixtures/registration/fakeApolloAllRegistrationDataImports.ts similarity index 100% rename from frontend/fixtures/registration/fakeApolloAllRegistrationDataImports.ts rename to src/frontend/fixtures/registration/fakeApolloAllRegistrationDataImports.ts diff --git a/frontend/fixtures/registration/fakeImportedHouseholdDetailedFragment.ts b/src/frontend/fixtures/registration/fakeImportedHouseholdDetailedFragment.ts similarity index 100% rename from frontend/fixtures/registration/fakeImportedHouseholdDetailedFragment.ts rename to src/frontend/fixtures/registration/fakeImportedHouseholdDetailedFragment.ts diff --git a/frontend/fixtures/registration/fakeImportedHouseholdNode.ts b/src/frontend/fixtures/registration/fakeImportedHouseholdNode.ts similarity index 100% rename from frontend/fixtures/registration/fakeImportedHouseholdNode.ts rename to src/frontend/fixtures/registration/fakeImportedHouseholdNode.ts diff --git a/frontend/fixtures/registration/fakeImportedIndividualDetailedFragment.ts b/src/frontend/fixtures/registration/fakeImportedIndividualDetailedFragment.ts similarity index 100% rename from frontend/fixtures/registration/fakeImportedIndividualDetailedFragment.ts rename to src/frontend/fixtures/registration/fakeImportedIndividualDetailedFragment.ts diff --git a/frontend/fixtures/registration/fakeRegistrationDetailedFragment.ts b/src/frontend/fixtures/registration/fakeRegistrationDetailedFragment.ts similarity index 100% rename from frontend/fixtures/registration/fakeRegistrationDetailedFragment.ts rename to src/frontend/fixtures/registration/fakeRegistrationDetailedFragment.ts diff --git a/frontend/fixtures/reporting/fakeApolloAllReports.ts b/src/frontend/fixtures/reporting/fakeApolloAllReports.ts similarity index 100% rename from frontend/fixtures/reporting/fakeApolloAllReports.ts rename to src/frontend/fixtures/reporting/fakeApolloAllReports.ts diff --git a/frontend/fixtures/reporting/fakeReportChoiceData.ts b/src/frontend/fixtures/reporting/fakeReportChoiceData.ts similarity index 100% rename from frontend/fixtures/reporting/fakeReportChoiceData.ts rename to src/frontend/fixtures/reporting/fakeReportChoiceData.ts diff --git a/frontend/fixtures/steficon/fakeApolloAllSteficonRules.ts b/src/frontend/fixtures/steficon/fakeApolloAllSteficonRules.ts similarity index 100% rename from frontend/fixtures/steficon/fakeApolloAllSteficonRules.ts rename to src/frontend/fixtures/steficon/fakeApolloAllSteficonRules.ts diff --git a/frontend/fixtures/targeting/fakeAllTargetPopulation.ts b/src/frontend/fixtures/targeting/fakeAllTargetPopulation.ts similarity index 100% rename from frontend/fixtures/targeting/fakeAllTargetPopulation.ts rename to src/frontend/fixtures/targeting/fakeAllTargetPopulation.ts diff --git a/frontend/fixtures/targeting/fakeApolloAllTargetPopulation.ts b/src/frontend/fixtures/targeting/fakeApolloAllTargetPopulation.ts similarity index 100% rename from frontend/fixtures/targeting/fakeApolloAllTargetPopulation.ts rename to src/frontend/fixtures/targeting/fakeApolloAllTargetPopulation.ts diff --git a/frontend/fixtures/targeting/fakeApolloCandidateHouseholdsListByTargetingCriteria.ts b/src/frontend/fixtures/targeting/fakeApolloCandidateHouseholdsListByTargetingCriteria.ts similarity index 100% rename from frontend/fixtures/targeting/fakeApolloCandidateHouseholdsListByTargetingCriteria.ts rename to src/frontend/fixtures/targeting/fakeApolloCandidateHouseholdsListByTargetingCriteria.ts diff --git a/frontend/fixtures/users/fakeApolloAllUsers.ts b/src/frontend/fixtures/users/fakeApolloAllUsers.ts similarity index 100% rename from frontend/fixtures/users/fakeApolloAllUsers.ts rename to src/frontend/fixtures/users/fakeApolloAllUsers.ts diff --git a/frontend/index.html b/src/frontend/index.html similarity index 100% rename from frontend/index.html rename to src/frontend/index.html diff --git a/frontend/jest.config.ts b/src/frontend/jest.config.ts similarity index 100% rename from frontend/jest.config.ts rename to src/frontend/jest.config.ts diff --git a/frontend/jest/setupTests.ts b/src/frontend/jest/setupTests.ts similarity index 100% rename from frontend/jest/setupTests.ts rename to src/frontend/jest/setupTests.ts diff --git a/frontend/nginx.conf b/src/frontend/nginx.conf similarity index 100% rename from frontend/nginx.conf rename to src/frontend/nginx.conf diff --git a/frontend/nginx_site.conf b/src/frontend/nginx_site.conf similarity index 100% rename from frontend/nginx_site.conf rename to src/frontend/nginx_site.conf diff --git a/frontend/package.json b/src/frontend/package.json similarity index 100% rename from frontend/package.json rename to src/frontend/package.json diff --git a/frontend/public/favicon.ico b/src/frontend/public/favicon.ico similarity index 100% rename from frontend/public/favicon.ico rename to src/frontend/public/favicon.ico diff --git a/frontend/public/logo192.png b/src/frontend/public/logo192.png similarity index 100% rename from frontend/public/logo192.png rename to src/frontend/public/logo192.png diff --git a/frontend/public/logo512.png b/src/frontend/public/logo512.png similarity index 100% rename from frontend/public/logo512.png rename to src/frontend/public/logo512.png diff --git a/frontend/public/maintenance/maintenance.html b/src/frontend/public/maintenance/maintenance.html similarity index 100% rename from frontend/public/maintenance/maintenance.html rename to src/frontend/public/maintenance/maintenance.html diff --git a/frontend/public/maintenance/maintenance_graphic_painter.png b/src/frontend/public/maintenance/maintenance_graphic_painter.png similarity index 100% rename from frontend/public/maintenance/maintenance_graphic_painter.png rename to src/frontend/public/maintenance/maintenance_graphic_painter.png diff --git a/frontend/public/maintenance/maintenance_hope_logo.png b/src/frontend/public/maintenance/maintenance_hope_logo.png similarity index 100% rename from frontend/public/maintenance/maintenance_hope_logo.png rename to src/frontend/public/maintenance/maintenance_hope_logo.png diff --git a/frontend/public/maintenance/refresh_icon.png b/src/frontend/public/maintenance/refresh_icon.png similarity index 100% rename from frontend/public/maintenance/refresh_icon.png rename to src/frontend/public/maintenance/refresh_icon.png diff --git a/frontend/public/manifest.json b/src/frontend/public/manifest.json similarity index 100% rename from frontend/public/manifest.json rename to src/frontend/public/manifest.json diff --git a/frontend/public/robots.txt b/src/frontend/public/robots.txt similarity index 100% rename from frontend/public/robots.txt rename to src/frontend/public/robots.txt diff --git a/frontend/public/vite.svg b/src/frontend/public/vite.svg similarity index 100% rename from frontend/public/vite.svg rename to src/frontend/public/vite.svg diff --git a/frontend/src/App.css b/src/frontend/src/App.css similarity index 100% rename from frontend/src/App.css rename to src/frontend/src/App.css diff --git a/frontend/src/App.tsx b/src/frontend/src/App.tsx similarity index 100% rename from frontend/src/App.tsx rename to src/frontend/src/App.tsx diff --git a/frontend/src/__generated__/graphql.tsx b/src/frontend/src/__generated__/graphql.tsx similarity index 100% rename from frontend/src/__generated__/graphql.tsx rename to src/frontend/src/__generated__/graphql.tsx diff --git a/frontend/src/__generated__/introspection-result.ts b/src/frontend/src/__generated__/introspection-result.ts similarity index 100% rename from frontend/src/__generated__/introspection-result.ts rename to src/frontend/src/__generated__/introspection-result.ts diff --git a/frontend/src/api/api.ts b/src/frontend/src/api/api.ts similarity index 100% rename from frontend/src/api/api.ts rename to src/frontend/src/api/api.ts diff --git a/frontend/src/api/paymentModuleApi.ts b/src/frontend/src/api/paymentModuleApi.ts similarity index 100% rename from frontend/src/api/paymentModuleApi.ts rename to src/frontend/src/api/paymentModuleApi.ts diff --git a/frontend/src/api/periodicDataUpdateApi.ts b/src/frontend/src/api/periodicDataUpdateApi.ts similarity index 100% rename from frontend/src/api/periodicDataUpdateApi.ts rename to src/frontend/src/api/periodicDataUpdateApi.ts diff --git a/frontend/src/api/programCycleApi.ts b/src/frontend/src/api/programCycleApi.ts similarity index 100% rename from frontend/src/api/programCycleApi.ts rename to src/frontend/src/api/programCycleApi.ts diff --git a/frontend/src/api/rdiApi.ts b/src/frontend/src/api/rdiApi.ts similarity index 100% rename from frontend/src/api/rdiApi.ts rename to src/frontend/src/api/rdiApi.ts diff --git a/frontend/src/api/sharedApi.ts b/src/frontend/src/api/sharedApi.ts similarity index 100% rename from frontend/src/api/sharedApi.ts rename to src/frontend/src/api/sharedApi.ts diff --git a/frontend/src/api/targetPopulationApi.ts b/src/frontend/src/api/targetPopulationApi.ts similarity index 100% rename from frontend/src/api/targetPopulationApi.ts rename to src/frontend/src/api/targetPopulationApi.ts diff --git a/frontend/src/apollo/ValidationGraphQLError.ts b/src/frontend/src/apollo/ValidationGraphQLError.ts similarity index 100% rename from frontend/src/apollo/ValidationGraphQLError.ts rename to src/frontend/src/apollo/ValidationGraphQLError.ts diff --git a/frontend/src/apollo/client.ts b/src/frontend/src/apollo/client.ts similarity index 100% rename from frontend/src/apollo/client.ts rename to src/frontend/src/apollo/client.ts diff --git a/frontend/src/apollo/fragments/GrievanceTicketFragment.ts b/src/frontend/src/apollo/fragments/GrievanceTicketFragment.ts similarity index 100% rename from frontend/src/apollo/fragments/GrievanceTicketFragment.ts rename to src/frontend/src/apollo/fragments/GrievanceTicketFragment.ts diff --git a/frontend/src/apollo/fragments/HouseholdFragments.ts b/src/frontend/src/apollo/fragments/HouseholdFragments.ts similarity index 100% rename from frontend/src/apollo/fragments/HouseholdFragments.ts rename to src/frontend/src/apollo/fragments/HouseholdFragments.ts diff --git a/frontend/src/apollo/fragments/IndividualFragments.ts b/src/frontend/src/apollo/fragments/IndividualFragments.ts similarity index 100% rename from frontend/src/apollo/fragments/IndividualFragments.ts rename to src/frontend/src/apollo/fragments/IndividualFragments.ts diff --git a/frontend/src/apollo/fragments/PaymentRecordFragments.ts b/src/frontend/src/apollo/fragments/PaymentRecordFragments.ts similarity index 100% rename from frontend/src/apollo/fragments/PaymentRecordFragments.ts rename to src/frontend/src/apollo/fragments/PaymentRecordFragments.ts diff --git a/frontend/src/apollo/fragments/ProgramDetailsFragment.ts b/src/frontend/src/apollo/fragments/ProgramDetailsFragment.ts similarity index 100% rename from frontend/src/apollo/fragments/ProgramDetailsFragment.ts rename to src/frontend/src/apollo/fragments/ProgramDetailsFragment.ts diff --git a/frontend/src/apollo/fragments/RegistrationFragments.ts b/src/frontend/src/apollo/fragments/RegistrationFragments.ts similarity index 100% rename from frontend/src/apollo/fragments/RegistrationFragments.ts rename to src/frontend/src/apollo/fragments/RegistrationFragments.ts diff --git a/frontend/src/apollo/fragments/TargetPopulationFragments.ts b/src/frontend/src/apollo/fragments/TargetPopulationFragments.ts similarity index 100% rename from frontend/src/apollo/fragments/TargetPopulationFragments.ts rename to src/frontend/src/apollo/fragments/TargetPopulationFragments.ts diff --git a/frontend/src/apollo/introspection-result.ts b/src/frontend/src/apollo/introspection-result.ts similarity index 100% rename from frontend/src/apollo/introspection-result.ts rename to src/frontend/src/apollo/introspection-result.ts diff --git a/frontend/src/apollo/mutations/accountability/CreateFeedback.ts b/src/frontend/src/apollo/mutations/accountability/CreateFeedback.ts similarity index 100% rename from frontend/src/apollo/mutations/accountability/CreateFeedback.ts rename to src/frontend/src/apollo/mutations/accountability/CreateFeedback.ts diff --git a/frontend/src/apollo/mutations/accountability/CreateFeedbackMessage.ts b/src/frontend/src/apollo/mutations/accountability/CreateFeedbackMessage.ts similarity index 100% rename from frontend/src/apollo/mutations/accountability/CreateFeedbackMessage.ts rename to src/frontend/src/apollo/mutations/accountability/CreateFeedbackMessage.ts diff --git a/frontend/src/apollo/mutations/accountability/CreateSurvey.ts b/src/frontend/src/apollo/mutations/accountability/CreateSurvey.ts similarity index 100% rename from frontend/src/apollo/mutations/accountability/CreateSurvey.ts rename to src/frontend/src/apollo/mutations/accountability/CreateSurvey.ts diff --git a/frontend/src/apollo/mutations/accountability/ExportSurveySample.ts b/src/frontend/src/apollo/mutations/accountability/ExportSurveySample.ts similarity index 100% rename from frontend/src/apollo/mutations/accountability/ExportSurveySample.ts rename to src/frontend/src/apollo/mutations/accountability/ExportSurveySample.ts diff --git a/frontend/src/apollo/mutations/accountability/UpdateFeedback.ts b/src/frontend/src/apollo/mutations/accountability/UpdateFeedback.ts similarity index 100% rename from frontend/src/apollo/mutations/accountability/UpdateFeedback.ts rename to src/frontend/src/apollo/mutations/accountability/UpdateFeedback.ts diff --git a/frontend/src/apollo/mutations/communication/CreateCommunicationMessage.ts b/src/frontend/src/apollo/mutations/communication/CreateCommunicationMessage.ts similarity index 100% rename from frontend/src/apollo/mutations/communication/CreateCommunicationMessage.ts rename to src/frontend/src/apollo/mutations/communication/CreateCommunicationMessage.ts diff --git a/frontend/src/apollo/mutations/core/CheckAgainstSanctionList.ts b/src/frontend/src/apollo/mutations/core/CheckAgainstSanctionList.ts similarity index 100% rename from frontend/src/apollo/mutations/core/CheckAgainstSanctionList.ts rename to src/frontend/src/apollo/mutations/core/CheckAgainstSanctionList.ts diff --git a/frontend/src/apollo/mutations/grievances/ApproveAddIndividualDataChange.ts b/src/frontend/src/apollo/mutations/grievances/ApproveAddIndividualDataChange.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/ApproveAddIndividualDataChange.ts rename to src/frontend/src/apollo/mutations/grievances/ApproveAddIndividualDataChange.ts diff --git a/frontend/src/apollo/mutations/grievances/ApproveDeleteHouseholdDataChange.ts b/src/frontend/src/apollo/mutations/grievances/ApproveDeleteHouseholdDataChange.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/ApproveDeleteHouseholdDataChange.ts rename to src/frontend/src/apollo/mutations/grievances/ApproveDeleteHouseholdDataChange.ts diff --git a/frontend/src/apollo/mutations/grievances/ApproveDeleteIndividualDataChange.ts b/src/frontend/src/apollo/mutations/grievances/ApproveDeleteIndividualDataChange.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/ApproveDeleteIndividualDataChange.ts rename to src/frontend/src/apollo/mutations/grievances/ApproveDeleteIndividualDataChange.ts diff --git a/frontend/src/apollo/mutations/grievances/ApproveHouseholdDataChange.ts b/src/frontend/src/apollo/mutations/grievances/ApproveHouseholdDataChange.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/ApproveHouseholdDataChange.ts rename to src/frontend/src/apollo/mutations/grievances/ApproveHouseholdDataChange.ts diff --git a/frontend/src/apollo/mutations/grievances/ApproveIndividualDataChange.ts b/src/frontend/src/apollo/mutations/grievances/ApproveIndividualDataChange.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/ApproveIndividualDataChange.ts rename to src/frontend/src/apollo/mutations/grievances/ApproveIndividualDataChange.ts diff --git a/frontend/src/apollo/mutations/grievances/ApproveNeedsAdjudication.ts b/src/frontend/src/apollo/mutations/grievances/ApproveNeedsAdjudication.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/ApproveNeedsAdjudication.ts rename to src/frontend/src/apollo/mutations/grievances/ApproveNeedsAdjudication.ts diff --git a/frontend/src/apollo/mutations/grievances/ApprovePaymentDetails.ts b/src/frontend/src/apollo/mutations/grievances/ApprovePaymentDetails.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/ApprovePaymentDetails.ts rename to src/frontend/src/apollo/mutations/grievances/ApprovePaymentDetails.ts diff --git a/frontend/src/apollo/mutations/grievances/ApproveSystemFlagging.ts b/src/frontend/src/apollo/mutations/grievances/ApproveSystemFlagging.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/ApproveSystemFlagging.ts rename to src/frontend/src/apollo/mutations/grievances/ApproveSystemFlagging.ts diff --git a/frontend/src/apollo/mutations/grievances/BulkGrievanceAddNote.ts b/src/frontend/src/apollo/mutations/grievances/BulkGrievanceAddNote.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/BulkGrievanceAddNote.ts rename to src/frontend/src/apollo/mutations/grievances/BulkGrievanceAddNote.ts diff --git a/frontend/src/apollo/mutations/grievances/BulkUpdateGrievanceAssignee.ts b/src/frontend/src/apollo/mutations/grievances/BulkUpdateGrievanceAssignee.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/BulkUpdateGrievanceAssignee.ts rename to src/frontend/src/apollo/mutations/grievances/BulkUpdateGrievanceAssignee.ts diff --git a/frontend/src/apollo/mutations/grievances/BulkUpdateGrievancePriority.ts b/src/frontend/src/apollo/mutations/grievances/BulkUpdateGrievancePriority.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/BulkUpdateGrievancePriority.ts rename to src/frontend/src/apollo/mutations/grievances/BulkUpdateGrievancePriority.ts diff --git a/frontend/src/apollo/mutations/grievances/BulkUpdateGrievanceUrgency.ts b/src/frontend/src/apollo/mutations/grievances/BulkUpdateGrievanceUrgency.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/BulkUpdateGrievanceUrgency.ts rename to src/frontend/src/apollo/mutations/grievances/BulkUpdateGrievanceUrgency.ts diff --git a/frontend/src/apollo/mutations/grievances/CreateGrievanceTicket.ts b/src/frontend/src/apollo/mutations/grievances/CreateGrievanceTicket.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/CreateGrievanceTicket.ts rename to src/frontend/src/apollo/mutations/grievances/CreateGrievanceTicket.ts diff --git a/frontend/src/apollo/mutations/grievances/CreateGrievanceTicketNote.ts b/src/frontend/src/apollo/mutations/grievances/CreateGrievanceTicketNote.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/CreateGrievanceTicketNote.ts rename to src/frontend/src/apollo/mutations/grievances/CreateGrievanceTicketNote.ts diff --git a/frontend/src/apollo/mutations/grievances/GrievanceTicketStatusChange.ts b/src/frontend/src/apollo/mutations/grievances/GrievanceTicketStatusChange.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/GrievanceTicketStatusChange.ts rename to src/frontend/src/apollo/mutations/grievances/GrievanceTicketStatusChange.ts diff --git a/frontend/src/apollo/mutations/grievances/ReassignRole.ts b/src/frontend/src/apollo/mutations/grievances/ReassignRole.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/ReassignRole.ts rename to src/frontend/src/apollo/mutations/grievances/ReassignRole.ts diff --git a/frontend/src/apollo/mutations/grievances/UpdateGrievanceTicket.ts b/src/frontend/src/apollo/mutations/grievances/UpdateGrievanceTicket.ts similarity index 100% rename from frontend/src/apollo/mutations/grievances/UpdateGrievanceTicket.ts rename to src/frontend/src/apollo/mutations/grievances/UpdateGrievanceTicket.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/ActionPaymentPlanMutation.ts b/src/frontend/src/apollo/mutations/paymentmodule/ActionPaymentPlanMutation.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/ActionPaymentPlanMutation.ts rename to src/frontend/src/apollo/mutations/paymentmodule/ActionPaymentPlanMutation.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/AssignFspToDeliveryMechanism.ts b/src/frontend/src/apollo/mutations/paymentmodule/AssignFspToDeliveryMechanism.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/AssignFspToDeliveryMechanism.ts rename to src/frontend/src/apollo/mutations/paymentmodule/AssignFspToDeliveryMechanism.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/ChooseDeliveryMechanismsForPaymentPlan.ts b/src/frontend/src/apollo/mutations/paymentmodule/ChooseDeliveryMechanismsForPaymentPlan.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/ChooseDeliveryMechanismsForPaymentPlan.ts rename to src/frontend/src/apollo/mutations/paymentmodule/ChooseDeliveryMechanismsForPaymentPlan.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/CreateFollowUpPaymentPlan.ts b/src/frontend/src/apollo/mutations/paymentmodule/CreateFollowUpPaymentPlan.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/CreateFollowUpPaymentPlan.ts rename to src/frontend/src/apollo/mutations/paymentmodule/CreateFollowUpPaymentPlan.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/CreatePaymentPlan.ts b/src/frontend/src/apollo/mutations/paymentmodule/CreatePaymentPlan.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/CreatePaymentPlan.ts rename to src/frontend/src/apollo/mutations/paymentmodule/CreatePaymentPlan.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/DeletePaymentPlan.ts b/src/frontend/src/apollo/mutations/paymentmodule/DeletePaymentPlan.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/DeletePaymentPlan.ts rename to src/frontend/src/apollo/mutations/paymentmodule/DeletePaymentPlan.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/EditPaymentPlan.ts b/src/frontend/src/apollo/mutations/paymentmodule/EditPaymentPlan.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/EditPaymentPlan.ts rename to src/frontend/src/apollo/mutations/paymentmodule/EditPaymentPlan.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/ExcludeHouseholdsPaymentPlan.ts b/src/frontend/src/apollo/mutations/paymentmodule/ExcludeHouseholdsPaymentPlan.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/ExcludeHouseholdsPaymentPlan.ts rename to src/frontend/src/apollo/mutations/paymentmodule/ExcludeHouseholdsPaymentPlan.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/ExportPdfPaymentPlanSummary.ts b/src/frontend/src/apollo/mutations/paymentmodule/ExportPdfPaymentPlanSummary.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/ExportPdfPaymentPlanSummary.ts rename to src/frontend/src/apollo/mutations/paymentmodule/ExportPdfPaymentPlanSummary.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/ExportXlsxPaymentPlanPaymentList.ts b/src/frontend/src/apollo/mutations/paymentmodule/ExportXlsxPaymentPlanPaymentList.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/ExportXlsxPaymentPlanPaymentList.ts rename to src/frontend/src/apollo/mutations/paymentmodule/ExportXlsxPaymentPlanPaymentList.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/ExportXlsxPaymentPlanPaymentListPerFsp.ts b/src/frontend/src/apollo/mutations/paymentmodule/ExportXlsxPaymentPlanPaymentListPerFsp.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/ExportXlsxPaymentPlanPaymentListPerFsp.ts rename to src/frontend/src/apollo/mutations/paymentmodule/ExportXlsxPaymentPlanPaymentListPerFsp.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/ImportXlsxPaymentPlanPaymentList.ts b/src/frontend/src/apollo/mutations/paymentmodule/ImportXlsxPaymentPlanPaymentList.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/ImportXlsxPaymentPlanPaymentList.ts rename to src/frontend/src/apollo/mutations/paymentmodule/ImportXlsxPaymentPlanPaymentList.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/ImportXlsxPaymentPlanPaymentListPerFsp.ts b/src/frontend/src/apollo/mutations/paymentmodule/ImportXlsxPaymentPlanPaymentListPerFsp.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/ImportXlsxPaymentPlanPaymentListPerFsp.ts rename to src/frontend/src/apollo/mutations/paymentmodule/ImportXlsxPaymentPlanPaymentListPerFsp.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/MarkPaymentAsFailed.ts b/src/frontend/src/apollo/mutations/paymentmodule/MarkPaymentAsFailed.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/MarkPaymentAsFailed.ts rename to src/frontend/src/apollo/mutations/paymentmodule/MarkPaymentAsFailed.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/RevertMarkPaymentAsFailed.ts b/src/frontend/src/apollo/mutations/paymentmodule/RevertMarkPaymentAsFailed.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/RevertMarkPaymentAsFailed.ts rename to src/frontend/src/apollo/mutations/paymentmodule/RevertMarkPaymentAsFailed.ts diff --git a/frontend/src/apollo/mutations/paymentmodule/SetSteficonRuleOnPaymentPlanPaymentList.ts b/src/frontend/src/apollo/mutations/paymentmodule/SetSteficonRuleOnPaymentPlanPaymentList.ts similarity index 100% rename from frontend/src/apollo/mutations/paymentmodule/SetSteficonRuleOnPaymentPlanPaymentList.ts rename to src/frontend/src/apollo/mutations/paymentmodule/SetSteficonRuleOnPaymentPlanPaymentList.ts diff --git a/frontend/src/apollo/mutations/payments/ActivateCashPlanPaymentVerification.ts b/src/frontend/src/apollo/mutations/payments/ActivateCashPlanPaymentVerification.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/ActivateCashPlanPaymentVerification.ts rename to src/frontend/src/apollo/mutations/payments/ActivateCashPlanPaymentVerification.ts diff --git a/frontend/src/apollo/mutations/payments/CreatePaymentVerificationPlan.ts b/src/frontend/src/apollo/mutations/payments/CreatePaymentVerificationPlan.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/CreatePaymentVerificationPlan.ts rename to src/frontend/src/apollo/mutations/payments/CreatePaymentVerificationPlan.ts diff --git a/frontend/src/apollo/mutations/payments/DeleteCashPlanPaymentVerification.ts b/src/frontend/src/apollo/mutations/payments/DeleteCashPlanPaymentVerification.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/DeleteCashPlanPaymentVerification.ts rename to src/frontend/src/apollo/mutations/payments/DeleteCashPlanPaymentVerification.ts diff --git a/frontend/src/apollo/mutations/payments/DiscardCashPlanPaymentVerification.ts b/src/frontend/src/apollo/mutations/payments/DiscardCashPlanPaymentVerification.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/DiscardCashPlanPaymentVerification.ts rename to src/frontend/src/apollo/mutations/payments/DiscardCashPlanPaymentVerification.ts diff --git a/frontend/src/apollo/mutations/payments/EditPaymentVerificationPlan.ts b/src/frontend/src/apollo/mutations/payments/EditPaymentVerificationPlan.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/EditPaymentVerificationPlan.ts rename to src/frontend/src/apollo/mutations/payments/EditPaymentVerificationPlan.ts diff --git a/frontend/src/apollo/mutations/payments/ExportXlsxCashPlanVerification.ts b/src/frontend/src/apollo/mutations/payments/ExportXlsxCashPlanVerification.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/ExportXlsxCashPlanVerification.ts rename to src/frontend/src/apollo/mutations/payments/ExportXlsxCashPlanVerification.ts diff --git a/frontend/src/apollo/mutations/payments/FinishPaymentVerificationPlan.ts b/src/frontend/src/apollo/mutations/payments/FinishPaymentVerificationPlan.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/FinishPaymentVerificationPlan.ts rename to src/frontend/src/apollo/mutations/payments/FinishPaymentVerificationPlan.ts diff --git a/frontend/src/apollo/mutations/payments/ImportXlsxCashPlanVerification.ts b/src/frontend/src/apollo/mutations/payments/ImportXlsxCashPlanVerification.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/ImportXlsxCashPlanVerification.ts rename to src/frontend/src/apollo/mutations/payments/ImportXlsxCashPlanVerification.ts diff --git a/frontend/src/apollo/mutations/payments/InvalidCashPlanPaymentVerification.ts b/src/frontend/src/apollo/mutations/payments/InvalidCashPlanPaymentVerification.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/InvalidCashPlanPaymentVerification.ts rename to src/frontend/src/apollo/mutations/payments/InvalidCashPlanPaymentVerification.ts diff --git a/frontend/src/apollo/mutations/payments/MarkPaymentRecordAsFailed.ts b/src/frontend/src/apollo/mutations/payments/MarkPaymentRecordAsFailed.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/MarkPaymentRecordAsFailed.ts rename to src/frontend/src/apollo/mutations/payments/MarkPaymentRecordAsFailed.ts diff --git a/frontend/src/apollo/mutations/payments/RevertMarkPaymentRecordAsFailed.ts b/src/frontend/src/apollo/mutations/payments/RevertMarkPaymentRecordAsFailed.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/RevertMarkPaymentRecordAsFailed.ts rename to src/frontend/src/apollo/mutations/payments/RevertMarkPaymentRecordAsFailed.ts diff --git a/frontend/src/apollo/mutations/payments/SplitPaymentPlan.ts b/src/frontend/src/apollo/mutations/payments/SplitPaymentPlan.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/SplitPaymentPlan.ts rename to src/frontend/src/apollo/mutations/payments/SplitPaymentPlan.ts diff --git a/frontend/src/apollo/mutations/payments/UpdatePaymentVerificationReceivedAndReceivedAmount.ts b/src/frontend/src/apollo/mutations/payments/UpdatePaymentVerificationReceivedAndReceivedAmount.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/UpdatePaymentVerificationReceivedAndReceivedAmount.ts rename to src/frontend/src/apollo/mutations/payments/UpdatePaymentVerificationReceivedAndReceivedAmount.ts diff --git a/frontend/src/apollo/mutations/payments/UpdatePaymentVerificationStatusAndReceivedAmount.ts b/src/frontend/src/apollo/mutations/payments/UpdatePaymentVerificationStatusAndReceivedAmount.ts similarity index 100% rename from frontend/src/apollo/mutations/payments/UpdatePaymentVerificationStatusAndReceivedAmount.ts rename to src/frontend/src/apollo/mutations/payments/UpdatePaymentVerificationStatusAndReceivedAmount.ts diff --git a/frontend/src/apollo/mutations/program/CopyProgram.ts b/src/frontend/src/apollo/mutations/program/CopyProgram.ts similarity index 100% rename from frontend/src/apollo/mutations/program/CopyProgram.ts rename to src/frontend/src/apollo/mutations/program/CopyProgram.ts diff --git a/frontend/src/apollo/mutations/program/CreateProgram.ts b/src/frontend/src/apollo/mutations/program/CreateProgram.ts similarity index 100% rename from frontend/src/apollo/mutations/program/CreateProgram.ts rename to src/frontend/src/apollo/mutations/program/CreateProgram.ts diff --git a/frontend/src/apollo/mutations/program/DeleteProgram.ts b/src/frontend/src/apollo/mutations/program/DeleteProgram.ts similarity index 100% rename from frontend/src/apollo/mutations/program/DeleteProgram.ts rename to src/frontend/src/apollo/mutations/program/DeleteProgram.ts diff --git a/frontend/src/apollo/mutations/program/UpdateProgram.ts b/src/frontend/src/apollo/mutations/program/UpdateProgram.ts similarity index 100% rename from frontend/src/apollo/mutations/program/UpdateProgram.ts rename to src/frontend/src/apollo/mutations/program/UpdateProgram.ts diff --git a/frontend/src/apollo/mutations/rdi/CreateRegistrationKoboImport.ts b/src/frontend/src/apollo/mutations/rdi/CreateRegistrationKoboImport.ts similarity index 100% rename from frontend/src/apollo/mutations/rdi/CreateRegistrationKoboImport.ts rename to src/frontend/src/apollo/mutations/rdi/CreateRegistrationKoboImport.ts diff --git a/frontend/src/apollo/mutations/rdi/CreateRegistrationProgramPopulationImport.ts b/src/frontend/src/apollo/mutations/rdi/CreateRegistrationProgramPopulationImport.ts similarity index 100% rename from frontend/src/apollo/mutations/rdi/CreateRegistrationProgramPopulationImport.ts rename to src/frontend/src/apollo/mutations/rdi/CreateRegistrationProgramPopulationImport.ts diff --git a/frontend/src/apollo/mutations/rdi/CreateRegistrationXlsxImport.ts b/src/frontend/src/apollo/mutations/rdi/CreateRegistrationXlsxImport.ts similarity index 100% rename from frontend/src/apollo/mutations/rdi/CreateRegistrationXlsxImport.ts rename to src/frontend/src/apollo/mutations/rdi/CreateRegistrationXlsxImport.ts diff --git a/frontend/src/apollo/mutations/rdi/EraseRDI.ts b/src/frontend/src/apollo/mutations/rdi/EraseRDI.ts similarity index 100% rename from frontend/src/apollo/mutations/rdi/EraseRDI.ts rename to src/frontend/src/apollo/mutations/rdi/EraseRDI.ts diff --git a/frontend/src/apollo/mutations/rdi/MergeRegistrationDataImport.ts b/src/frontend/src/apollo/mutations/rdi/MergeRegistrationDataImport.ts similarity index 100% rename from frontend/src/apollo/mutations/rdi/MergeRegistrationDataImport.ts rename to src/frontend/src/apollo/mutations/rdi/MergeRegistrationDataImport.ts diff --git a/frontend/src/apollo/mutations/rdi/RefuseRDI.ts b/src/frontend/src/apollo/mutations/rdi/RefuseRDI.ts similarity index 100% rename from frontend/src/apollo/mutations/rdi/RefuseRDI.ts rename to src/frontend/src/apollo/mutations/rdi/RefuseRDI.ts diff --git a/frontend/src/apollo/mutations/rdi/RerunDedupe.ts b/src/frontend/src/apollo/mutations/rdi/RerunDedupe.ts similarity index 100% rename from frontend/src/apollo/mutations/rdi/RerunDedupe.ts rename to src/frontend/src/apollo/mutations/rdi/RerunDedupe.ts diff --git a/frontend/src/apollo/mutations/rdi/SaveKoboImportData.ts b/src/frontend/src/apollo/mutations/rdi/SaveKoboImportData.ts similarity index 100% rename from frontend/src/apollo/mutations/rdi/SaveKoboImportData.ts rename to src/frontend/src/apollo/mutations/rdi/SaveKoboImportData.ts diff --git a/frontend/src/apollo/mutations/rdi/SaveKoboImportDataAsync.ts b/src/frontend/src/apollo/mutations/rdi/SaveKoboImportDataAsync.ts similarity index 100% rename from frontend/src/apollo/mutations/rdi/SaveKoboImportDataAsync.ts rename to src/frontend/src/apollo/mutations/rdi/SaveKoboImportDataAsync.ts diff --git a/frontend/src/apollo/mutations/rdi/UploadImportDataXlsxFileAsync.ts b/src/frontend/src/apollo/mutations/rdi/UploadImportDataXlsxFileAsync.ts similarity index 100% rename from frontend/src/apollo/mutations/rdi/UploadImportDataXlsxFileAsync.ts rename to src/frontend/src/apollo/mutations/rdi/UploadImportDataXlsxFileAsync.ts diff --git a/frontend/src/apollo/mutations/reporting/CreateDashboardReport.ts b/src/frontend/src/apollo/mutations/reporting/CreateDashboardReport.ts similarity index 100% rename from frontend/src/apollo/mutations/reporting/CreateDashboardReport.ts rename to src/frontend/src/apollo/mutations/reporting/CreateDashboardReport.ts diff --git a/frontend/src/apollo/mutations/reporting/CreateReport.ts b/src/frontend/src/apollo/mutations/reporting/CreateReport.ts similarity index 100% rename from frontend/src/apollo/mutations/reporting/CreateReport.ts rename to src/frontend/src/apollo/mutations/reporting/CreateReport.ts diff --git a/frontend/src/apollo/mutations/reporting/RestartCreateReport.ts b/src/frontend/src/apollo/mutations/reporting/RestartCreateReport.ts similarity index 100% rename from frontend/src/apollo/mutations/reporting/RestartCreateReport.ts rename to src/frontend/src/apollo/mutations/reporting/RestartCreateReport.ts diff --git a/frontend/src/apollo/mutations/targeting/CreateTargetPopulation.ts b/src/frontend/src/apollo/mutations/targeting/CreateTargetPopulation.ts similarity index 100% rename from frontend/src/apollo/mutations/targeting/CreateTargetPopulation.ts rename to src/frontend/src/apollo/mutations/targeting/CreateTargetPopulation.ts diff --git a/frontend/src/apollo/mutations/targeting/DeleteTargetPopulation.ts b/src/frontend/src/apollo/mutations/targeting/DeleteTargetPopulation.ts similarity index 100% rename from frontend/src/apollo/mutations/targeting/DeleteTargetPopulation.ts rename to src/frontend/src/apollo/mutations/targeting/DeleteTargetPopulation.ts diff --git a/frontend/src/apollo/mutations/targeting/DuplicateTargetPopulation.ts b/src/frontend/src/apollo/mutations/targeting/DuplicateTargetPopulation.ts similarity index 100% rename from frontend/src/apollo/mutations/targeting/DuplicateTargetPopulation.ts rename to src/frontend/src/apollo/mutations/targeting/DuplicateTargetPopulation.ts diff --git a/frontend/src/apollo/mutations/targeting/FinalizeTargetPopulation.ts b/src/frontend/src/apollo/mutations/targeting/FinalizeTargetPopulation.ts similarity index 100% rename from frontend/src/apollo/mutations/targeting/FinalizeTargetPopulation.ts rename to src/frontend/src/apollo/mutations/targeting/FinalizeTargetPopulation.ts diff --git a/frontend/src/apollo/mutations/targeting/LockTargetPopulation.ts b/src/frontend/src/apollo/mutations/targeting/LockTargetPopulation.ts similarity index 100% rename from frontend/src/apollo/mutations/targeting/LockTargetPopulation.ts rename to src/frontend/src/apollo/mutations/targeting/LockTargetPopulation.ts diff --git a/frontend/src/apollo/mutations/targeting/RebuildTargetPopulation.ts b/src/frontend/src/apollo/mutations/targeting/RebuildTargetPopulation.ts similarity index 100% rename from frontend/src/apollo/mutations/targeting/RebuildTargetPopulation.ts rename to src/frontend/src/apollo/mutations/targeting/RebuildTargetPopulation.ts diff --git a/frontend/src/apollo/mutations/targeting/SetSteficonRuleOnTargetPopulation.ts b/src/frontend/src/apollo/mutations/targeting/SetSteficonRuleOnTargetPopulation.ts similarity index 100% rename from frontend/src/apollo/mutations/targeting/SetSteficonRuleOnTargetPopulation.ts rename to src/frontend/src/apollo/mutations/targeting/SetSteficonRuleOnTargetPopulation.ts diff --git a/frontend/src/apollo/mutations/targeting/UnlockTargetPopulation.ts b/src/frontend/src/apollo/mutations/targeting/UnlockTargetPopulation.ts similarity index 100% rename from frontend/src/apollo/mutations/targeting/UnlockTargetPopulation.ts rename to src/frontend/src/apollo/mutations/targeting/UnlockTargetPopulation.ts diff --git a/frontend/src/apollo/mutations/targeting/UpdateTargetPopulation.ts b/src/frontend/src/apollo/mutations/targeting/UpdateTargetPopulation.ts similarity index 100% rename from frontend/src/apollo/mutations/targeting/UpdateTargetPopulation.ts rename to src/frontend/src/apollo/mutations/targeting/UpdateTargetPopulation.ts diff --git a/frontend/src/apollo/queries/communication/AccountabilityCommunicationMessage.ts b/src/frontend/src/apollo/queries/communication/AccountabilityCommunicationMessage.ts similarity index 100% rename from frontend/src/apollo/queries/communication/AccountabilityCommunicationMessage.ts rename to src/frontend/src/apollo/queries/communication/AccountabilityCommunicationMessage.ts diff --git a/frontend/src/apollo/queries/communication/AccountabilityCommunicationMessageSampleSize.ts b/src/frontend/src/apollo/queries/communication/AccountabilityCommunicationMessageSampleSize.ts similarity index 100% rename from frontend/src/apollo/queries/communication/AccountabilityCommunicationMessageSampleSize.ts rename to src/frontend/src/apollo/queries/communication/AccountabilityCommunicationMessageSampleSize.ts diff --git a/frontend/src/apollo/queries/communication/AccountabilitySampleSize.ts b/src/frontend/src/apollo/queries/communication/AccountabilitySampleSize.ts similarity index 100% rename from frontend/src/apollo/queries/communication/AccountabilitySampleSize.ts rename to src/frontend/src/apollo/queries/communication/AccountabilitySampleSize.ts diff --git a/frontend/src/apollo/queries/communication/AllAccountabilityCommunicationMessageRecipients.ts b/src/frontend/src/apollo/queries/communication/AllAccountabilityCommunicationMessageRecipients.ts similarity index 100% rename from frontend/src/apollo/queries/communication/AllAccountabilityCommunicationMessageRecipients.ts rename to src/frontend/src/apollo/queries/communication/AllAccountabilityCommunicationMessageRecipients.ts diff --git a/frontend/src/apollo/queries/communication/allAccountabilityCommunicationMessages.ts b/src/frontend/src/apollo/queries/communication/allAccountabilityCommunicationMessages.ts similarity index 100% rename from frontend/src/apollo/queries/communication/allAccountabilityCommunicationMessages.ts rename to src/frontend/src/apollo/queries/communication/allAccountabilityCommunicationMessages.ts diff --git a/frontend/src/apollo/queries/core/AllAdminAreas.ts b/src/frontend/src/apollo/queries/core/AllAdminAreas.ts similarity index 100% rename from frontend/src/apollo/queries/core/AllAdminAreas.ts rename to src/frontend/src/apollo/queries/core/AllAdminAreas.ts diff --git a/frontend/src/apollo/queries/core/AllAreasTree.ts b/src/frontend/src/apollo/queries/core/AllAreasTree.ts similarity index 100% rename from frontend/src/apollo/queries/core/AllAreasTree.ts rename to src/frontend/src/apollo/queries/core/AllAreasTree.ts diff --git a/frontend/src/apollo/queries/core/AllBussinesAreas.ts b/src/frontend/src/apollo/queries/core/AllBussinesAreas.ts similarity index 100% rename from frontend/src/apollo/queries/core/AllBussinesAreas.ts rename to src/frontend/src/apollo/queries/core/AllBussinesAreas.ts diff --git a/frontend/src/apollo/queries/core/AllLogEntries.ts b/src/frontend/src/apollo/queries/core/AllLogEntries.ts similarity index 100% rename from frontend/src/apollo/queries/core/AllLogEntries.ts rename to src/frontend/src/apollo/queries/core/AllLogEntries.ts diff --git a/frontend/src/apollo/queries/core/AllSanctionListIndividuals.ts b/src/frontend/src/apollo/queries/core/AllSanctionListIndividuals.ts similarity index 100% rename from frontend/src/apollo/queries/core/AllSanctionListIndividuals.ts rename to src/frontend/src/apollo/queries/core/AllSanctionListIndividuals.ts diff --git a/frontend/src/apollo/queries/core/AllUsers.ts b/src/frontend/src/apollo/queries/core/AllUsers.ts similarity index 100% rename from frontend/src/apollo/queries/core/AllUsers.ts rename to src/frontend/src/apollo/queries/core/AllUsers.ts diff --git a/frontend/src/apollo/queries/core/AllUsersForFilters.ts b/src/frontend/src/apollo/queries/core/AllUsersForFilters.ts similarity index 100% rename from frontend/src/apollo/queries/core/AllUsersForFilters.ts rename to src/frontend/src/apollo/queries/core/AllUsersForFilters.ts diff --git a/frontend/src/apollo/queries/core/BusinessAreaData.ts b/src/frontend/src/apollo/queries/core/BusinessAreaData.ts similarity index 100% rename from frontend/src/apollo/queries/core/BusinessAreaData.ts rename to src/frontend/src/apollo/queries/core/BusinessAreaData.ts diff --git a/frontend/src/apollo/queries/core/CashAssistUrlPrefix.ts b/src/frontend/src/apollo/queries/core/CashAssistUrlPrefix.ts similarity index 100% rename from frontend/src/apollo/queries/core/CashAssistUrlPrefix.ts rename to src/frontend/src/apollo/queries/core/CashAssistUrlPrefix.ts diff --git a/frontend/src/apollo/queries/core/CurrencyChoices.ts b/src/frontend/src/apollo/queries/core/CurrencyChoices.ts similarity index 100% rename from frontend/src/apollo/queries/core/CurrencyChoices.ts rename to src/frontend/src/apollo/queries/core/CurrencyChoices.ts diff --git a/frontend/src/apollo/queries/core/DataCollectionTypeChoiceData.ts b/src/frontend/src/apollo/queries/core/DataCollectionTypeChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/core/DataCollectionTypeChoiceData.ts rename to src/frontend/src/apollo/queries/core/DataCollectionTypeChoiceData.ts diff --git a/frontend/src/apollo/queries/core/LoggedChecker.ts b/src/frontend/src/apollo/queries/core/LoggedChecker.ts similarity index 100% rename from frontend/src/apollo/queries/core/LoggedChecker.ts rename to src/frontend/src/apollo/queries/core/LoggedChecker.ts diff --git a/frontend/src/apollo/queries/core/Me.ts b/src/frontend/src/apollo/queries/core/Me.ts similarity index 100% rename from frontend/src/apollo/queries/core/Me.ts rename to src/frontend/src/apollo/queries/core/Me.ts diff --git a/frontend/src/apollo/queries/core/UserChoiceData.ts b/src/frontend/src/apollo/queries/core/UserChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/core/UserChoiceData.ts rename to src/frontend/src/apollo/queries/core/UserChoiceData.ts diff --git a/frontend/src/apollo/queries/core/attributes/AllAddIndividualFields.ts b/src/frontend/src/apollo/queries/core/attributes/AllAddIndividualFields.ts similarity index 100% rename from frontend/src/apollo/queries/core/attributes/AllAddIndividualFields.ts rename to src/frontend/src/apollo/queries/core/attributes/AllAddIndividualFields.ts diff --git a/frontend/src/apollo/queries/core/attributes/AllEditHouseholdFields.ts b/src/frontend/src/apollo/queries/core/attributes/AllEditHouseholdFields.ts similarity index 100% rename from frontend/src/apollo/queries/core/attributes/AllEditHouseholdFields.ts rename to src/frontend/src/apollo/queries/core/attributes/AllEditHouseholdFields.ts diff --git a/frontend/src/apollo/queries/core/attributes/AllHouseholdsFlexFieldsAttributes.ts b/src/frontend/src/apollo/queries/core/attributes/AllHouseholdsFlexFieldsAttributes.ts similarity index 100% rename from frontend/src/apollo/queries/core/attributes/AllHouseholdsFlexFieldsAttributes.ts rename to src/frontend/src/apollo/queries/core/attributes/AllHouseholdsFlexFieldsAttributes.ts diff --git a/frontend/src/apollo/queries/core/attributes/AllIndividualsFlexFieldsAttributes.ts b/src/frontend/src/apollo/queries/core/attributes/AllIndividualsFlexFieldsAttributes.ts similarity index 100% rename from frontend/src/apollo/queries/core/attributes/AllIndividualsFlexFieldsAttributes.ts rename to src/frontend/src/apollo/queries/core/attributes/AllIndividualsFlexFieldsAttributes.ts diff --git a/frontend/src/apollo/queries/core/attributes/AllPDUFields.ts b/src/frontend/src/apollo/queries/core/attributes/AllPDUFields.ts similarity index 100% rename from frontend/src/apollo/queries/core/attributes/AllPDUFields.ts rename to src/frontend/src/apollo/queries/core/attributes/AllPDUFields.ts diff --git a/frontend/src/apollo/queries/core/attributes/FlexFields.ts b/src/frontend/src/apollo/queries/core/attributes/FlexFields.ts similarity index 100% rename from frontend/src/apollo/queries/core/attributes/FlexFields.ts rename to src/frontend/src/apollo/queries/core/attributes/FlexFields.ts diff --git a/frontend/src/apollo/queries/core/attributes/ImportedIndividualFields.ts b/src/frontend/src/apollo/queries/core/attributes/ImportedIndividualFields.ts similarity index 100% rename from frontend/src/apollo/queries/core/attributes/ImportedIndividualFields.ts rename to src/frontend/src/apollo/queries/core/attributes/ImportedIndividualFields.ts diff --git a/frontend/src/apollo/queries/core/pduSubtypeChoicesData.ts b/src/frontend/src/apollo/queries/core/pduSubtypeChoicesData.ts similarity index 100% rename from frontend/src/apollo/queries/core/pduSubtypeChoicesData.ts rename to src/frontend/src/apollo/queries/core/pduSubtypeChoicesData.ts diff --git a/frontend/src/apollo/queries/feedback/AllFeedbacks.ts b/src/frontend/src/apollo/queries/feedback/AllFeedbacks.ts similarity index 100% rename from frontend/src/apollo/queries/feedback/AllFeedbacks.ts rename to src/frontend/src/apollo/queries/feedback/AllFeedbacks.ts diff --git a/frontend/src/apollo/queries/feedback/Feedback.ts b/src/frontend/src/apollo/queries/feedback/Feedback.ts similarity index 100% rename from frontend/src/apollo/queries/feedback/Feedback.ts rename to src/frontend/src/apollo/queries/feedback/Feedback.ts diff --git a/frontend/src/apollo/queries/feedback/FeedbackIssueTypeChoices.ts b/src/frontend/src/apollo/queries/feedback/FeedbackIssueTypeChoices.ts similarity index 100% rename from frontend/src/apollo/queries/feedback/FeedbackIssueTypeChoices.ts rename to src/frontend/src/apollo/queries/feedback/FeedbackIssueTypeChoices.ts diff --git a/frontend/src/apollo/queries/grievances/AllGrievanceDashboardCharts.ts b/src/frontend/src/apollo/queries/grievances/AllGrievanceDashboardCharts.ts similarity index 100% rename from frontend/src/apollo/queries/grievances/AllGrievanceDashboardCharts.ts rename to src/frontend/src/apollo/queries/grievances/AllGrievanceDashboardCharts.ts diff --git a/frontend/src/apollo/queries/grievances/AllGrievanceTicket.ts b/src/frontend/src/apollo/queries/grievances/AllGrievanceTicket.ts similarity index 100% rename from frontend/src/apollo/queries/grievances/AllGrievanceTicket.ts rename to src/frontend/src/apollo/queries/grievances/AllGrievanceTicket.ts diff --git a/frontend/src/apollo/queries/grievances/AllGrievanceTicketsAreaScope.ts.ts b/src/frontend/src/apollo/queries/grievances/AllGrievanceTicketsAreaScope.ts.ts similarity index 100% rename from frontend/src/apollo/queries/grievances/AllGrievanceTicketsAreaScope.ts.ts rename to src/frontend/src/apollo/queries/grievances/AllGrievanceTicketsAreaScope.ts.ts diff --git a/frontend/src/apollo/queries/grievances/ExistingGrievanceTickets.ts b/src/frontend/src/apollo/queries/grievances/ExistingGrievanceTickets.ts similarity index 100% rename from frontend/src/apollo/queries/grievances/ExistingGrievanceTickets.ts rename to src/frontend/src/apollo/queries/grievances/ExistingGrievanceTickets.ts diff --git a/frontend/src/apollo/queries/grievances/GrievanceTicket.ts b/src/frontend/src/apollo/queries/grievances/GrievanceTicket.ts similarity index 100% rename from frontend/src/apollo/queries/grievances/GrievanceTicket.ts rename to src/frontend/src/apollo/queries/grievances/GrievanceTicket.ts diff --git a/frontend/src/apollo/queries/grievances/GrievanceTicketFlexFields.ts b/src/frontend/src/apollo/queries/grievances/GrievanceTicketFlexFields.ts similarity index 100% rename from frontend/src/apollo/queries/grievances/GrievanceTicketFlexFields.ts rename to src/frontend/src/apollo/queries/grievances/GrievanceTicketFlexFields.ts diff --git a/frontend/src/apollo/queries/grievances/GrievanceTicketUnicefId.ts b/src/frontend/src/apollo/queries/grievances/GrievanceTicketUnicefId.ts similarity index 100% rename from frontend/src/apollo/queries/grievances/GrievanceTicketUnicefId.ts rename to src/frontend/src/apollo/queries/grievances/GrievanceTicketUnicefId.ts diff --git a/frontend/src/apollo/queries/grievances/GrievancesChoiceData.ts b/src/frontend/src/apollo/queries/grievances/GrievancesChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/grievances/GrievancesChoiceData.ts rename to src/frontend/src/apollo/queries/grievances/GrievancesChoiceData.ts diff --git a/frontend/src/apollo/queries/grievances/PartnerForGrievanceChoiceData.ts b/src/frontend/src/apollo/queries/grievances/PartnerForGrievanceChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/grievances/PartnerForGrievanceChoiceData.ts rename to src/frontend/src/apollo/queries/grievances/PartnerForGrievanceChoiceData.ts diff --git a/frontend/src/apollo/queries/grievances/RelatedGrievanceTickets.ts b/src/frontend/src/apollo/queries/grievances/RelatedGrievanceTickets.ts similarity index 100% rename from frontend/src/apollo/queries/grievances/RelatedGrievanceTickets.ts rename to src/frontend/src/apollo/queries/grievances/RelatedGrievanceTickets.ts diff --git a/frontend/src/apollo/queries/paymentmodule/AllDeliveryMechanisms.ts b/src/frontend/src/apollo/queries/paymentmodule/AllDeliveryMechanisms.ts similarity index 100% rename from frontend/src/apollo/queries/paymentmodule/AllDeliveryMechanisms.ts rename to src/frontend/src/apollo/queries/paymentmodule/AllDeliveryMechanisms.ts diff --git a/frontend/src/apollo/queries/paymentmodule/AllPaymentPlansForTable.ts b/src/frontend/src/apollo/queries/paymentmodule/AllPaymentPlansForTable.ts similarity index 100% rename from frontend/src/apollo/queries/paymentmodule/AllPaymentPlansForTable.ts rename to src/frontend/src/apollo/queries/paymentmodule/AllPaymentPlansForTable.ts diff --git a/frontend/src/apollo/queries/paymentmodule/AvailableFspsForDeliveryMechanisms.ts b/src/frontend/src/apollo/queries/paymentmodule/AvailableFspsForDeliveryMechanisms.ts similarity index 100% rename from frontend/src/apollo/queries/paymentmodule/AvailableFspsForDeliveryMechanisms.ts rename to src/frontend/src/apollo/queries/paymentmodule/AvailableFspsForDeliveryMechanisms.ts diff --git a/frontend/src/apollo/queries/paymentmodule/Payment.ts b/src/frontend/src/apollo/queries/paymentmodule/Payment.ts similarity index 100% rename from frontend/src/apollo/queries/paymentmodule/Payment.ts rename to src/frontend/src/apollo/queries/paymentmodule/Payment.ts diff --git a/frontend/src/apollo/queries/paymentmodule/PaymentPlan.ts b/src/frontend/src/apollo/queries/paymentmodule/PaymentPlan.ts similarity index 100% rename from frontend/src/apollo/queries/paymentmodule/PaymentPlan.ts rename to src/frontend/src/apollo/queries/paymentmodule/PaymentPlan.ts diff --git a/frontend/src/apollo/queries/payments/AllCashPlans.ts b/src/frontend/src/apollo/queries/payments/AllCashPlans.ts similarity index 100% rename from frontend/src/apollo/queries/payments/AllCashPlans.ts rename to src/frontend/src/apollo/queries/payments/AllCashPlans.ts diff --git a/frontend/src/apollo/queries/payments/AllCashPlansAndPaymentPlans.ts b/src/frontend/src/apollo/queries/payments/AllCashPlansAndPaymentPlans.ts similarity index 100% rename from frontend/src/apollo/queries/payments/AllCashPlansAndPaymentPlans.ts rename to src/frontend/src/apollo/queries/payments/AllCashPlansAndPaymentPlans.ts diff --git a/frontend/src/apollo/queries/payments/AllPaymentRecords.ts b/src/frontend/src/apollo/queries/payments/AllPaymentRecords.ts similarity index 100% rename from frontend/src/apollo/queries/payments/AllPaymentRecords.ts rename to src/frontend/src/apollo/queries/payments/AllPaymentRecords.ts diff --git a/frontend/src/apollo/queries/payments/AllPaymentRecordsAndPayments.ts b/src/frontend/src/apollo/queries/payments/AllPaymentRecordsAndPayments.ts similarity index 100% rename from frontend/src/apollo/queries/payments/AllPaymentRecordsAndPayments.ts rename to src/frontend/src/apollo/queries/payments/AllPaymentRecordsAndPayments.ts diff --git a/frontend/src/apollo/queries/payments/AllPaymentsForTable.ts b/src/frontend/src/apollo/queries/payments/AllPaymentsForTable.ts similarity index 100% rename from frontend/src/apollo/queries/payments/AllPaymentsForTable.ts rename to src/frontend/src/apollo/queries/payments/AllPaymentsForTable.ts diff --git a/frontend/src/apollo/queries/payments/CashPlan.ts b/src/frontend/src/apollo/queries/payments/CashPlan.ts similarity index 100% rename from frontend/src/apollo/queries/payments/CashPlan.ts rename to src/frontend/src/apollo/queries/payments/CashPlan.ts diff --git a/frontend/src/apollo/queries/payments/IndividualPhotos.ts b/src/frontend/src/apollo/queries/payments/IndividualPhotos.ts similarity index 100% rename from frontend/src/apollo/queries/payments/IndividualPhotos.ts rename to src/frontend/src/apollo/queries/payments/IndividualPhotos.ts diff --git a/frontend/src/apollo/queries/payments/LookUpPaymentRecords.ts b/src/frontend/src/apollo/queries/payments/LookUpPaymentRecords.ts similarity index 100% rename from frontend/src/apollo/queries/payments/LookUpPaymentRecords.ts rename to src/frontend/src/apollo/queries/payments/LookUpPaymentRecords.ts diff --git a/frontend/src/apollo/queries/payments/PaymentRecord.ts b/src/frontend/src/apollo/queries/payments/PaymentRecord.ts similarity index 100% rename from frontend/src/apollo/queries/payments/PaymentRecord.ts rename to src/frontend/src/apollo/queries/payments/PaymentRecord.ts diff --git a/frontend/src/apollo/queries/payments/verification/AllPaymentVerificationLogEntries.ts b/src/frontend/src/apollo/queries/payments/verification/AllPaymentVerificationLogEntries.ts similarity index 100% rename from frontend/src/apollo/queries/payments/verification/AllPaymentVerificationLogEntries.ts rename to src/frontend/src/apollo/queries/payments/verification/AllPaymentVerificationLogEntries.ts diff --git a/frontend/src/apollo/queries/payments/verification/AllPaymentVerifications.ts b/src/frontend/src/apollo/queries/payments/verification/AllPaymentVerifications.ts similarity index 100% rename from frontend/src/apollo/queries/payments/verification/AllPaymentVerifications.ts rename to src/frontend/src/apollo/queries/payments/verification/AllPaymentVerifications.ts diff --git a/frontend/src/apollo/queries/payments/verification/AllRapidProFlows.ts b/src/frontend/src/apollo/queries/payments/verification/AllRapidProFlows.ts similarity index 100% rename from frontend/src/apollo/queries/payments/verification/AllRapidProFlows.ts rename to src/frontend/src/apollo/queries/payments/verification/AllRapidProFlows.ts diff --git a/frontend/src/apollo/queries/payments/verification/CashPlanPaymentVerification.ts b/src/frontend/src/apollo/queries/payments/verification/CashPlanPaymentVerification.ts similarity index 100% rename from frontend/src/apollo/queries/payments/verification/CashPlanPaymentVerification.ts rename to src/frontend/src/apollo/queries/payments/verification/CashPlanPaymentVerification.ts diff --git a/frontend/src/apollo/queries/payments/verification/CashPlanVerificationStatusChoices.ts b/src/frontend/src/apollo/queries/payments/verification/CashPlanVerificationStatusChoices.ts similarity index 100% rename from frontend/src/apollo/queries/payments/verification/CashPlanVerificationStatusChoices.ts rename to src/frontend/src/apollo/queries/payments/verification/CashPlanVerificationStatusChoices.ts diff --git a/frontend/src/apollo/queries/payments/verification/PaymentPlanStatusChoices.ts b/src/frontend/src/apollo/queries/payments/verification/PaymentPlanStatusChoices.ts similarity index 100% rename from frontend/src/apollo/queries/payments/verification/PaymentPlanStatusChoices.ts rename to src/frontend/src/apollo/queries/payments/verification/PaymentPlanStatusChoices.ts diff --git a/frontend/src/apollo/queries/payments/verification/PaymentRecordVerification.ts b/src/frontend/src/apollo/queries/payments/verification/PaymentRecordVerification.ts similarity index 100% rename from frontend/src/apollo/queries/payments/verification/PaymentRecordVerification.ts rename to src/frontend/src/apollo/queries/payments/verification/PaymentRecordVerification.ts diff --git a/frontend/src/apollo/queries/payments/verification/PaymentVerificationChoices.ts b/src/frontend/src/apollo/queries/payments/verification/PaymentVerificationChoices.ts similarity index 100% rename from frontend/src/apollo/queries/payments/verification/PaymentVerificationChoices.ts rename to src/frontend/src/apollo/queries/payments/verification/PaymentVerificationChoices.ts diff --git a/frontend/src/apollo/queries/payments/verification/SampleSize.ts b/src/frontend/src/apollo/queries/payments/verification/SampleSize.ts similarity index 100% rename from frontend/src/apollo/queries/payments/verification/SampleSize.ts rename to src/frontend/src/apollo/queries/payments/verification/SampleSize.ts diff --git a/frontend/src/apollo/queries/payments/verification/SamplingChoices.ts b/src/frontend/src/apollo/queries/payments/verification/SamplingChoices.ts similarity index 100% rename from frontend/src/apollo/queries/payments/verification/SamplingChoices.ts rename to src/frontend/src/apollo/queries/payments/verification/SamplingChoices.ts diff --git a/frontend/src/apollo/queries/population/AllHouseholds.ts b/src/frontend/src/apollo/queries/population/AllHouseholds.ts similarity index 100% rename from frontend/src/apollo/queries/population/AllHouseholds.ts rename to src/frontend/src/apollo/queries/population/AllHouseholds.ts diff --git a/frontend/src/apollo/queries/population/AllHouseholdsForPopulationTable.ts b/src/frontend/src/apollo/queries/population/AllHouseholdsForPopulationTable.ts similarity index 100% rename from frontend/src/apollo/queries/population/AllHouseholdsForPopulationTable.ts rename to src/frontend/src/apollo/queries/population/AllHouseholdsForPopulationTable.ts diff --git a/frontend/src/apollo/queries/population/AllIndividuals.ts b/src/frontend/src/apollo/queries/population/AllIndividuals.ts similarity index 100% rename from frontend/src/apollo/queries/population/AllIndividuals.ts rename to src/frontend/src/apollo/queries/population/AllIndividuals.ts diff --git a/frontend/src/apollo/queries/population/AllIndividualsForPopulationTable.ts b/src/frontend/src/apollo/queries/population/AllIndividualsForPopulationTable.ts similarity index 100% rename from frontend/src/apollo/queries/population/AllIndividualsForPopulationTable.ts rename to src/frontend/src/apollo/queries/population/AllIndividualsForPopulationTable.ts diff --git a/frontend/src/apollo/queries/population/Household.ts b/src/frontend/src/apollo/queries/population/Household.ts similarity index 100% rename from frontend/src/apollo/queries/population/Household.ts rename to src/frontend/src/apollo/queries/population/Household.ts diff --git a/frontend/src/apollo/queries/population/HouseholdChoiceData.ts b/src/frontend/src/apollo/queries/population/HouseholdChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/population/HouseholdChoiceData.ts rename to src/frontend/src/apollo/queries/population/HouseholdChoiceData.ts diff --git a/frontend/src/apollo/queries/population/HouseholdFlexFields.ts b/src/frontend/src/apollo/queries/population/HouseholdFlexFields.ts similarity index 100% rename from frontend/src/apollo/queries/population/HouseholdFlexFields.ts rename to src/frontend/src/apollo/queries/population/HouseholdFlexFields.ts diff --git a/frontend/src/apollo/queries/population/Individual.ts b/src/frontend/src/apollo/queries/population/Individual.ts similarity index 100% rename from frontend/src/apollo/queries/population/Individual.ts rename to src/frontend/src/apollo/queries/population/Individual.ts diff --git a/frontend/src/apollo/queries/population/IndividualChoiceData.ts b/src/frontend/src/apollo/queries/population/IndividualChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/population/IndividualChoiceData.ts rename to src/frontend/src/apollo/queries/population/IndividualChoiceData.ts diff --git a/frontend/src/apollo/queries/population/IndividualFlexFields.ts b/src/frontend/src/apollo/queries/population/IndividualFlexFields.ts similarity index 100% rename from frontend/src/apollo/queries/population/IndividualFlexFields.ts rename to src/frontend/src/apollo/queries/population/IndividualFlexFields.ts diff --git a/frontend/src/apollo/queries/program/AllActivePrograms.ts b/src/frontend/src/apollo/queries/program/AllActivePrograms.ts similarity index 100% rename from frontend/src/apollo/queries/program/AllActivePrograms.ts rename to src/frontend/src/apollo/queries/program/AllActivePrograms.ts diff --git a/frontend/src/apollo/queries/program/AllPrograms.ts b/src/frontend/src/apollo/queries/program/AllPrograms.ts similarity index 100% rename from frontend/src/apollo/queries/program/AllPrograms.ts rename to src/frontend/src/apollo/queries/program/AllPrograms.ts diff --git a/frontend/src/apollo/queries/program/AllProgramsForChoices.ts b/src/frontend/src/apollo/queries/program/AllProgramsForChoices.ts similarity index 100% rename from frontend/src/apollo/queries/program/AllProgramsForChoices.ts rename to src/frontend/src/apollo/queries/program/AllProgramsForChoices.ts diff --git a/frontend/src/apollo/queries/program/AllProgramsForTable.ts b/src/frontend/src/apollo/queries/program/AllProgramsForTable.ts similarity index 100% rename from frontend/src/apollo/queries/program/AllProgramsForTable.ts rename to src/frontend/src/apollo/queries/program/AllProgramsForTable.ts diff --git a/frontend/src/apollo/queries/program/DeduplicationFlags.ts b/src/frontend/src/apollo/queries/program/DeduplicationFlags.ts similarity index 100% rename from frontend/src/apollo/queries/program/DeduplicationFlags.ts rename to src/frontend/src/apollo/queries/program/DeduplicationFlags.ts diff --git a/frontend/src/apollo/queries/program/Program.ts b/src/frontend/src/apollo/queries/program/Program.ts similarity index 100% rename from frontend/src/apollo/queries/program/Program.ts rename to src/frontend/src/apollo/queries/program/Program.ts diff --git a/frontend/src/apollo/queries/program/ProgrammeChoiceData.ts b/src/frontend/src/apollo/queries/program/ProgrammeChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/program/ProgrammeChoiceData.ts rename to src/frontend/src/apollo/queries/program/ProgrammeChoiceData.ts diff --git a/frontend/src/apollo/queries/program/UserPartnerChoices.ts b/src/frontend/src/apollo/queries/program/UserPartnerChoices.ts similarity index 100% rename from frontend/src/apollo/queries/program/UserPartnerChoices.ts rename to src/frontend/src/apollo/queries/program/UserPartnerChoices.ts diff --git a/frontend/src/apollo/queries/rdi/AllImportedHouseholds.ts b/src/frontend/src/apollo/queries/rdi/AllImportedHouseholds.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/AllImportedHouseholds.ts rename to src/frontend/src/apollo/queries/rdi/AllImportedHouseholds.ts diff --git a/frontend/src/apollo/queries/rdi/AllImportedIndividuals.ts b/src/frontend/src/apollo/queries/rdi/AllImportedIndividuals.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/AllImportedIndividuals.ts rename to src/frontend/src/apollo/queries/rdi/AllImportedIndividuals.ts diff --git a/frontend/src/apollo/queries/rdi/AllKoboProjects.ts b/src/frontend/src/apollo/queries/rdi/AllKoboProjects.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/AllKoboProjects.ts rename to src/frontend/src/apollo/queries/rdi/AllKoboProjects.ts diff --git a/frontend/src/apollo/queries/rdi/AllMergedHouseholds.ts b/src/frontend/src/apollo/queries/rdi/AllMergedHouseholds.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/AllMergedHouseholds.ts rename to src/frontend/src/apollo/queries/rdi/AllMergedHouseholds.ts diff --git a/frontend/src/apollo/queries/rdi/AllMergedIndividuals.ts b/src/frontend/src/apollo/queries/rdi/AllMergedIndividuals.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/AllMergedIndividuals.ts rename to src/frontend/src/apollo/queries/rdi/AllMergedIndividuals.ts diff --git a/frontend/src/apollo/queries/rdi/AllRegistrationDataImports.ts b/src/frontend/src/apollo/queries/rdi/AllRegistrationDataImports.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/AllRegistrationDataImports.ts rename to src/frontend/src/apollo/queries/rdi/AllRegistrationDataImports.ts diff --git a/frontend/src/apollo/queries/rdi/ImportedHousehold.ts b/src/frontend/src/apollo/queries/rdi/ImportedHousehold.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/ImportedHousehold.ts rename to src/frontend/src/apollo/queries/rdi/ImportedHousehold.ts diff --git a/frontend/src/apollo/queries/rdi/ImportedIndividual.ts b/src/frontend/src/apollo/queries/rdi/ImportedIndividual.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/ImportedIndividual.ts rename to src/frontend/src/apollo/queries/rdi/ImportedIndividual.ts diff --git a/frontend/src/apollo/queries/rdi/ImportedIndividualFlexFields.ts b/src/frontend/src/apollo/queries/rdi/ImportedIndividualFlexFields.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/ImportedIndividualFlexFields.ts rename to src/frontend/src/apollo/queries/rdi/ImportedIndividualFlexFields.ts diff --git a/frontend/src/apollo/queries/rdi/KoboImportData.ts b/src/frontend/src/apollo/queries/rdi/KoboImportData.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/KoboImportData.ts rename to src/frontend/src/apollo/queries/rdi/KoboImportData.ts diff --git a/frontend/src/apollo/queries/rdi/RegistrationChoices.ts b/src/frontend/src/apollo/queries/rdi/RegistrationChoices.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/RegistrationChoices.ts rename to src/frontend/src/apollo/queries/rdi/RegistrationChoices.ts diff --git a/frontend/src/apollo/queries/rdi/RegistrationDataImport.ts b/src/frontend/src/apollo/queries/rdi/RegistrationDataImport.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/RegistrationDataImport.ts rename to src/frontend/src/apollo/queries/rdi/RegistrationDataImport.ts diff --git a/frontend/src/apollo/queries/rdi/XlsxImportData.ts b/src/frontend/src/apollo/queries/rdi/XlsxImportData.ts similarity index 100% rename from frontend/src/apollo/queries/rdi/XlsxImportData.ts rename to src/frontend/src/apollo/queries/rdi/XlsxImportData.ts diff --git a/frontend/src/apollo/queries/reporting/AllReports.ts b/src/frontend/src/apollo/queries/reporting/AllReports.ts similarity index 100% rename from frontend/src/apollo/queries/reporting/AllReports.ts rename to src/frontend/src/apollo/queries/reporting/AllReports.ts diff --git a/frontend/src/apollo/queries/reporting/Report.ts b/src/frontend/src/apollo/queries/reporting/Report.ts similarity index 100% rename from frontend/src/apollo/queries/reporting/Report.ts rename to src/frontend/src/apollo/queries/reporting/Report.ts diff --git a/frontend/src/apollo/queries/reporting/ReportChoiceData.ts b/src/frontend/src/apollo/queries/reporting/ReportChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/reporting/ReportChoiceData.ts rename to src/frontend/src/apollo/queries/reporting/ReportChoiceData.ts diff --git a/frontend/src/apollo/queries/reporting/dashboard/AllCharts.ts b/src/frontend/src/apollo/queries/reporting/dashboard/AllCharts.ts similarity index 100% rename from frontend/src/apollo/queries/reporting/dashboard/AllCharts.ts rename to src/frontend/src/apollo/queries/reporting/dashboard/AllCharts.ts diff --git a/frontend/src/apollo/queries/reporting/dashboard/CountryCharts.ts b/src/frontend/src/apollo/queries/reporting/dashboard/CountryCharts.ts similarity index 100% rename from frontend/src/apollo/queries/reporting/dashboard/CountryCharts.ts rename to src/frontend/src/apollo/queries/reporting/dashboard/CountryCharts.ts diff --git a/frontend/src/apollo/queries/reporting/dashboard/DashboardReportChoiceData.ts b/src/frontend/src/apollo/queries/reporting/dashboard/DashboardReportChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/reporting/dashboard/DashboardReportChoiceData.ts rename to src/frontend/src/apollo/queries/reporting/dashboard/DashboardReportChoiceData.ts diff --git a/frontend/src/apollo/queries/reporting/dashboard/DashboardYearsChoiceData.ts b/src/frontend/src/apollo/queries/reporting/dashboard/DashboardYearsChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/reporting/dashboard/DashboardYearsChoiceData.ts rename to src/frontend/src/apollo/queries/reporting/dashboard/DashboardYearsChoiceData.ts diff --git a/frontend/src/apollo/queries/reporting/dashboard/GloabalAreaCharts.ts b/src/frontend/src/apollo/queries/reporting/dashboard/GloabalAreaCharts.ts similarity index 100% rename from frontend/src/apollo/queries/reporting/dashboard/GloabalAreaCharts.ts rename to src/frontend/src/apollo/queries/reporting/dashboard/GloabalAreaCharts.ts diff --git a/frontend/src/apollo/queries/shared/LanguageAutocomplete.ts b/src/frontend/src/apollo/queries/shared/LanguageAutocomplete.ts similarity index 100% rename from frontend/src/apollo/queries/shared/LanguageAutocomplete.ts rename to src/frontend/src/apollo/queries/shared/LanguageAutocomplete.ts diff --git a/frontend/src/apollo/queries/shared/RdiAutocomplete.ts b/src/frontend/src/apollo/queries/shared/RdiAutocomplete.ts similarity index 100% rename from frontend/src/apollo/queries/shared/RdiAutocomplete.ts rename to src/frontend/src/apollo/queries/shared/RdiAutocomplete.ts diff --git a/frontend/src/apollo/queries/surveys/AllSurveys.ts b/src/frontend/src/apollo/queries/surveys/AllSurveys.ts similarity index 100% rename from frontend/src/apollo/queries/surveys/AllSurveys.ts rename to src/frontend/src/apollo/queries/surveys/AllSurveys.ts diff --git a/frontend/src/apollo/queries/surveys/AvailableFlows.ts b/src/frontend/src/apollo/queries/surveys/AvailableFlows.ts similarity index 100% rename from frontend/src/apollo/queries/surveys/AvailableFlows.ts rename to src/frontend/src/apollo/queries/surveys/AvailableFlows.ts diff --git a/frontend/src/apollo/queries/surveys/Recipients.ts b/src/frontend/src/apollo/queries/surveys/Recipients.ts similarity index 100% rename from frontend/src/apollo/queries/surveys/Recipients.ts rename to src/frontend/src/apollo/queries/surveys/Recipients.ts diff --git a/frontend/src/apollo/queries/surveys/Survey.ts b/src/frontend/src/apollo/queries/surveys/Survey.ts similarity index 100% rename from frontend/src/apollo/queries/surveys/Survey.ts rename to src/frontend/src/apollo/queries/surveys/Survey.ts diff --git a/frontend/src/apollo/queries/surveys/SurveysChoiceData.ts b/src/frontend/src/apollo/queries/surveys/SurveysChoiceData.ts similarity index 100% rename from frontend/src/apollo/queries/surveys/SurveysChoiceData.ts rename to src/frontend/src/apollo/queries/surveys/SurveysChoiceData.ts diff --git a/frontend/src/apollo/queries/targeting/AllActiveTargetPopulations.ts b/src/frontend/src/apollo/queries/targeting/AllActiveTargetPopulations.ts similarity index 100% rename from frontend/src/apollo/queries/targeting/AllActiveTargetPopulations.ts rename to src/frontend/src/apollo/queries/targeting/AllActiveTargetPopulations.ts diff --git a/frontend/src/apollo/queries/targeting/AllFieldsAttributes.ts b/src/frontend/src/apollo/queries/targeting/AllFieldsAttributes.ts similarity index 100% rename from frontend/src/apollo/queries/targeting/AllFieldsAttributes.ts rename to src/frontend/src/apollo/queries/targeting/AllFieldsAttributes.ts diff --git a/frontend/src/apollo/queries/targeting/AllSteficonRules.ts b/src/frontend/src/apollo/queries/targeting/AllSteficonRules.ts similarity index 100% rename from frontend/src/apollo/queries/targeting/AllSteficonRules.ts rename to src/frontend/src/apollo/queries/targeting/AllSteficonRules.ts diff --git a/frontend/src/apollo/queries/targeting/AllTargetPopulationForChoices.ts b/src/frontend/src/apollo/queries/targeting/AllTargetPopulationForChoices.ts similarity index 100% rename from frontend/src/apollo/queries/targeting/AllTargetPopulationForChoices.ts rename to src/frontend/src/apollo/queries/targeting/AllTargetPopulationForChoices.ts diff --git a/frontend/src/apollo/queries/targeting/AllTargetPopulations.ts b/src/frontend/src/apollo/queries/targeting/AllTargetPopulations.ts similarity index 100% rename from frontend/src/apollo/queries/targeting/AllTargetPopulations.ts rename to src/frontend/src/apollo/queries/targeting/AllTargetPopulations.ts diff --git a/frontend/src/apollo/queries/targeting/TargetPopulation.ts b/src/frontend/src/apollo/queries/targeting/TargetPopulation.ts similarity index 100% rename from frontend/src/apollo/queries/targeting/TargetPopulation.ts rename to src/frontend/src/apollo/queries/targeting/TargetPopulation.ts diff --git a/frontend/src/apollo/queries/targeting/TargetPopulationHouseholds.ts b/src/frontend/src/apollo/queries/targeting/TargetPopulationHouseholds.ts similarity index 100% rename from frontend/src/apollo/queries/targeting/TargetPopulationHouseholds.ts rename to src/frontend/src/apollo/queries/targeting/TargetPopulationHouseholds.ts diff --git a/frontend/src/assets/GreaterThanEqual.svg b/src/frontend/src/assets/GreaterThanEqual.svg similarity index 100% rename from frontend/src/assets/GreaterThanEqual.svg rename to src/frontend/src/assets/GreaterThanEqual.svg diff --git a/frontend/src/assets/LessThanEqual.svg b/src/frontend/src/assets/LessThanEqual.svg similarity index 100% rename from frontend/src/assets/LessThanEqual.svg rename to src/frontend/src/assets/LessThanEqual.svg diff --git a/frontend/src/assets/TargetingDiagramImage.png b/src/frontend/src/assets/TargetingDiagramImage.png similarity index 100% rename from frontend/src/assets/TargetingDiagramImage.png rename to src/frontend/src/assets/TargetingDiagramImage.png diff --git a/frontend/src/assets/react.svg b/src/frontend/src/assets/react.svg similarity index 100% rename from frontend/src/assets/react.svg rename to src/frontend/src/assets/react.svg diff --git a/frontend/src/components/StyledFormControl.tsx b/src/frontend/src/components/StyledFormControl.tsx similarity index 100% rename from frontend/src/components/StyledFormControl.tsx rename to src/frontend/src/components/StyledFormControl.tsx diff --git a/frontend/src/components/accountability/Communication/CommunicationDetails.tsx b/src/frontend/src/components/accountability/Communication/CommunicationDetails.tsx similarity index 100% rename from frontend/src/components/accountability/Communication/CommunicationDetails.tsx rename to src/frontend/src/components/accountability/Communication/CommunicationDetails.tsx diff --git a/frontend/src/components/accountability/Communication/CommunicationMessageDetails.tsx b/src/frontend/src/components/accountability/Communication/CommunicationMessageDetails.tsx similarity index 100% rename from frontend/src/components/accountability/Communication/CommunicationMessageDetails.tsx rename to src/frontend/src/components/accountability/Communication/CommunicationMessageDetails.tsx diff --git a/frontend/src/components/accountability/Communication/CommunicationTable/CommunicationFilters.tsx b/src/frontend/src/components/accountability/Communication/CommunicationTable/CommunicationFilters.tsx similarity index 100% rename from frontend/src/components/accountability/Communication/CommunicationTable/CommunicationFilters.tsx rename to src/frontend/src/components/accountability/Communication/CommunicationTable/CommunicationFilters.tsx diff --git a/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpHouseholdFiltersCommunication.tsx b/src/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpHouseholdFiltersCommunication.tsx similarity index 100% rename from frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpHouseholdFiltersCommunication.tsx rename to src/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpHouseholdFiltersCommunication.tsx diff --git a/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpRegistrationFiltersCommunication.tsx b/src/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpRegistrationFiltersCommunication.tsx similarity index 100% rename from frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpRegistrationFiltersCommunication.tsx rename to src/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpRegistrationFiltersCommunication.tsx diff --git a/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpSelectionCommunication.tsx b/src/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpSelectionCommunication.tsx similarity index 100% rename from frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpSelectionCommunication.tsx rename to src/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpSelectionCommunication.tsx diff --git a/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpSelectionTablesCommunication.tsx b/src/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpSelectionTablesCommunication.tsx similarity index 100% rename from frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpSelectionTablesCommunication.tsx rename to src/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpSelectionTablesCommunication.tsx diff --git a/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpTargetPopulationFiltersCommunication.tsx b/src/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpTargetPopulationFiltersCommunication.tsx similarity index 100% rename from frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpTargetPopulationFiltersCommunication.tsx rename to src/frontend/src/components/accountability/Communication/LookUpsCommunication/LookUpTargetPopulationFiltersCommunication.tsx diff --git a/frontend/src/components/accountability/Feedback/FeedbackDetails/FeedbackDetails.tsx b/src/frontend/src/components/accountability/Feedback/FeedbackDetails/FeedbackDetails.tsx similarity index 100% rename from frontend/src/components/accountability/Feedback/FeedbackDetails/FeedbackDetails.tsx rename to src/frontend/src/components/accountability/Feedback/FeedbackDetails/FeedbackDetails.tsx diff --git a/frontend/src/components/accountability/Feedback/FeedbackDetails/index.ts b/src/frontend/src/components/accountability/Feedback/FeedbackDetails/index.ts similarity index 100% rename from frontend/src/components/accountability/Feedback/FeedbackDetails/index.ts rename to src/frontend/src/components/accountability/Feedback/FeedbackDetails/index.ts diff --git a/frontend/src/components/accountability/Feedback/FeedbackDetailsToolbar.tsx b/src/frontend/src/components/accountability/Feedback/FeedbackDetailsToolbar.tsx similarity index 100% rename from frontend/src/components/accountability/Feedback/FeedbackDetailsToolbar.tsx rename to src/frontend/src/components/accountability/Feedback/FeedbackDetailsToolbar.tsx diff --git a/frontend/src/components/accountability/Feedback/FeedbackTable/FeedbackFilters.tsx b/src/frontend/src/components/accountability/Feedback/FeedbackTable/FeedbackFilters.tsx similarity index 100% rename from frontend/src/components/accountability/Feedback/FeedbackTable/FeedbackFilters.tsx rename to src/frontend/src/components/accountability/Feedback/FeedbackTable/FeedbackFilters.tsx diff --git a/frontend/src/components/accountability/Feedback/HouseholdQuestionnaire/HouseholdQuestionnaire.tsx b/src/frontend/src/components/accountability/Feedback/HouseholdQuestionnaire/HouseholdQuestionnaire.tsx similarity index 100% rename from frontend/src/components/accountability/Feedback/HouseholdQuestionnaire/HouseholdQuestionnaire.tsx rename to src/frontend/src/components/accountability/Feedback/HouseholdQuestionnaire/HouseholdQuestionnaire.tsx diff --git a/frontend/src/components/accountability/Feedback/HouseholdQuestionnaire/index.ts b/src/frontend/src/components/accountability/Feedback/HouseholdQuestionnaire/index.ts similarity index 100% rename from frontend/src/components/accountability/Feedback/HouseholdQuestionnaire/index.ts rename to src/frontend/src/components/accountability/Feedback/HouseholdQuestionnaire/index.ts diff --git a/frontend/src/components/accountability/Feedback/IndividualQuestionnnaire/IndividualQuestionnaire.tsx b/src/frontend/src/components/accountability/Feedback/IndividualQuestionnnaire/IndividualQuestionnaire.tsx similarity index 100% rename from frontend/src/components/accountability/Feedback/IndividualQuestionnnaire/IndividualQuestionnaire.tsx rename to src/frontend/src/components/accountability/Feedback/IndividualQuestionnnaire/IndividualQuestionnaire.tsx diff --git a/frontend/src/components/accountability/Feedback/IndividualQuestionnnaire/index.ts b/src/frontend/src/components/accountability/Feedback/IndividualQuestionnnaire/index.ts similarity index 100% rename from frontend/src/components/accountability/Feedback/IndividualQuestionnnaire/index.ts rename to src/frontend/src/components/accountability/Feedback/IndividualQuestionnnaire/index.ts diff --git a/frontend/src/components/accountability/Feedback/LinkedGrievance/LinkedGrievance.tsx b/src/frontend/src/components/accountability/Feedback/LinkedGrievance/LinkedGrievance.tsx similarity index 100% rename from frontend/src/components/accountability/Feedback/LinkedGrievance/LinkedGrievance.tsx rename to src/frontend/src/components/accountability/Feedback/LinkedGrievance/LinkedGrievance.tsx diff --git a/frontend/src/components/accountability/Feedback/LinkedGrievance/index.ts b/src/frontend/src/components/accountability/Feedback/LinkedGrievance/index.ts similarity index 100% rename from frontend/src/components/accountability/Feedback/LinkedGrievance/index.ts rename to src/frontend/src/components/accountability/Feedback/LinkedGrievance/index.ts diff --git a/frontend/src/components/accountability/Feedback/Messages/Messages.tsx b/src/frontend/src/components/accountability/Feedback/Messages/Messages.tsx similarity index 100% rename from frontend/src/components/accountability/Feedback/Messages/Messages.tsx rename to src/frontend/src/components/accountability/Feedback/Messages/Messages.tsx diff --git a/frontend/src/components/accountability/Feedback/Messages/index.ts b/src/frontend/src/components/accountability/Feedback/Messages/index.ts similarity index 100% rename from frontend/src/components/accountability/Feedback/Messages/index.ts rename to src/frontend/src/components/accountability/Feedback/Messages/index.ts diff --git a/frontend/src/components/accountability/Surveys/CreateSurveyMenu.tsx b/src/frontend/src/components/accountability/Surveys/CreateSurveyMenu.tsx similarity index 100% rename from frontend/src/components/accountability/Surveys/CreateSurveyMenu.tsx rename to src/frontend/src/components/accountability/Surveys/CreateSurveyMenu.tsx diff --git a/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpProgrammesFiltersSurveys.tsx b/src/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpProgrammesFiltersSurveys.tsx similarity index 100% rename from frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpProgrammesFiltersSurveys.tsx rename to src/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpProgrammesFiltersSurveys.tsx diff --git a/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpSelectionSurveys.tsx b/src/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpSelectionSurveys.tsx similarity index 100% rename from frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpSelectionSurveys.tsx rename to src/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpSelectionSurveys.tsx diff --git a/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpSelectionTablesSurveys.tsx b/src/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpSelectionTablesSurveys.tsx similarity index 100% rename from frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpSelectionTablesSurveys.tsx rename to src/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpSelectionTablesSurveys.tsx diff --git a/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpTargetPopulationFiltersSurveys.tsx b/src/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpTargetPopulationFiltersSurveys.tsx similarity index 100% rename from frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpTargetPopulationFiltersSurveys.tsx rename to src/frontend/src/components/accountability/Surveys/LookUpsSurveys/LookUpTargetPopulationFiltersSurveys.tsx diff --git a/frontend/src/components/accountability/Surveys/SurveyDetails.tsx b/src/frontend/src/components/accountability/Surveys/SurveyDetails.tsx similarity index 100% rename from frontend/src/components/accountability/Surveys/SurveyDetails.tsx rename to src/frontend/src/components/accountability/Surveys/SurveyDetails.tsx diff --git a/frontend/src/components/accountability/Surveys/SurveysTable/SurveysFilters.tsx b/src/frontend/src/components/accountability/Surveys/SurveysTable/SurveysFilters.tsx similarity index 100% rename from frontend/src/components/accountability/Surveys/SurveysTable/SurveysFilters.tsx rename to src/frontend/src/components/accountability/Surveys/SurveysTable/SurveysFilters.tsx diff --git a/frontend/src/components/core/ActivityLogPageFilters.tsx b/src/frontend/src/components/core/ActivityLogPageFilters.tsx similarity index 100% rename from frontend/src/components/core/ActivityLogPageFilters.tsx rename to src/frontend/src/components/core/ActivityLogPageFilters.tsx diff --git a/frontend/src/components/core/ActivityLogTable/ActivityLogTable.tsx b/src/frontend/src/components/core/ActivityLogTable/ActivityLogTable.tsx similarity index 100% rename from frontend/src/components/core/ActivityLogTable/ActivityLogTable.tsx rename to src/frontend/src/components/core/ActivityLogTable/ActivityLogTable.tsx diff --git a/frontend/src/components/core/ActivityLogTable/LogRow.tsx b/src/frontend/src/components/core/ActivityLogTable/LogRow.tsx similarity index 100% rename from frontend/src/components/core/ActivityLogTable/LogRow.tsx rename to src/frontend/src/components/core/ActivityLogTable/LogRow.tsx diff --git a/frontend/src/components/core/ActivityLogTable/TableStyledComponents.tsx b/src/frontend/src/components/core/ActivityLogTable/TableStyledComponents.tsx similarity index 100% rename from frontend/src/components/core/ActivityLogTable/TableStyledComponents.tsx rename to src/frontend/src/components/core/ActivityLogTable/TableStyledComponents.tsx diff --git a/frontend/src/components/core/ActivityLogTable/headCells.ts b/src/frontend/src/components/core/ActivityLogTable/headCells.ts similarity index 100% rename from frontend/src/components/core/ActivityLogTable/headCells.ts rename to src/frontend/src/components/core/ActivityLogTable/headCells.ts diff --git a/frontend/src/components/core/ActivityLogTablePaymentVerification/ActivityLogTablePaymentVerification.tsx b/src/frontend/src/components/core/ActivityLogTablePaymentVerification/ActivityLogTablePaymentVerification.tsx similarity index 100% rename from frontend/src/components/core/ActivityLogTablePaymentVerification/ActivityLogTablePaymentVerification.tsx rename to src/frontend/src/components/core/ActivityLogTablePaymentVerification/ActivityLogTablePaymentVerification.tsx diff --git a/frontend/src/components/core/ActivityLogTablePaymentVerification/LogRow.tsx b/src/frontend/src/components/core/ActivityLogTablePaymentVerification/LogRow.tsx similarity index 100% rename from frontend/src/components/core/ActivityLogTablePaymentVerification/LogRow.tsx rename to src/frontend/src/components/core/ActivityLogTablePaymentVerification/LogRow.tsx diff --git a/frontend/src/components/core/ActivityLogTablePaymentVerification/TableStyledComponents.tsx b/src/frontend/src/components/core/ActivityLogTablePaymentVerification/TableStyledComponents.tsx similarity index 100% rename from frontend/src/components/core/ActivityLogTablePaymentVerification/TableStyledComponents.tsx rename to src/frontend/src/components/core/ActivityLogTablePaymentVerification/TableStyledComponents.tsx diff --git a/frontend/src/components/core/ActivityLogTablePaymentVerification/headCells.ts b/src/frontend/src/components/core/ActivityLogTablePaymentVerification/headCells.ts similarity index 100% rename from frontend/src/components/core/ActivityLogTablePaymentVerification/headCells.ts rename to src/frontend/src/components/core/ActivityLogTablePaymentVerification/headCells.ts diff --git a/frontend/src/components/core/AdminButton.tsx b/src/frontend/src/components/core/AdminButton.tsx similarity index 100% rename from frontend/src/components/core/AdminButton.tsx rename to src/frontend/src/components/core/AdminButton.tsx diff --git a/frontend/src/components/core/AlertDialog.tsx b/src/frontend/src/components/core/AlertDialog.tsx similarity index 100% rename from frontend/src/components/core/AlertDialog.tsx rename to src/frontend/src/components/core/AlertDialog.tsx diff --git a/frontend/src/components/core/AppBar.tsx b/src/frontend/src/components/core/AppBar.tsx similarity index 100% rename from frontend/src/components/core/AppBar.tsx rename to src/frontend/src/components/core/AppBar.tsx diff --git a/frontend/src/components/core/AutoLogout.tsx b/src/frontend/src/components/core/AutoLogout.tsx similarity index 100% rename from frontend/src/components/core/AutoLogout.tsx rename to src/frontend/src/components/core/AutoLogout.tsx diff --git a/frontend/src/components/core/AutoSubmitFormOnEnter.tsx b/src/frontend/src/components/core/AutoSubmitFormOnEnter.tsx similarity index 100% rename from frontend/src/components/core/AutoSubmitFormOnEnter.tsx rename to src/frontend/src/components/core/AutoSubmitFormOnEnter.tsx diff --git a/frontend/src/components/core/BaseSection.tsx b/src/frontend/src/components/core/BaseSection.tsx similarity index 100% rename from frontend/src/components/core/BaseSection.tsx rename to src/frontend/src/components/core/BaseSection.tsx diff --git a/frontend/src/components/core/BlackLink.tsx b/src/frontend/src/components/core/BlackLink.tsx similarity index 100% rename from frontend/src/components/core/BlackLink.tsx rename to src/frontend/src/components/core/BlackLink.tsx diff --git a/frontend/src/components/core/Bold.tsx b/src/frontend/src/components/core/Bold.tsx similarity index 100% rename from frontend/src/components/core/Bold.tsx rename to src/frontend/src/components/core/Bold.tsx diff --git a/frontend/src/components/core/BreadCrumbs/BreadCrumbs.tsx b/src/frontend/src/components/core/BreadCrumbs/BreadCrumbs.tsx similarity index 100% rename from frontend/src/components/core/BreadCrumbs/BreadCrumbs.tsx rename to src/frontend/src/components/core/BreadCrumbs/BreadCrumbs.tsx diff --git a/frontend/src/components/core/BreadCrumbs/index.ts b/src/frontend/src/components/core/BreadCrumbs/index.ts similarity index 100% rename from frontend/src/components/core/BreadCrumbs/index.ts rename to src/frontend/src/components/core/BreadCrumbs/index.ts diff --git a/frontend/src/components/core/ButtonDialog.tsx b/src/frontend/src/components/core/ButtonDialog.tsx similarity index 100% rename from frontend/src/components/core/ButtonDialog.tsx rename to src/frontend/src/components/core/ButtonDialog.tsx diff --git a/frontend/src/components/core/ButtonTooltip.tsx b/src/frontend/src/components/core/ButtonTooltip.tsx similarity index 100% rename from frontend/src/components/core/ButtonTooltip.tsx rename to src/frontend/src/components/core/ButtonTooltip.tsx diff --git a/frontend/src/components/core/CashPlanDetails/CashPlanDetails.test.tsx b/src/frontend/src/components/core/CashPlanDetails/CashPlanDetails.test.tsx similarity index 100% rename from frontend/src/components/core/CashPlanDetails/CashPlanDetails.test.tsx rename to src/frontend/src/components/core/CashPlanDetails/CashPlanDetails.test.tsx diff --git a/frontend/src/components/core/CashPlanDetails/CashPlanDetails.tsx b/src/frontend/src/components/core/CashPlanDetails/CashPlanDetails.tsx similarity index 100% rename from frontend/src/components/core/CashPlanDetails/CashPlanDetails.tsx rename to src/frontend/src/components/core/CashPlanDetails/CashPlanDetails.tsx diff --git a/frontend/src/components/core/CashPlanDetails/__snapshots__/CashPlanDetails.test.tsx.snap b/src/frontend/src/components/core/CashPlanDetails/__snapshots__/CashPlanDetails.test.tsx.snap similarity index 100% rename from frontend/src/components/core/CashPlanDetails/__snapshots__/CashPlanDetails.test.tsx.snap rename to src/frontend/src/components/core/CashPlanDetails/__snapshots__/CashPlanDetails.test.tsx.snap diff --git a/frontend/src/components/core/CashPlanDetails/index.ts b/src/frontend/src/components/core/CashPlanDetails/index.ts similarity index 100% rename from frontend/src/components/core/CashPlanDetails/index.ts rename to src/frontend/src/components/core/CashPlanDetails/index.ts diff --git a/frontend/src/components/core/ClearApplyButtons.tsx b/src/frontend/src/components/core/ClearApplyButtons.tsx similarity index 100% rename from frontend/src/components/core/ClearApplyButtons.tsx rename to src/frontend/src/components/core/ClearApplyButtons.tsx diff --git a/frontend/src/components/core/ConfirmationDialog/ConfirmationDialog.tsx b/src/frontend/src/components/core/ConfirmationDialog/ConfirmationDialog.tsx similarity index 100% rename from frontend/src/components/core/ConfirmationDialog/ConfirmationDialog.tsx rename to src/frontend/src/components/core/ConfirmationDialog/ConfirmationDialog.tsx diff --git a/frontend/src/components/core/ConfirmationDialog/index.ts b/src/frontend/src/components/core/ConfirmationDialog/index.ts similarity index 100% rename from frontend/src/components/core/ConfirmationDialog/index.ts rename to src/frontend/src/components/core/ConfirmationDialog/index.ts diff --git a/frontend/src/components/core/ConfirmationDialog/useConfirmation.tsx b/src/frontend/src/components/core/ConfirmationDialog/useConfirmation.tsx similarity index 100% rename from frontend/src/components/core/ConfirmationDialog/useConfirmation.tsx rename to src/frontend/src/components/core/ConfirmationDialog/useConfirmation.tsx diff --git a/frontend/src/components/core/ContainerColumnWithBorder.tsx b/src/frontend/src/components/core/ContainerColumnWithBorder.tsx similarity index 100% rename from frontend/src/components/core/ContainerColumnWithBorder.tsx rename to src/frontend/src/components/core/ContainerColumnWithBorder.tsx diff --git a/frontend/src/components/core/ContainerWithBorder.tsx b/src/frontend/src/components/core/ContainerWithBorder.tsx similarity index 100% rename from frontend/src/components/core/ContainerWithBorder.tsx rename to src/frontend/src/components/core/ContainerWithBorder.tsx diff --git a/frontend/src/components/core/ContentLink.tsx b/src/frontend/src/components/core/ContentLink.tsx similarity index 100% rename from frontend/src/components/core/ContentLink.tsx rename to src/frontend/src/components/core/ContentLink.tsx diff --git a/frontend/src/components/core/Dashable.tsx b/src/frontend/src/components/core/Dashable.tsx similarity index 100% rename from frontend/src/components/core/Dashable.tsx rename to src/frontend/src/components/core/Dashable.tsx diff --git a/frontend/src/components/core/DatePickerFilter.tsx b/src/frontend/src/components/core/DatePickerFilter.tsx similarity index 100% rename from frontend/src/components/core/DatePickerFilter.tsx rename to src/frontend/src/components/core/DatePickerFilter.tsx diff --git a/frontend/src/components/core/DividerLine.tsx b/src/frontend/src/components/core/DividerLine.tsx similarity index 100% rename from frontend/src/components/core/DividerLine.tsx rename to src/frontend/src/components/core/DividerLine.tsx diff --git a/frontend/src/components/core/DocumentSearchField.test.tsx b/src/frontend/src/components/core/DocumentSearchField.test.tsx similarity index 100% rename from frontend/src/components/core/DocumentSearchField.test.tsx rename to src/frontend/src/components/core/DocumentSearchField.test.tsx diff --git a/frontend/src/components/core/DocumentSearchField.tsx b/src/frontend/src/components/core/DocumentSearchField.tsx similarity index 100% rename from frontend/src/components/core/DocumentSearchField.tsx rename to src/frontend/src/components/core/DocumentSearchField.tsx diff --git a/frontend/src/components/core/Drawer/Drawer.tsx b/src/frontend/src/components/core/Drawer/Drawer.tsx similarity index 100% rename from frontend/src/components/core/Drawer/Drawer.tsx rename to src/frontend/src/components/core/Drawer/Drawer.tsx diff --git a/frontend/src/components/core/Drawer/DrawerItems.tsx b/src/frontend/src/components/core/Drawer/DrawerItems.tsx similarity index 100% rename from frontend/src/components/core/Drawer/DrawerItems.tsx rename to src/frontend/src/components/core/Drawer/DrawerItems.tsx diff --git a/frontend/src/components/core/Drawer/menuItems.tsx b/src/frontend/src/components/core/Drawer/menuItems.tsx similarity index 100% rename from frontend/src/components/core/Drawer/menuItems.tsx rename to src/frontend/src/components/core/Drawer/menuItems.tsx diff --git a/frontend/src/components/core/DropzoneField.tsx b/src/frontend/src/components/core/DropzoneField.tsx similarity index 100% rename from frontend/src/components/core/DropzoneField.tsx rename to src/frontend/src/components/core/DropzoneField.tsx diff --git a/frontend/src/components/core/ErrorButton.tsx b/src/frontend/src/components/core/ErrorButton.tsx similarity index 100% rename from frontend/src/components/core/ErrorButton.tsx rename to src/frontend/src/components/core/ErrorButton.tsx diff --git a/frontend/src/components/core/ErrorButtonContained.tsx b/src/frontend/src/components/core/ErrorButtonContained.tsx similarity index 100% rename from frontend/src/components/core/ErrorButtonContained.tsx rename to src/frontend/src/components/core/ErrorButtonContained.tsx diff --git a/frontend/src/components/core/FieldBorder.tsx b/src/frontend/src/components/core/FieldBorder.tsx similarity index 100% rename from frontend/src/components/core/FieldBorder.tsx rename to src/frontend/src/components/core/FieldBorder.tsx diff --git a/frontend/src/components/core/FieldLabel.tsx b/src/frontend/src/components/core/FieldLabel.tsx similarity index 100% rename from frontend/src/components/core/FieldLabel.tsx rename to src/frontend/src/components/core/FieldLabel.tsx diff --git a/frontend/src/components/core/FiltersSection.tsx b/src/frontend/src/components/core/FiltersSection.tsx similarity index 100% rename from frontend/src/components/core/FiltersSection.tsx rename to src/frontend/src/components/core/FiltersSection.tsx diff --git a/frontend/src/components/core/FlagTooltip.tsx b/src/frontend/src/components/core/FlagTooltip.tsx similarity index 100% rename from frontend/src/components/core/FlagTooltip.tsx rename to src/frontend/src/components/core/FlagTooltip.tsx diff --git a/frontend/src/components/core/FormikEffect.tsx b/src/frontend/src/components/core/FormikEffect.tsx similarity index 100% rename from frontend/src/components/core/FormikEffect.tsx rename to src/frontend/src/components/core/FormikEffect.tsx diff --git a/frontend/src/components/core/GreyBox.tsx b/src/frontend/src/components/core/GreyBox.tsx similarity index 100% rename from frontend/src/components/core/GreyBox.tsx rename to src/frontend/src/components/core/GreyBox.tsx diff --git a/frontend/src/components/core/GreyText.tsx b/src/frontend/src/components/core/GreyText.tsx similarity index 100% rename from frontend/src/components/core/GreyText.tsx rename to src/frontend/src/components/core/GreyText.tsx diff --git a/frontend/src/components/core/LabelizedField.tsx b/src/frontend/src/components/core/LabelizedField.tsx similarity index 100% rename from frontend/src/components/core/LabelizedField.tsx rename to src/frontend/src/components/core/LabelizedField.tsx diff --git a/frontend/src/components/core/LoadingButton.tsx b/src/frontend/src/components/core/LoadingButton.tsx similarity index 100% rename from frontend/src/components/core/LoadingButton.tsx rename to src/frontend/src/components/core/LoadingButton.tsx diff --git a/frontend/src/components/core/LoadingComponent.tsx b/src/frontend/src/components/core/LoadingComponent.tsx similarity index 100% rename from frontend/src/components/core/LoadingComponent.tsx rename to src/frontend/src/components/core/LoadingComponent.tsx diff --git a/frontend/src/components/core/Logo.tsx b/src/frontend/src/components/core/Logo.tsx similarity index 100% rename from frontend/src/components/core/Logo.tsx rename to src/frontend/src/components/core/Logo.tsx diff --git a/frontend/src/components/core/Missing.tsx b/src/frontend/src/components/core/Missing.tsx similarity index 100% rename from frontend/src/components/core/Missing.tsx rename to src/frontend/src/components/core/Missing.tsx diff --git a/frontend/src/components/core/NumberTextField.tsx b/src/frontend/src/components/core/NumberTextField.tsx similarity index 100% rename from frontend/src/components/core/NumberTextField.tsx rename to src/frontend/src/components/core/NumberTextField.tsx diff --git a/frontend/src/components/core/OverviewContainer.tsx b/src/frontend/src/components/core/OverviewContainer.tsx similarity index 100% rename from frontend/src/components/core/OverviewContainer.tsx rename to src/frontend/src/components/core/OverviewContainer.tsx diff --git a/frontend/src/components/core/OverviewContainerColumn.tsx b/src/frontend/src/components/core/OverviewContainerColumn.tsx similarity index 100% rename from frontend/src/components/core/OverviewContainerColumn.tsx rename to src/frontend/src/components/core/OverviewContainerColumn.tsx diff --git a/frontend/src/components/core/PageHeader.tsx b/src/frontend/src/components/core/PageHeader.tsx similarity index 100% rename from frontend/src/components/core/PageHeader.tsx rename to src/frontend/src/components/core/PageHeader.tsx diff --git a/frontend/src/components/core/PermissionDenied.tsx b/src/frontend/src/components/core/PermissionDenied.tsx similarity index 100% rename from frontend/src/components/core/PermissionDenied.tsx rename to src/frontend/src/components/core/PermissionDenied.tsx diff --git a/frontend/src/components/core/PhotoModal/PhotoModal.tsx b/src/frontend/src/components/core/PhotoModal/PhotoModal.tsx similarity index 100% rename from frontend/src/components/core/PhotoModal/PhotoModal.tsx rename to src/frontend/src/components/core/PhotoModal/PhotoModal.tsx diff --git a/frontend/src/components/core/PhotoModal/PhotoModalFooter.tsx b/src/frontend/src/components/core/PhotoModal/PhotoModalFooter.tsx similarity index 100% rename from frontend/src/components/core/PhotoModal/PhotoModalFooter.tsx rename to src/frontend/src/components/core/PhotoModal/PhotoModalFooter.tsx diff --git a/frontend/src/components/core/PhotoModal/PhotoModalHeader.tsx b/src/frontend/src/components/core/PhotoModal/PhotoModalHeader.tsx similarity index 100% rename from frontend/src/components/core/PhotoModal/PhotoModalHeader.tsx rename to src/frontend/src/components/core/PhotoModal/PhotoModalHeader.tsx diff --git a/frontend/src/components/core/PhotoModal/RotateImg.tsx b/src/frontend/src/components/core/PhotoModal/RotateImg.tsx similarity index 100% rename from frontend/src/components/core/PhotoModal/RotateImg.tsx rename to src/frontend/src/components/core/PhotoModal/RotateImg.tsx diff --git a/frontend/src/components/core/Pointer.tsx b/src/frontend/src/components/core/Pointer.tsx similarity index 100% rename from frontend/src/components/core/Pointer.tsx rename to src/frontend/src/components/core/Pointer.tsx diff --git a/frontend/src/components/core/ProtectedRoute.tsx b/src/frontend/src/components/core/ProtectedRoute.tsx similarity index 100% rename from frontend/src/components/core/ProtectedRoute.tsx rename to src/frontend/src/components/core/ProtectedRoute.tsx diff --git a/frontend/src/components/core/SearchTextField.tsx b/src/frontend/src/components/core/SearchTextField.tsx similarity index 100% rename from frontend/src/components/core/SearchTextField.tsx rename to src/frontend/src/components/core/SearchTextField.tsx diff --git a/frontend/src/components/core/SelectFilter.tsx b/src/frontend/src/components/core/SelectFilter.tsx similarity index 100% rename from frontend/src/components/core/SelectFilter.tsx rename to src/frontend/src/components/core/SelectFilter.tsx diff --git a/frontend/src/components/core/StatusBox/StatusBox.tsx b/src/frontend/src/components/core/StatusBox/StatusBox.tsx similarity index 100% rename from frontend/src/components/core/StatusBox/StatusBox.tsx rename to src/frontend/src/components/core/StatusBox/StatusBox.tsx diff --git a/frontend/src/components/core/StatusBox/index.ts b/src/frontend/src/components/core/StatusBox/index.ts similarity index 100% rename from frontend/src/components/core/StatusBox/index.ts rename to src/frontend/src/components/core/StatusBox/index.ts diff --git a/frontend/src/components/core/TabPanel.tsx b/src/frontend/src/components/core/TabPanel.tsx similarity index 100% rename from frontend/src/components/core/TabPanel.tsx rename to src/frontend/src/components/core/TabPanel.tsx diff --git a/frontend/src/components/core/Table/AnonTableCell.tsx b/src/frontend/src/components/core/Table/AnonTableCell.tsx similarity index 100% rename from frontend/src/components/core/Table/AnonTableCell.tsx rename to src/frontend/src/components/core/Table/AnonTableCell.tsx diff --git a/frontend/src/components/core/Table/ClickableTableRow.tsx b/src/frontend/src/components/core/Table/ClickableTableRow.tsx similarity index 100% rename from frontend/src/components/core/Table/ClickableTableRow.tsx rename to src/frontend/src/components/core/Table/ClickableTableRow.tsx diff --git a/frontend/src/components/core/Table/EmptyTable.tsx b/src/frontend/src/components/core/Table/EmptyTable.tsx similarity index 100% rename from frontend/src/components/core/Table/EmptyTable.tsx rename to src/frontend/src/components/core/Table/EmptyTable.tsx diff --git a/frontend/src/components/core/Table/EnhancedTableHead.tsx b/src/frontend/src/components/core/Table/EnhancedTableHead.tsx similarity index 100% rename from frontend/src/components/core/Table/EnhancedTableHead.tsx rename to src/frontend/src/components/core/Table/EnhancedTableHead.tsx diff --git a/frontend/src/components/core/Table/EnhancedTableToolbar.tsx b/src/frontend/src/components/core/Table/EnhancedTableToolbar.tsx similarity index 100% rename from frontend/src/components/core/Table/EnhancedTableToolbar.tsx rename to src/frontend/src/components/core/Table/EnhancedTableToolbar.tsx diff --git a/frontend/src/components/core/Table/TableComponent.tsx b/src/frontend/src/components/core/Table/TableComponent.tsx similarity index 100% rename from frontend/src/components/core/Table/TableComponent.tsx rename to src/frontend/src/components/core/Table/TableComponent.tsx diff --git a/frontend/src/components/core/TableTitle.tsx b/src/frontend/src/components/core/TableTitle.tsx similarity index 100% rename from frontend/src/components/core/TableTitle.tsx rename to src/frontend/src/components/core/TableTitle.tsx diff --git a/frontend/src/components/core/TableWrapper.tsx b/src/frontend/src/components/core/TableWrapper.tsx similarity index 100% rename from frontend/src/components/core/TableWrapper.tsx rename to src/frontend/src/components/core/TableWrapper.tsx diff --git a/frontend/src/components/core/Tabs.tsx b/src/frontend/src/components/core/Tabs.tsx similarity index 100% rename from frontend/src/components/core/Tabs.tsx rename to src/frontend/src/components/core/Tabs.tsx diff --git a/frontend/src/components/core/Title.tsx b/src/frontend/src/components/core/Title.tsx similarity index 100% rename from frontend/src/components/core/Title.tsx rename to src/frontend/src/components/core/Title.tsx diff --git a/frontend/src/components/core/UniversalMoment.tsx b/src/frontend/src/components/core/UniversalMoment.tsx similarity index 100% rename from frontend/src/components/core/UniversalMoment.tsx rename to src/frontend/src/components/core/UniversalMoment.tsx diff --git a/frontend/src/components/core/UploadButton.tsx b/src/frontend/src/components/core/UploadButton.tsx similarity index 100% rename from frontend/src/components/core/UploadButton.tsx rename to src/frontend/src/components/core/UploadButton.tsx diff --git a/frontend/src/components/core/UsersListFilters.tsx b/src/frontend/src/components/core/UsersListFilters.tsx similarity index 100% rename from frontend/src/components/core/UsersListFilters.tsx rename to src/frontend/src/components/core/UsersListFilters.tsx diff --git a/frontend/src/components/core/WarningTooltip.tsx b/src/frontend/src/components/core/WarningTooltip.tsx similarity index 100% rename from frontend/src/components/core/WarningTooltip.tsx rename to src/frontend/src/components/core/WarningTooltip.tsx diff --git a/frontend/src/components/core/__snapshots__/DocumentSearchField.test.tsx.snap b/src/frontend/src/components/core/__snapshots__/DocumentSearchField.test.tsx.snap similarity index 100% rename from frontend/src/components/core/__snapshots__/DocumentSearchField.test.tsx.snap rename to src/frontend/src/components/core/__snapshots__/DocumentSearchField.test.tsx.snap diff --git a/frontend/src/components/dashboard/DashboardCard.tsx b/src/frontend/src/components/dashboard/DashboardCard.tsx similarity index 100% rename from frontend/src/components/dashboard/DashboardCard.tsx rename to src/frontend/src/components/dashboard/DashboardCard.tsx diff --git a/frontend/src/components/dashboard/DashboardFilters.tsx b/src/frontend/src/components/dashboard/DashboardFilters.tsx similarity index 100% rename from frontend/src/components/dashboard/DashboardFilters.tsx rename to src/frontend/src/components/dashboard/DashboardFilters.tsx diff --git a/frontend/src/components/dashboard/DashboardPaper.tsx b/src/frontend/src/components/dashboard/DashboardPaper.tsx similarity index 100% rename from frontend/src/components/dashboard/DashboardPaper.tsx rename to src/frontend/src/components/dashboard/DashboardPaper.tsx diff --git a/frontend/src/components/dashboard/ExportModal.tsx b/src/frontend/src/components/dashboard/ExportModal.tsx similarity index 100% rename from frontend/src/components/dashboard/ExportModal.tsx rename to src/frontend/src/components/dashboard/ExportModal.tsx diff --git a/frontend/src/components/dashboard/charts/GrievancesChart.tsx b/src/frontend/src/components/dashboard/charts/GrievancesChart.tsx similarity index 100% rename from frontend/src/components/dashboard/charts/GrievancesChart.tsx rename to src/frontend/src/components/dashboard/charts/GrievancesChart.tsx diff --git a/frontend/src/components/dashboard/charts/IndividualsReachedByAgeAndGenderGroupsChart.tsx b/src/frontend/src/components/dashboard/charts/IndividualsReachedByAgeAndGenderGroupsChart.tsx similarity index 100% rename from frontend/src/components/dashboard/charts/IndividualsReachedByAgeAndGenderGroupsChart.tsx rename to src/frontend/src/components/dashboard/charts/IndividualsReachedByAgeAndGenderGroupsChart.tsx diff --git a/frontend/src/components/dashboard/charts/IndividualsWithDisabilityReachedByAgeGroupsChart.tsx b/src/frontend/src/components/dashboard/charts/IndividualsWithDisabilityReachedByAgeGroupsChart.tsx similarity index 100% rename from frontend/src/components/dashboard/charts/IndividualsWithDisabilityReachedByAgeGroupsChart.tsx rename to src/frontend/src/components/dashboard/charts/IndividualsWithDisabilityReachedByAgeGroupsChart.tsx diff --git a/frontend/src/components/dashboard/charts/PaymentVerificationChart.tsx b/src/frontend/src/components/dashboard/charts/PaymentVerificationChart.tsx similarity index 100% rename from frontend/src/components/dashboard/charts/PaymentVerificationChart.tsx rename to src/frontend/src/components/dashboard/charts/PaymentVerificationChart.tsx diff --git a/frontend/src/components/dashboard/charts/PaymentsChart.tsx b/src/frontend/src/components/dashboard/charts/PaymentsChart.tsx similarity index 100% rename from frontend/src/components/dashboard/charts/PaymentsChart.tsx rename to src/frontend/src/components/dashboard/charts/PaymentsChart.tsx diff --git a/frontend/src/components/dashboard/charts/ProgrammesBySector.tsx b/src/frontend/src/components/dashboard/charts/ProgrammesBySector.tsx similarity index 100% rename from frontend/src/components/dashboard/charts/ProgrammesBySector.tsx rename to src/frontend/src/components/dashboard/charts/ProgrammesBySector.tsx diff --git a/frontend/src/components/dashboard/charts/TotalAmountTransferredByCountryChart.tsx b/src/frontend/src/components/dashboard/charts/TotalAmountTransferredByCountryChart.tsx similarity index 100% rename from frontend/src/components/dashboard/charts/TotalAmountTransferredByCountryChart.tsx rename to src/frontend/src/components/dashboard/charts/TotalAmountTransferredByCountryChart.tsx diff --git a/frontend/src/components/dashboard/charts/TotalTransferredByMonth.tsx b/src/frontend/src/components/dashboard/charts/TotalTransferredByMonth.tsx similarity index 100% rename from frontend/src/components/dashboard/charts/TotalTransferredByMonth.tsx rename to src/frontend/src/components/dashboard/charts/TotalTransferredByMonth.tsx diff --git a/frontend/src/components/dashboard/charts/VolumeByDeliveryMechanism.tsx b/src/frontend/src/components/dashboard/charts/VolumeByDeliveryMechanism.tsx similarity index 100% rename from frontend/src/components/dashboard/charts/VolumeByDeliveryMechanism.tsx rename to src/frontend/src/components/dashboard/charts/VolumeByDeliveryMechanism.tsx diff --git a/frontend/src/components/dashboard/sections/GrievancesSection/GrievancesSection.test.tsx b/src/frontend/src/components/dashboard/sections/GrievancesSection/GrievancesSection.test.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/GrievancesSection/GrievancesSection.test.tsx rename to src/frontend/src/components/dashboard/sections/GrievancesSection/GrievancesSection.test.tsx diff --git a/frontend/src/components/dashboard/sections/GrievancesSection/GrievancesSection.tsx b/src/frontend/src/components/dashboard/sections/GrievancesSection/GrievancesSection.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/GrievancesSection/GrievancesSection.tsx rename to src/frontend/src/components/dashboard/sections/GrievancesSection/GrievancesSection.tsx diff --git a/frontend/src/components/dashboard/sections/GrievancesSection/__snapshots__/GrievancesSection.test.tsx.snap b/src/frontend/src/components/dashboard/sections/GrievancesSection/__snapshots__/GrievancesSection.test.tsx.snap similarity index 100% rename from frontend/src/components/dashboard/sections/GrievancesSection/__snapshots__/GrievancesSection.test.tsx.snap rename to src/frontend/src/components/dashboard/sections/GrievancesSection/__snapshots__/GrievancesSection.test.tsx.snap diff --git a/frontend/src/components/dashboard/sections/GrievancesSection/index.ts b/src/frontend/src/components/dashboard/sections/GrievancesSection/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/GrievancesSection/index.ts rename to src/frontend/src/components/dashboard/sections/GrievancesSection/index.ts diff --git a/frontend/src/components/dashboard/sections/PaymentVerificationSection/PaymentVerificationSection.test.tsx b/src/frontend/src/components/dashboard/sections/PaymentVerificationSection/PaymentVerificationSection.test.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/PaymentVerificationSection/PaymentVerificationSection.test.tsx rename to src/frontend/src/components/dashboard/sections/PaymentVerificationSection/PaymentVerificationSection.test.tsx diff --git a/frontend/src/components/dashboard/sections/PaymentVerificationSection/PaymentVerificationSection.tsx b/src/frontend/src/components/dashboard/sections/PaymentVerificationSection/PaymentVerificationSection.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/PaymentVerificationSection/PaymentVerificationSection.tsx rename to src/frontend/src/components/dashboard/sections/PaymentVerificationSection/PaymentVerificationSection.tsx diff --git a/frontend/src/components/dashboard/sections/PaymentVerificationSection/__snapshots__/PaymentVerificationSection.test.tsx.snap b/src/frontend/src/components/dashboard/sections/PaymentVerificationSection/__snapshots__/PaymentVerificationSection.test.tsx.snap similarity index 100% rename from frontend/src/components/dashboard/sections/PaymentVerificationSection/__snapshots__/PaymentVerificationSection.test.tsx.snap rename to src/frontend/src/components/dashboard/sections/PaymentVerificationSection/__snapshots__/PaymentVerificationSection.test.tsx.snap diff --git a/frontend/src/components/dashboard/sections/PaymentVerificationSection/index.ts b/src/frontend/src/components/dashboard/sections/PaymentVerificationSection/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/PaymentVerificationSection/index.ts rename to src/frontend/src/components/dashboard/sections/PaymentVerificationSection/index.ts diff --git a/frontend/src/components/dashboard/sections/PaymentVerificationSectionForPeople/PaymentVerificationSectionForPeople.tsx b/src/frontend/src/components/dashboard/sections/PaymentVerificationSectionForPeople/PaymentVerificationSectionForPeople.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/PaymentVerificationSectionForPeople/PaymentVerificationSectionForPeople.tsx rename to src/frontend/src/components/dashboard/sections/PaymentVerificationSectionForPeople/PaymentVerificationSectionForPeople.tsx diff --git a/frontend/src/components/dashboard/sections/PaymentVerificationSectionForPeople/index.ts b/src/frontend/src/components/dashboard/sections/PaymentVerificationSectionForPeople/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/PaymentVerificationSectionForPeople/index.ts rename to src/frontend/src/components/dashboard/sections/PaymentVerificationSectionForPeople/index.ts diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/TotalAmountTransferredByAdminAreaForPeopleSection.tsx b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/TotalAmountTransferredByAdminAreaForPeopleSection.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/TotalAmountTransferredByAdminAreaForPeopleSection.tsx rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/TotalAmountTransferredByAdminAreaForPeopleSection.tsx diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/TotalAmountTransferredByAdminAreaTableForPeople.tsx b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/TotalAmountTransferredByAdminAreaTableForPeople.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/TotalAmountTransferredByAdminAreaTableForPeople.tsx rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/TotalAmountTransferredByAdminAreaTableForPeople.tsx diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/index.ts b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/index.ts rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaForPeopleSection/index.ts diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/TotalAmountTransferredByAdminAreaSection.tsx b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/TotalAmountTransferredByAdminAreaSection.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/TotalAmountTransferredByAdminAreaSection.tsx rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/TotalAmountTransferredByAdminAreaSection.tsx diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/TotalAmountTransferredByAdminAreaTable.tsx b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/TotalAmountTransferredByAdminAreaTable.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/TotalAmountTransferredByAdminAreaTable.tsx rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/TotalAmountTransferredByAdminAreaTable.tsx diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/index.ts b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/index.ts rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredByAdminAreaSection/index.ts diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/TotalAmountTransferredByCountrySection.test.tsx b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/TotalAmountTransferredByCountrySection.test.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/TotalAmountTransferredByCountrySection.test.tsx rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/TotalAmountTransferredByCountrySection.test.tsx diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/TotalAmountTransferredByCountrySection.tsx b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/TotalAmountTransferredByCountrySection.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/TotalAmountTransferredByCountrySection.tsx rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/TotalAmountTransferredByCountrySection.tsx diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/__snapshots__/TotalAmountTransferredByCountrySection.test.tsx.snap b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/__snapshots__/TotalAmountTransferredByCountrySection.test.tsx.snap similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/__snapshots__/TotalAmountTransferredByCountrySection.test.tsx.snap rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/__snapshots__/TotalAmountTransferredByCountrySection.test.tsx.snap diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/index.ts b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/index.ts rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredByCountrySection/index.ts diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/TotalAmountTransferredSection.test.tsx b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/TotalAmountTransferredSection.test.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredSection/TotalAmountTransferredSection.test.tsx rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/TotalAmountTransferredSection.test.tsx diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/TotalAmountTransferredSection.tsx b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/TotalAmountTransferredSection.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredSection/TotalAmountTransferredSection.tsx rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/TotalAmountTransferredSection.tsx diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/__snapshots__/TotalAmountTransferredSection.test.tsx.snap b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/__snapshots__/TotalAmountTransferredSection.test.tsx.snap similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredSection/__snapshots__/TotalAmountTransferredSection.test.tsx.snap rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/__snapshots__/TotalAmountTransferredSection.test.tsx.snap diff --git a/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/index.ts b/src/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/TotalAmountTransferredSection/index.ts rename to src/frontend/src/components/dashboard/sections/TotalAmountTransferredSection/index.ts diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/TotalNumberOfChildrenReachedSection.test.tsx b/src/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/TotalNumberOfChildrenReachedSection.test.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/TotalNumberOfChildrenReachedSection.test.tsx rename to src/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/TotalNumberOfChildrenReachedSection.test.tsx diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/TotalNumberOfChildrenReachedSection.tsx b/src/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/TotalNumberOfChildrenReachedSection.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/TotalNumberOfChildrenReachedSection.tsx rename to src/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/TotalNumberOfChildrenReachedSection.tsx diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/__snapshots__/TotalNumberOfChildrenReachedSection.test.tsx.snap b/src/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/__snapshots__/TotalNumberOfChildrenReachedSection.test.tsx.snap similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/__snapshots__/TotalNumberOfChildrenReachedSection.test.tsx.snap rename to src/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/__snapshots__/TotalNumberOfChildrenReachedSection.test.tsx.snap diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/index.ts b/src/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/index.ts rename to src/frontend/src/components/dashboard/sections/TotalNumberOfChildrenReachedSection/index.ts diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/TotalNumberOfHouseholdsReachedSection.test.tsx b/src/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/TotalNumberOfHouseholdsReachedSection.test.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/TotalNumberOfHouseholdsReachedSection.test.tsx rename to src/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/TotalNumberOfHouseholdsReachedSection.test.tsx diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/TotalNumberOfHouseholdsReachedSection.tsx b/src/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/TotalNumberOfHouseholdsReachedSection.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/TotalNumberOfHouseholdsReachedSection.tsx rename to src/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/TotalNumberOfHouseholdsReachedSection.tsx diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/__snapshots__/TotalNumberOfHouseholdsReachedSection.test.tsx.snap b/src/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/__snapshots__/TotalNumberOfHouseholdsReachedSection.test.tsx.snap similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/__snapshots__/TotalNumberOfHouseholdsReachedSection.test.tsx.snap rename to src/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/__snapshots__/TotalNumberOfHouseholdsReachedSection.test.tsx.snap diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/index.ts b/src/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/index.ts rename to src/frontend/src/components/dashboard/sections/TotalNumberOfHouseholdsReachedSection/index.ts diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/TotalNumberOfIndividualsReachedSection.test.tsx b/src/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/TotalNumberOfIndividualsReachedSection.test.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/TotalNumberOfIndividualsReachedSection.test.tsx rename to src/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/TotalNumberOfIndividualsReachedSection.test.tsx diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/TotalNumberOfIndividualsReachedSection.tsx b/src/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/TotalNumberOfIndividualsReachedSection.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/TotalNumberOfIndividualsReachedSection.tsx rename to src/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/TotalNumberOfIndividualsReachedSection.tsx diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/__snapshots__/TotalNumberOfIndividualsReachedSection.test.tsx.snap b/src/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/__snapshots__/TotalNumberOfIndividualsReachedSection.test.tsx.snap similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/__snapshots__/TotalNumberOfIndividualsReachedSection.test.tsx.snap rename to src/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/__snapshots__/TotalNumberOfIndividualsReachedSection.test.tsx.snap diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/index.ts b/src/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/index.ts rename to src/frontend/src/components/dashboard/sections/TotalNumberOfIndividualsReachedSection/index.ts diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfPeopleReachedSection/TotalNumberOfPeopleReachedSection.tsx b/src/frontend/src/components/dashboard/sections/TotalNumberOfPeopleReachedSection/TotalNumberOfPeopleReachedSection.tsx similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfPeopleReachedSection/TotalNumberOfPeopleReachedSection.tsx rename to src/frontend/src/components/dashboard/sections/TotalNumberOfPeopleReachedSection/TotalNumberOfPeopleReachedSection.tsx diff --git a/frontend/src/components/dashboard/sections/TotalNumberOfPeopleReachedSection/index.ts b/src/frontend/src/components/dashboard/sections/TotalNumberOfPeopleReachedSection/index.ts similarity index 100% rename from frontend/src/components/dashboard/sections/TotalNumberOfPeopleReachedSection/index.ts rename to src/frontend/src/components/dashboard/sections/TotalNumberOfPeopleReachedSection/index.ts diff --git a/frontend/src/components/grievances/AddIndividualDataChange.tsx b/src/frontend/src/components/grievances/AddIndividualDataChange.tsx similarity index 100% rename from frontend/src/components/grievances/AddIndividualDataChange.tsx rename to src/frontend/src/components/grievances/AddIndividualDataChange.tsx diff --git a/frontend/src/components/grievances/AddIndividualGrievanceDetails.tsx b/src/frontend/src/components/grievances/AddIndividualGrievanceDetails.tsx similarity index 100% rename from frontend/src/components/grievances/AddIndividualGrievanceDetails.tsx rename to src/frontend/src/components/grievances/AddIndividualGrievanceDetails.tsx diff --git a/frontend/src/components/grievances/AgencyField.tsx b/src/frontend/src/components/grievances/AgencyField.tsx similarity index 100% rename from frontend/src/components/grievances/AgencyField.tsx rename to src/frontend/src/components/grievances/AgencyField.tsx diff --git a/frontend/src/components/grievances/ApproveDeleteHouseholdGrievanceDetails.tsx b/src/frontend/src/components/grievances/ApproveDeleteHouseholdGrievanceDetails.tsx similarity index 100% rename from frontend/src/components/grievances/ApproveDeleteHouseholdGrievanceDetails.tsx rename to src/frontend/src/components/grievances/ApproveDeleteHouseholdGrievanceDetails.tsx diff --git a/frontend/src/components/grievances/Consent.tsx b/src/frontend/src/components/grievances/Consent.tsx similarity index 100% rename from frontend/src/components/grievances/Consent.tsx rename to src/frontend/src/components/grievances/Consent.tsx diff --git a/frontend/src/components/grievances/CreateGrievance/CreateGrievanceStepper/CreateGrievanceStepper.tsx b/src/frontend/src/components/grievances/CreateGrievance/CreateGrievanceStepper/CreateGrievanceStepper.tsx similarity index 100% rename from frontend/src/components/grievances/CreateGrievance/CreateGrievanceStepper/CreateGrievanceStepper.tsx rename to src/frontend/src/components/grievances/CreateGrievance/CreateGrievanceStepper/CreateGrievanceStepper.tsx diff --git a/frontend/src/components/grievances/CreateGrievance/CreateGrievanceStepper/index.ts b/src/frontend/src/components/grievances/CreateGrievance/CreateGrievanceStepper/index.ts similarity index 100% rename from frontend/src/components/grievances/CreateGrievance/CreateGrievanceStepper/index.ts rename to src/frontend/src/components/grievances/CreateGrievance/CreateGrievanceStepper/index.ts diff --git a/frontend/src/components/grievances/CreateGrievance/Description/Description.tsx b/src/frontend/src/components/grievances/CreateGrievance/Description/Description.tsx similarity index 100% rename from frontend/src/components/grievances/CreateGrievance/Description/Description.tsx rename to src/frontend/src/components/grievances/CreateGrievance/Description/Description.tsx diff --git a/frontend/src/components/grievances/CreateGrievance/Description/index.ts b/src/frontend/src/components/grievances/CreateGrievance/Description/index.ts similarity index 100% rename from frontend/src/components/grievances/CreateGrievance/Description/index.ts rename to src/frontend/src/components/grievances/CreateGrievance/Description/index.ts diff --git a/frontend/src/components/grievances/CreateGrievance/Selection/Selection.tsx b/src/frontend/src/components/grievances/CreateGrievance/Selection/Selection.tsx similarity index 100% rename from frontend/src/components/grievances/CreateGrievance/Selection/Selection.tsx rename to src/frontend/src/components/grievances/CreateGrievance/Selection/Selection.tsx diff --git a/frontend/src/components/grievances/CreateGrievance/Selection/index.ts b/src/frontend/src/components/grievances/CreateGrievance/Selection/index.ts similarity index 100% rename from frontend/src/components/grievances/CreateGrievance/Selection/index.ts rename to src/frontend/src/components/grievances/CreateGrievance/Selection/index.ts diff --git a/frontend/src/components/grievances/CreateGrievance/Verification/Verification.tsx b/src/frontend/src/components/grievances/CreateGrievance/Verification/Verification.tsx similarity index 100% rename from frontend/src/components/grievances/CreateGrievance/Verification/Verification.tsx rename to src/frontend/src/components/grievances/CreateGrievance/Verification/Verification.tsx diff --git a/frontend/src/components/grievances/CreateGrievance/Verification/index.ts b/src/frontend/src/components/grievances/CreateGrievance/Verification/index.ts similarity index 100% rename from frontend/src/components/grievances/CreateGrievance/Verification/index.ts rename to src/frontend/src/components/grievances/CreateGrievance/Verification/index.ts diff --git a/frontend/src/components/grievances/DeleteHouseholdGrievanceDetails.tsx b/src/frontend/src/components/grievances/DeleteHouseholdGrievanceDetails.tsx similarity index 100% rename from frontend/src/components/grievances/DeleteHouseholdGrievanceDetails.tsx rename to src/frontend/src/components/grievances/DeleteHouseholdGrievanceDetails.tsx diff --git a/frontend/src/components/grievances/DeleteIndividualGrievanceDetails.tsx b/src/frontend/src/components/grievances/DeleteIndividualGrievanceDetails.tsx similarity index 100% rename from frontend/src/components/grievances/DeleteIndividualGrievanceDetails.tsx rename to src/frontend/src/components/grievances/DeleteIndividualGrievanceDetails.tsx diff --git a/frontend/src/components/grievances/DocumentField.tsx b/src/frontend/src/components/grievances/DocumentField.tsx similarity index 100% rename from frontend/src/components/grievances/DocumentField.tsx rename to src/frontend/src/components/grievances/DocumentField.tsx diff --git a/frontend/src/components/grievances/Documentation/DocumentationField.tsx b/src/frontend/src/components/grievances/Documentation/DocumentationField.tsx similarity index 100% rename from frontend/src/components/grievances/Documentation/DocumentationField.tsx rename to src/frontend/src/components/grievances/Documentation/DocumentationField.tsx diff --git a/frontend/src/components/grievances/Documentation/EditDocumentationRow.tsx b/src/frontend/src/components/grievances/Documentation/EditDocumentationRow.tsx similarity index 100% rename from frontend/src/components/grievances/Documentation/EditDocumentationRow.tsx rename to src/frontend/src/components/grievances/Documentation/EditDocumentationRow.tsx diff --git a/frontend/src/components/grievances/Documentation/ExistingDocumentationFieldArray.tsx b/src/frontend/src/components/grievances/Documentation/ExistingDocumentationFieldArray.tsx similarity index 100% rename from frontend/src/components/grievances/Documentation/ExistingDocumentationFieldArray.tsx rename to src/frontend/src/components/grievances/Documentation/ExistingDocumentationFieldArray.tsx diff --git a/frontend/src/components/grievances/Documentation/NewDocumentationFieldArray.tsx b/src/frontend/src/components/grievances/Documentation/NewDocumentationFieldArray.tsx similarity index 100% rename from frontend/src/components/grievances/Documentation/NewDocumentationFieldArray.tsx rename to src/frontend/src/components/grievances/Documentation/NewDocumentationFieldArray.tsx diff --git a/frontend/src/components/grievances/EditHouseholdDataChange/CurrentValue.tsx b/src/frontend/src/components/grievances/EditHouseholdDataChange/CurrentValue.tsx similarity index 100% rename from frontend/src/components/grievances/EditHouseholdDataChange/CurrentValue.tsx rename to src/frontend/src/components/grievances/EditHouseholdDataChange/CurrentValue.tsx diff --git a/frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChange.tsx b/src/frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChange.tsx similarity index 100% rename from frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChange.tsx rename to src/frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChange.tsx diff --git a/frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChangeField.tsx b/src/frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChangeField.tsx similarity index 100% rename from frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChangeField.tsx rename to src/frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChangeField.tsx diff --git a/frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChangeFieldRow.tsx b/src/frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChangeFieldRow.tsx similarity index 100% rename from frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChangeFieldRow.tsx rename to src/frontend/src/components/grievances/EditHouseholdDataChange/EditHouseholdDataChangeFieldRow.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/CurrentValue.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/CurrentValue.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/CurrentValue.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/CurrentValue.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/EditDocumentRow.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/EditDocumentRow.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/EditDocumentRow.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/EditDocumentRow.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/EditIdentityRow.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/EditIdentityRow.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/EditIdentityRow.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/EditIdentityRow.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChange.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChange.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChange.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChange.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChangeField.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChangeField.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChangeField.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChangeField.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChangeFieldRow.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChangeFieldRow.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChangeFieldRow.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/EditIndividualDataChangeFieldRow.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/EditPaymentChannelRow.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/EditPaymentChannelRow.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/EditPaymentChannelRow.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/EditPaymentChannelRow.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/ExistingDocumentFieldArray.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/ExistingDocumentFieldArray.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/ExistingDocumentFieldArray.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/ExistingDocumentFieldArray.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/ExistingIdentityFieldArray.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/ExistingIdentityFieldArray.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/ExistingIdentityFieldArray.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/ExistingIdentityFieldArray.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/ExistingPaymentChannelFieldArray.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/ExistingPaymentChannelFieldArray.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/ExistingPaymentChannelFieldArray.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/ExistingPaymentChannelFieldArray.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/NewDocumentFieldArray.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/NewDocumentFieldArray.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/NewDocumentFieldArray.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/NewDocumentFieldArray.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/NewIdentityFieldArray.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/NewIdentityFieldArray.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/NewIdentityFieldArray.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/NewIdentityFieldArray.tsx diff --git a/frontend/src/components/grievances/EditIndividualDataChange/NewPaymentChannelFieldArray.tsx b/src/frontend/src/components/grievances/EditIndividualDataChange/NewPaymentChannelFieldArray.tsx similarity index 100% rename from frontend/src/components/grievances/EditIndividualDataChange/NewPaymentChannelFieldArray.tsx rename to src/frontend/src/components/grievances/EditIndividualDataChange/NewPaymentChannelFieldArray.tsx diff --git a/frontend/src/components/grievances/FlagDetails.tsx b/src/frontend/src/components/grievances/FlagDetails.tsx similarity index 100% rename from frontend/src/components/grievances/FlagDetails.tsx rename to src/frontend/src/components/grievances/FlagDetails.tsx diff --git a/frontend/src/components/grievances/FormikBoolFieldGrievances.tsx b/src/frontend/src/components/grievances/FormikBoolFieldGrievances.tsx similarity index 100% rename from frontend/src/components/grievances/FormikBoolFieldGrievances.tsx rename to src/frontend/src/components/grievances/FormikBoolFieldGrievances.tsx diff --git a/frontend/src/components/grievances/GrievanceDetailsToolbar.tsx b/src/frontend/src/components/grievances/GrievanceDetailsToolbar.tsx similarity index 100% rename from frontend/src/components/grievances/GrievanceDetailsToolbar.tsx rename to src/frontend/src/components/grievances/GrievanceDetailsToolbar.tsx diff --git a/frontend/src/components/grievances/GrievancesApproveSection/ApproveSectionStyles.tsx b/src/frontend/src/components/grievances/GrievancesApproveSection/ApproveSectionStyles.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesApproveSection/ApproveSectionStyles.tsx rename to src/frontend/src/components/grievances/GrievancesApproveSection/ApproveSectionStyles.tsx diff --git a/frontend/src/components/grievances/GrievancesApproveSection/GrievancesApproveSection.tsx b/src/frontend/src/components/grievances/GrievancesApproveSection/GrievancesApproveSection.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesApproveSection/GrievancesApproveSection.tsx rename to src/frontend/src/components/grievances/GrievancesApproveSection/GrievancesApproveSection.tsx diff --git a/frontend/src/components/grievances/GrievancesApproveSection/index.ts b/src/frontend/src/components/grievances/GrievancesApproveSection/index.ts similarity index 100% rename from frontend/src/components/grievances/GrievancesApproveSection/index.ts rename to src/frontend/src/components/grievances/GrievancesApproveSection/index.ts diff --git a/frontend/src/components/grievances/GrievancesDashboard/DashboardCard.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/DashboardCard.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/DashboardCard.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/DashboardCard.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/DashboardPaper.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/DashboardPaper.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/DashboardPaper.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/DashboardPaper.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/GrievanceDashboardCard.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/GrievanceDashboardCard.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/GrievanceDashboardCard.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/GrievanceDashboardCard.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByCategoryChart.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByCategoryChart.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByCategoryChart.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByCategoryChart.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByLocationAndCategoryChart.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByLocationAndCategoryChart.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByLocationAndCategoryChart.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByLocationAndCategoryChart.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByStatusChart.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByStatusChart.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByStatusChart.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/charts/TicketsByStatusChart.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/TicketsByCategorySection.test.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/TicketsByCategorySection.test.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/TicketsByCategorySection.test.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/TicketsByCategorySection.test.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/TicketsByCategorySection.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/TicketsByCategorySection.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/TicketsByCategorySection.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/TicketsByCategorySection.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/__snapshots__/TicketsByCategorySection.test.tsx.snap b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/__snapshots__/TicketsByCategorySection.test.tsx.snap similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/__snapshots__/TicketsByCategorySection.test.tsx.snap rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/__snapshots__/TicketsByCategorySection.test.tsx.snap diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/index.ts b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/index.ts similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/index.ts rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByCategorySection/index.ts diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/TicketsByLocationAndCategorySection.test.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/TicketsByLocationAndCategorySection.test.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/TicketsByLocationAndCategorySection.test.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/TicketsByLocationAndCategorySection.test.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/TicketsByLocationAndCategorySection.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/TicketsByLocationAndCategorySection.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/TicketsByLocationAndCategorySection.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/TicketsByLocationAndCategorySection.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/__snapshots__/TicketsByLocationAndCategorySection.test.tsx.snap b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/__snapshots__/TicketsByLocationAndCategorySection.test.tsx.snap similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/__snapshots__/TicketsByLocationAndCategorySection.test.tsx.snap rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/__snapshots__/TicketsByLocationAndCategorySection.test.tsx.snap diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/index.ts b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/index.ts similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/index.ts rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByLocationAndCategorySection/index.ts diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/TicketsByStatusSection.test.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/TicketsByStatusSection.test.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/TicketsByStatusSection.test.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/TicketsByStatusSection.test.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/TicketsByStatusSection.tsx b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/TicketsByStatusSection.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/TicketsByStatusSection.tsx rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/TicketsByStatusSection.tsx diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/__snapshots__/TicketsByStatusSection.test.tsx.snap b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/__snapshots__/TicketsByStatusSection.test.tsx.snap similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/__snapshots__/TicketsByStatusSection.test.tsx.snap rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/__snapshots__/TicketsByStatusSection.test.tsx.snap diff --git a/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/index.ts b/src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/index.ts similarity index 100% rename from frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/index.ts rename to src/frontend/src/components/grievances/GrievancesDashboard/sections/TicketsByStatusSection/index.ts diff --git a/frontend/src/components/grievances/GrievancesDetails/GrievancesDetails.test.tsx b/src/frontend/src/components/grievances/GrievancesDetails/GrievancesDetails.test.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDetails/GrievancesDetails.test.tsx rename to src/frontend/src/components/grievances/GrievancesDetails/GrievancesDetails.test.tsx diff --git a/frontend/src/components/grievances/GrievancesDetails/GrievancesDetails.tsx b/src/frontend/src/components/grievances/GrievancesDetails/GrievancesDetails.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesDetails/GrievancesDetails.tsx rename to src/frontend/src/components/grievances/GrievancesDetails/GrievancesDetails.tsx diff --git a/frontend/src/components/grievances/GrievancesDetails/__snapshots__/GrievancesDetails.test.tsx.snap b/src/frontend/src/components/grievances/GrievancesDetails/__snapshots__/GrievancesDetails.test.tsx.snap similarity index 100% rename from frontend/src/components/grievances/GrievancesDetails/__snapshots__/GrievancesDetails.test.tsx.snap rename to src/frontend/src/components/grievances/GrievancesDetails/__snapshots__/GrievancesDetails.test.tsx.snap diff --git a/frontend/src/components/grievances/GrievancesDetails/index.ts b/src/frontend/src/components/grievances/GrievancesDetails/index.ts similarity index 100% rename from frontend/src/components/grievances/GrievancesDetails/index.ts rename to src/frontend/src/components/grievances/GrievancesDetails/index.ts diff --git a/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceDocumentPhotoModalEditable.tsx b/src/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceDocumentPhotoModalEditable.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesPhotoModals/GrievanceDocumentPhotoModalEditable.tsx rename to src/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceDocumentPhotoModalEditable.tsx diff --git a/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModal.tsx b/src/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModal.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModal.tsx rename to src/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModal.tsx diff --git a/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalEditable.tsx b/src/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalEditable.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalEditable.tsx rename to src/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalEditable.tsx diff --git a/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalNewHousehold.tsx b/src/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalNewHousehold.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalNewHousehold.tsx rename to src/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalNewHousehold.tsx diff --git a/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalNewIndividual.tsx b/src/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalNewIndividual.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalNewIndividual.tsx rename to src/frontend/src/components/grievances/GrievancesPhotoModals/GrievanceFlexFieldPhotoModalNewIndividual.tsx diff --git a/frontend/src/components/grievances/GrievancesSidebar/GrievancesSidebar.tsx b/src/frontend/src/components/grievances/GrievancesSidebar/GrievancesSidebar.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesSidebar/GrievancesSidebar.tsx rename to src/frontend/src/components/grievances/GrievancesSidebar/GrievancesSidebar.tsx diff --git a/frontend/src/components/grievances/GrievancesSidebar/index.ts b/src/frontend/src/components/grievances/GrievancesSidebar/index.ts similarity index 100% rename from frontend/src/components/grievances/GrievancesSidebar/index.ts rename to src/frontend/src/components/grievances/GrievancesSidebar/index.ts diff --git a/frontend/src/components/grievances/GrievancesTable/AssignedToDropdown.tsx b/src/frontend/src/components/grievances/GrievancesTable/AssignedToDropdown.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/AssignedToDropdown.tsx rename to src/frontend/src/components/grievances/GrievancesTable/AssignedToDropdown.tsx diff --git a/frontend/src/components/grievances/GrievancesTable/GrievancesFilters.tsx b/src/frontend/src/components/grievances/GrievancesTable/GrievancesFilters.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/GrievancesFilters.tsx rename to src/frontend/src/components/grievances/GrievancesTable/GrievancesFilters.tsx diff --git a/frontend/src/components/grievances/GrievancesTable/GrievancesTable.tsx b/src/frontend/src/components/grievances/GrievancesTable/GrievancesTable.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/GrievancesTable.tsx rename to src/frontend/src/components/grievances/GrievancesTable/GrievancesTable.tsx diff --git a/frontend/src/components/grievances/GrievancesTable/GrievancesTableHeadCells.tsx b/src/frontend/src/components/grievances/GrievancesTable/GrievancesTableHeadCells.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/GrievancesTableHeadCells.tsx rename to src/frontend/src/components/grievances/GrievancesTable/GrievancesTableHeadCells.tsx diff --git a/frontend/src/components/grievances/GrievancesTable/GrievancesTableRow.tsx b/src/frontend/src/components/grievances/GrievancesTable/GrievancesTableRow.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/GrievancesTableRow.tsx rename to src/frontend/src/components/grievances/GrievancesTable/GrievancesTableRow.tsx diff --git a/frontend/src/components/grievances/GrievancesTable/bulk/BulkAddNoteModal.tsx b/src/frontend/src/components/grievances/GrievancesTable/bulk/BulkAddNoteModal.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/bulk/BulkAddNoteModal.tsx rename to src/frontend/src/components/grievances/GrievancesTable/bulk/BulkAddNoteModal.tsx diff --git a/frontend/src/components/grievances/GrievancesTable/bulk/BulkAssignModal.tsx b/src/frontend/src/components/grievances/GrievancesTable/bulk/BulkAssignModal.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/bulk/BulkAssignModal.tsx rename to src/frontend/src/components/grievances/GrievancesTable/bulk/BulkAssignModal.tsx diff --git a/frontend/src/components/grievances/GrievancesTable/bulk/BulkBaseModal.tsx b/src/frontend/src/components/grievances/GrievancesTable/bulk/BulkBaseModal.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/bulk/BulkBaseModal.tsx rename to src/frontend/src/components/grievances/GrievancesTable/bulk/BulkBaseModal.tsx diff --git a/frontend/src/components/grievances/GrievancesTable/bulk/BulkSetPriorityModal.tsx b/src/frontend/src/components/grievances/GrievancesTable/bulk/BulkSetPriorityModal.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/bulk/BulkSetPriorityModal.tsx rename to src/frontend/src/components/grievances/GrievancesTable/bulk/BulkSetPriorityModal.tsx diff --git a/frontend/src/components/grievances/GrievancesTable/bulk/BulkSetUrgencyModal.tsx b/src/frontend/src/components/grievances/GrievancesTable/bulk/BulkSetUrgencyModal.tsx similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/bulk/BulkSetUrgencyModal.tsx rename to src/frontend/src/components/grievances/GrievancesTable/bulk/BulkSetUrgencyModal.tsx diff --git a/frontend/src/components/grievances/GrievancesTable/index.ts b/src/frontend/src/components/grievances/GrievancesTable/index.ts similarity index 100% rename from frontend/src/components/grievances/GrievancesTable/index.ts rename to src/frontend/src/components/grievances/GrievancesTable/index.ts diff --git a/frontend/src/components/grievances/HouseholdQuestionnaire/HouseholdQuestionnaire.tsx b/src/frontend/src/components/grievances/HouseholdQuestionnaire/HouseholdQuestionnaire.tsx similarity index 100% rename from frontend/src/components/grievances/HouseholdQuestionnaire/HouseholdQuestionnaire.tsx rename to src/frontend/src/components/grievances/HouseholdQuestionnaire/HouseholdQuestionnaire.tsx diff --git a/frontend/src/components/grievances/HouseholdQuestionnaire/index.ts b/src/frontend/src/components/grievances/HouseholdQuestionnaire/index.ts similarity index 100% rename from frontend/src/components/grievances/HouseholdQuestionnaire/index.ts rename to src/frontend/src/components/grievances/HouseholdQuestionnaire/index.ts diff --git a/frontend/src/components/grievances/IndividualQuestionnnaire/IndividualQuestionnaire.tsx b/src/frontend/src/components/grievances/IndividualQuestionnnaire/IndividualQuestionnaire.tsx similarity index 100% rename from frontend/src/components/grievances/IndividualQuestionnnaire/IndividualQuestionnaire.tsx rename to src/frontend/src/components/grievances/IndividualQuestionnnaire/IndividualQuestionnaire.tsx diff --git a/frontend/src/components/grievances/IndividualQuestionnnaire/index.ts b/src/frontend/src/components/grievances/IndividualQuestionnnaire/index.ts similarity index 100% rename from frontend/src/components/grievances/IndividualQuestionnnaire/index.ts rename to src/frontend/src/components/grievances/IndividualQuestionnnaire/index.ts diff --git a/frontend/src/components/grievances/LinkedTicketsModal/LinkedTicketsModal.tsx b/src/frontend/src/components/grievances/LinkedTicketsModal/LinkedTicketsModal.tsx similarity index 100% rename from frontend/src/components/grievances/LinkedTicketsModal/LinkedTicketsModal.tsx rename to src/frontend/src/components/grievances/LinkedTicketsModal/LinkedTicketsModal.tsx diff --git a/frontend/src/components/grievances/LinkedTicketsModal/index.tsx b/src/frontend/src/components/grievances/LinkedTicketsModal/index.tsx similarity index 100% rename from frontend/src/components/grievances/LinkedTicketsModal/index.tsx rename to src/frontend/src/components/grievances/LinkedTicketsModal/index.tsx diff --git a/frontend/src/components/grievances/LookUpButton.tsx b/src/frontend/src/components/grievances/LookUpButton.tsx similarity index 100% rename from frontend/src/components/grievances/LookUpButton.tsx rename to src/frontend/src/components/grievances/LookUpButton.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelection.tsx b/src/frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelection.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelection.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelection.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelectionDetail.tsx b/src/frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelectionDetail.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelectionDetail.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelectionDetail.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelectionDisplay.tsx b/src/frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelectionDisplay.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelectionDisplay.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpHouseholdIndividual/LookUpHouseholdIndividualSelectionDisplay.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTable.tsx b/src/frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTable.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTable.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTable.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTableHeadCells.tsx b/src/frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTableHeadCells.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTableHeadCells.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTableHeadCells.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTableRow.tsx b/src/frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTableRow.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTableRow.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpHouseholdTable/LookUpHouseholdTableRow.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTable.tsx b/src/frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTable.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTable.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTable.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTableHeadCells.tsx b/src/frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTableHeadCells.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTableHeadCells.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTableHeadCells.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTableRow.tsx b/src/frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTableRow.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTableRow.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpIndividualTable/LookUpIndividualTableRow.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LinkedTicketIdDisplay.tsx b/src/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LinkedTicketIdDisplay.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LinkedTicketIdDisplay.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LinkedTicketIdDisplay.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTickets.tsx b/src/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTickets.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTickets.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTickets.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTicketsDisplay.tsx b/src/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTicketsDisplay.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTicketsDisplay.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTicketsDisplay.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTicketsModal.tsx b/src/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTicketsModal.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTicketsModal.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpLinkedTickets/LookUpLinkedTicketsModal.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsFilters.tsx b/src/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsFilters.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsFilters.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsFilters.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsHeadCells.tsx b/src/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsHeadCells.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsHeadCells.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsHeadCells.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsTable.tsx b/src/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsTable.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsTable.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsTable.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsTableRow.tsx b/src/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsTableRow.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsTableRow.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpLinkedTicketsTable/LookUpLinkedTicketsTableRow.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecord.tsx b/src/frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecord.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecord.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecord.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecordDisplay.tsx b/src/frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecordDisplay.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecordDisplay.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecordDisplay.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecordModal.tsx b/src/frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecordModal.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecordModal.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpPaymentRecord/LookUpPaymentRecordModal.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTable.tsx b/src/frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTable.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTable.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTable.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTableHeadCells.tsx b/src/frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTableHeadCells.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTableHeadCells.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTableHeadCells.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTableRow.tsx b/src/frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTableRow.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTableRow.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpPaymentRecordTable/LookUpPaymentRecordTableRow.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRole.tsx b/src/frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRole.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRole.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRole.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRoleDisplay.tsx b/src/frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRoleDisplay.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRoleDisplay.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRoleDisplay.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRoleModal.tsx b/src/frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRoleModal.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRoleModal.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpReassignRole/LookUpReassignRoleModal.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpReassignRole/ReassignRoleUnique.tsx b/src/frontend/src/components/grievances/LookUps/LookUpReassignRole/ReassignRoleUnique.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpReassignRole/ReassignRoleUnique.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpReassignRole/ReassignRoleUnique.tsx diff --git a/frontend/src/components/grievances/LookUps/LookUpStyles.tsx b/src/frontend/src/components/grievances/LookUps/LookUpStyles.tsx similarity index 100% rename from frontend/src/components/grievances/LookUps/LookUpStyles.tsx rename to src/frontend/src/components/grievances/LookUps/LookUpStyles.tsx diff --git a/frontend/src/components/grievances/NeedsAdjudication/BiometricsResults.tsx b/src/frontend/src/components/grievances/NeedsAdjudication/BiometricsResults.tsx similarity index 100% rename from frontend/src/components/grievances/NeedsAdjudication/BiometricsResults.tsx rename to src/frontend/src/components/grievances/NeedsAdjudication/BiometricsResults.tsx diff --git a/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationActions.tsx b/src/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationActions.tsx similarity index 100% rename from frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationActions.tsx rename to src/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationActions.tsx diff --git a/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationDetailsNew.tsx b/src/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationDetailsNew.tsx similarity index 100% rename from frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationDetailsNew.tsx rename to src/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationDetailsNew.tsx diff --git a/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationDetailsOld.tsx b/src/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationDetailsOld.tsx similarity index 100% rename from frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationDetailsOld.tsx rename to src/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationDetailsOld.tsx diff --git a/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationTable.tsx b/src/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationTable.tsx similarity index 100% rename from frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationTable.tsx rename to src/frontend/src/components/grievances/NeedsAdjudication/NeedsAdjudicationTable.tsx diff --git a/frontend/src/components/grievances/Notes/Notes.tsx b/src/frontend/src/components/grievances/Notes/Notes.tsx similarity index 100% rename from frontend/src/components/grievances/Notes/Notes.tsx rename to src/frontend/src/components/grievances/Notes/Notes.tsx diff --git a/frontend/src/components/grievances/Notes/index.ts b/src/frontend/src/components/grievances/Notes/index.ts similarity index 100% rename from frontend/src/components/grievances/Notes/index.ts rename to src/frontend/src/components/grievances/Notes/index.ts diff --git a/frontend/src/components/grievances/OtherRelatedTickets.tsx b/src/frontend/src/components/grievances/OtherRelatedTickets.tsx similarity index 100% rename from frontend/src/components/grievances/OtherRelatedTickets.tsx rename to src/frontend/src/components/grievances/OtherRelatedTickets.tsx diff --git a/frontend/src/components/grievances/OtherRelatedTicketsCreate.tsx b/src/frontend/src/components/grievances/OtherRelatedTicketsCreate.tsx similarity index 100% rename from frontend/src/components/grievances/OtherRelatedTicketsCreate.tsx rename to src/frontend/src/components/grievances/OtherRelatedTicketsCreate.tsx diff --git a/frontend/src/components/grievances/PastTickets.tsx b/src/frontend/src/components/grievances/PastTickets.tsx similarity index 100% rename from frontend/src/components/grievances/PastTickets.tsx rename to src/frontend/src/components/grievances/PastTickets.tsx diff --git a/frontend/src/components/grievances/PaymentChannelField.tsx b/src/frontend/src/components/grievances/PaymentChannelField.tsx similarity index 100% rename from frontend/src/components/grievances/PaymentChannelField.tsx rename to src/frontend/src/components/grievances/PaymentChannelField.tsx diff --git a/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/PaymentGrievanceDetails.test.tsx b/src/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/PaymentGrievanceDetails.test.tsx similarity index 100% rename from frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/PaymentGrievanceDetails.test.tsx rename to src/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/PaymentGrievanceDetails.test.tsx diff --git a/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/PaymentGrievanceDetails.tsx b/src/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/PaymentGrievanceDetails.tsx similarity index 100% rename from frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/PaymentGrievanceDetails.tsx rename to src/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/PaymentGrievanceDetails.tsx diff --git a/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/__snapshots__/PaymentGrievanceDetails.test.tsx.snap b/src/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/__snapshots__/PaymentGrievanceDetails.test.tsx.snap similarity index 100% rename from frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/__snapshots__/PaymentGrievanceDetails.test.tsx.snap rename to src/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/__snapshots__/PaymentGrievanceDetails.test.tsx.snap diff --git a/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/index.ts b/src/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/index.ts similarity index 100% rename from frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/index.ts rename to src/frontend/src/components/grievances/PaymentGrievance/PaymentGrievanceDetails/index.ts diff --git a/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/VerifyPaymentGrievance.test.tsx b/src/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/VerifyPaymentGrievance.test.tsx similarity index 100% rename from frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/VerifyPaymentGrievance.test.tsx rename to src/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/VerifyPaymentGrievance.test.tsx diff --git a/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/VerifyPaymentGrievance.tsx b/src/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/VerifyPaymentGrievance.tsx similarity index 100% rename from frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/VerifyPaymentGrievance.tsx rename to src/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/VerifyPaymentGrievance.tsx diff --git a/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/__snapshots__/VerifyPaymentGrievance.test.tsx.snap b/src/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/__snapshots__/VerifyPaymentGrievance.test.tsx.snap similarity index 100% rename from frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/__snapshots__/VerifyPaymentGrievance.test.tsx.snap rename to src/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/__snapshots__/VerifyPaymentGrievance.test.tsx.snap diff --git a/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/index.ts b/src/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/index.ts similarity index 100% rename from frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/index.ts rename to src/frontend/src/components/grievances/PaymentGrievance/VerifyPaymentGrievance/index.ts diff --git a/frontend/src/components/grievances/PaymentIds.tsx b/src/frontend/src/components/grievances/PaymentIds.tsx similarity index 100% rename from frontend/src/components/grievances/PaymentIds.tsx rename to src/frontend/src/components/grievances/PaymentIds.tsx diff --git a/frontend/src/components/grievances/ReassignMultipleRoleBox.tsx b/src/frontend/src/components/grievances/ReassignMultipleRoleBox.tsx similarity index 100% rename from frontend/src/components/grievances/ReassignMultipleRoleBox.tsx rename to src/frontend/src/components/grievances/ReassignMultipleRoleBox.tsx diff --git a/frontend/src/components/grievances/ReassignRoleBox.tsx b/src/frontend/src/components/grievances/ReassignRoleBox.tsx similarity index 100% rename from frontend/src/components/grievances/ReassignRoleBox.tsx rename to src/frontend/src/components/grievances/ReassignRoleBox.tsx diff --git a/frontend/src/components/grievances/RequestedHouseholdDataChange.tsx b/src/frontend/src/components/grievances/RequestedHouseholdDataChange.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedHouseholdDataChange.tsx rename to src/frontend/src/components/grievances/RequestedHouseholdDataChange.tsx diff --git a/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/CurrentValue.tsx b/src/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/CurrentValue.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedHouseholdDataChangeTable/CurrentValue.tsx rename to src/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/CurrentValue.tsx diff --git a/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/NewValue.tsx b/src/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/NewValue.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedHouseholdDataChangeTable/NewValue.tsx rename to src/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/NewValue.tsx diff --git a/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/RequestedHouseholdDataChangeTable.tsx b/src/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/RequestedHouseholdDataChangeTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedHouseholdDataChangeTable/RequestedHouseholdDataChangeTable.tsx rename to src/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/RequestedHouseholdDataChangeTable.tsx diff --git a/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/householdDataRow.tsx b/src/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/householdDataRow.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedHouseholdDataChangeTable/householdDataRow.tsx rename to src/frontend/src/components/grievances/RequestedHouseholdDataChangeTable/householdDataRow.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChange.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChange.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChange.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChange.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/CurrentValue.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/CurrentValue.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/CurrentValue.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/CurrentValue.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DeliveryMechanismDataToEditTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DeliveryMechanismDataToEditTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/DeliveryMechanismDataToEditTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DeliveryMechanismDataToEditTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsToEditTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsToEditTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsToEditTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsToEditTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsToRemoveTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsToRemoveTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsToRemoveTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/DocumentsToRemoveTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/EntriesTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/EntriesTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/EntriesTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/EntriesTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesToEditTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesToEditTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesToEditTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesToEditTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesToRemoveTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesToRemoveTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesToRemoveTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/IdentitiesToRemoveTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/NewValue.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/NewValue.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/NewValue.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/NewValue.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsToEditTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsToEditTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsToEditTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsToEditTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsToRemoveTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsToRemoveTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsToRemoveTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/PaymentChannelsToRemoveTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/RequestedIndividualDataChangeTable.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/RequestedIndividualDataChangeTable.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/RequestedIndividualDataChangeTable.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/RequestedIndividualDataChangeTable.tsx diff --git a/frontend/src/components/grievances/RequestedIndividualDataChangeTable/individualDataRow.tsx b/src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/individualDataRow.tsx similarity index 100% rename from frontend/src/components/grievances/RequestedIndividualDataChangeTable/individualDataRow.tsx rename to src/frontend/src/components/grievances/RequestedIndividualDataChangeTable/individualDataRow.tsx diff --git a/frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsHeadCells.tsx b/src/frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsHeadCells.tsx similarity index 100% rename from frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsHeadCells.tsx rename to src/frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsHeadCells.tsx diff --git a/frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsTable.tsx b/src/frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsTable.tsx similarity index 100% rename from frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsTable.tsx rename to src/frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsTable.tsx diff --git a/frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsTableRow.tsx b/src/frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsTableRow.tsx similarity index 100% rename from frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsTableRow.tsx rename to src/frontend/src/components/grievances/SanctionListIndividualsTable/SanctionListIndividualsTableRow.tsx diff --git a/frontend/src/components/grievances/TicketsAlreadyExist.tsx b/src/frontend/src/components/grievances/TicketsAlreadyExist.tsx similarity index 100% rename from frontend/src/components/grievances/TicketsAlreadyExist.tsx rename to src/frontend/src/components/grievances/TicketsAlreadyExist.tsx diff --git a/frontend/src/components/grievances/ViewSanctionList.tsx b/src/frontend/src/components/grievances/ViewSanctionList.tsx similarity index 100% rename from frontend/src/components/grievances/ViewSanctionList.tsx rename to src/frontend/src/components/grievances/ViewSanctionList.tsx diff --git a/frontend/src/components/grievances/utils/createGrievanceUtils.ts b/src/frontend/src/components/grievances/utils/createGrievanceUtils.ts similarity index 100% rename from frontend/src/components/grievances/utils/createGrievanceUtils.ts rename to src/frontend/src/components/grievances/utils/createGrievanceUtils.ts diff --git a/frontend/src/components/grievances/utils/editGrievanceUtils.ts b/src/frontend/src/components/grievances/utils/editGrievanceUtils.ts similarity index 100% rename from frontend/src/components/grievances/utils/editGrievanceUtils.ts rename to src/frontend/src/components/grievances/utils/editGrievanceUtils.ts diff --git a/frontend/src/components/grievances/utils/helpers.ts b/src/frontend/src/components/grievances/utils/helpers.ts similarity index 100% rename from frontend/src/components/grievances/utils/helpers.ts rename to src/frontend/src/components/grievances/utils/helpers.ts diff --git a/frontend/src/components/grievances/utils/validateGrievance.ts b/src/frontend/src/components/grievances/utils/validateGrievance.ts similarity index 100% rename from frontend/src/components/grievances/utils/validateGrievance.ts rename to src/frontend/src/components/grievances/utils/validateGrievance.ts diff --git a/frontend/src/components/grievances/utils/validationSchema.ts b/src/frontend/src/components/grievances/utils/validationSchema.ts similarity index 100% rename from frontend/src/components/grievances/utils/validationSchema.ts rename to src/frontend/src/components/grievances/utils/validationSchema.ts diff --git a/frontend/src/components/managerialConsole/ApprovalSection.tsx b/src/frontend/src/components/managerialConsole/ApprovalSection.tsx similarity index 100% rename from frontend/src/components/managerialConsole/ApprovalSection.tsx rename to src/frontend/src/components/managerialConsole/ApprovalSection.tsx diff --git a/frontend/src/components/managerialConsole/ApprovePaymentPlansModal.tsx b/src/frontend/src/components/managerialConsole/ApprovePaymentPlansModal.tsx similarity index 100% rename from frontend/src/components/managerialConsole/ApprovePaymentPlansModal.tsx rename to src/frontend/src/components/managerialConsole/ApprovePaymentPlansModal.tsx diff --git a/frontend/src/components/managerialConsole/AuthorizationSection.tsx b/src/frontend/src/components/managerialConsole/AuthorizationSection.tsx similarity index 100% rename from frontend/src/components/managerialConsole/AuthorizationSection.tsx rename to src/frontend/src/components/managerialConsole/AuthorizationSection.tsx diff --git a/frontend/src/components/managerialConsole/AuthorizePaymentPlansModal.tsx b/src/frontend/src/components/managerialConsole/AuthorizePaymentPlansModal.tsx similarity index 100% rename from frontend/src/components/managerialConsole/AuthorizePaymentPlansModal.tsx rename to src/frontend/src/components/managerialConsole/AuthorizePaymentPlansModal.tsx diff --git a/frontend/src/components/managerialConsole/ManagerialConsoleBaseModal.tsx b/src/frontend/src/components/managerialConsole/ManagerialConsoleBaseModal.tsx similarity index 100% rename from frontend/src/components/managerialConsole/ManagerialConsoleBaseModal.tsx rename to src/frontend/src/components/managerialConsole/ManagerialConsoleBaseModal.tsx diff --git a/backend/hct_mis_api/api/endpoints/program/__init__.py b/src/frontend/src/components/managerialConsole/PaymentVerificationOverview.tsx similarity index 100% rename from backend/hct_mis_api/api/endpoints/program/__init__.py rename to src/frontend/src/components/managerialConsole/PaymentVerificationOverview.tsx diff --git a/frontend/src/components/managerialConsole/PendingForReleaseSection.tsx b/src/frontend/src/components/managerialConsole/PendingForReleaseSection.tsx similarity index 100% rename from frontend/src/components/managerialConsole/PendingForReleaseSection.tsx rename to src/frontend/src/components/managerialConsole/PendingForReleaseSection.tsx diff --git a/frontend/src/components/managerialConsole/ReleasePaymentPlansModal.tsx b/src/frontend/src/components/managerialConsole/ReleasePaymentPlansModal.tsx similarity index 100% rename from frontend/src/components/managerialConsole/ReleasePaymentPlansModal.tsx rename to src/frontend/src/components/managerialConsole/ReleasePaymentPlansModal.tsx diff --git a/frontend/src/components/managerialConsole/ReleasedSection.tsx b/src/frontend/src/components/managerialConsole/ReleasedSection.tsx similarity index 100% rename from frontend/src/components/managerialConsole/ReleasedSection.tsx rename to src/frontend/src/components/managerialConsole/ReleasedSection.tsx diff --git a/frontend/src/components/managerialConsole/useSortAndFilter.tsx b/src/frontend/src/components/managerialConsole/useSortAndFilter.tsx similarity index 100% rename from frontend/src/components/managerialConsole/useSortAndFilter.tsx rename to src/frontend/src/components/managerialConsole/useSortAndFilter.tsx diff --git a/frontend/src/components/paymentmodule/CreateFollowUpPaymentPlan/CreateFollowUpPaymentPlan.tsx b/src/frontend/src/components/paymentmodule/CreateFollowUpPaymentPlan/CreateFollowUpPaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateFollowUpPaymentPlan/CreateFollowUpPaymentPlan.tsx rename to src/frontend/src/components/paymentmodule/CreateFollowUpPaymentPlan/CreateFollowUpPaymentPlan.tsx diff --git a/frontend/src/components/paymentmodule/CreateFollowUpPaymentPlan/index.tsx b/src/frontend/src/components/paymentmodule/CreateFollowUpPaymentPlan/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateFollowUpPaymentPlan/index.tsx rename to src/frontend/src/components/paymentmodule/CreateFollowUpPaymentPlan/index.tsx diff --git a/frontend/src/components/paymentmodule/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.tsx b/src/frontend/src/components/paymentmodule/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.tsx rename to src/frontend/src/components/paymentmodule/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.tsx diff --git a/frontend/src/components/paymentmodule/CreatePaymentPlan/CreatePaymentPlanHeader/index.tsx b/src/frontend/src/components/paymentmodule/CreatePaymentPlan/CreatePaymentPlanHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreatePaymentPlan/CreatePaymentPlanHeader/index.tsx rename to src/frontend/src/components/paymentmodule/CreatePaymentPlan/CreatePaymentPlanHeader/index.tsx diff --git a/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanParameters/PaymentPlanParameters.tsx b/src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanParameters/PaymentPlanParameters.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanParameters/PaymentPlanParameters.tsx rename to src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanParameters/PaymentPlanParameters.tsx diff --git a/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanParameters/index.tsx b/src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanParameters/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanParameters/index.tsx rename to src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanParameters/index.tsx diff --git a/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.test.tsx b/src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.test.tsx rename to src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.test.tsx diff --git a/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.tsx b/src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.tsx rename to src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.tsx diff --git a/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/__snapshots__/PaymentPlanTargeting.test.tsx.snap b/src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/__snapshots__/PaymentPlanTargeting.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/__snapshots__/PaymentPlanTargeting.test.tsx.snap rename to src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/__snapshots__/PaymentPlanTargeting.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/index.tsx b/src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/index.tsx rename to src/frontend/src/components/paymentmodule/CreatePaymentPlan/PaymentPlanTargeting/index.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.test.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.test.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.test.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/__snapshots__/CreateSetUpFspHeader.test.tsx.snap b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/__snapshots__/CreateSetUpFspHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/__snapshots__/CreateSetUpFspHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/__snapshots__/CreateSetUpFspHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/index.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/index.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/CreateSetUpFspHeader/index.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.test.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.test.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.test.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/__snapshots__/DeliveryMechanismRow.test.tsx.snap b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/__snapshots__/DeliveryMechanismRow.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/__snapshots__/DeliveryMechanismRow.test.tsx.snap rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/__snapshots__/DeliveryMechanismRow.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/index.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/index.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/DeliveryMechanismRow/index.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.test.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.test.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.test.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/__snapshots__/SetUpFspButtonActions.test.tsx.snap b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/__snapshots__/SetUpFspButtonActions.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/__snapshots__/SetUpFspButtonActions.test.tsx.snap rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/__snapshots__/SetUpFspButtonActions.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/index.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/index.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspButtonActions/index.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.test.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.test.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.test.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.tsx b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.tsx similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.tsx rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.tsx diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/__snapshots__/SetUpFspCore.test.tsx.snap b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/__snapshots__/SetUpFspCore.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/__snapshots__/SetUpFspCore.test.tsx.snap rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/__snapshots__/SetUpFspCore.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/index.ts b/src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/index.ts similarity index 100% rename from frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/index.ts rename to src/frontend/src/components/paymentmodule/CreateSetUpFsp/SetUpFspCore/index.ts diff --git a/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/EditFspHeader.test.tsx b/src/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/EditFspHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditFsp/EditFspHeader/EditFspHeader.test.tsx rename to src/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/EditFspHeader.test.tsx diff --git a/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/EditFspHeader.tsx b/src/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/EditFspHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditFsp/EditFspHeader/EditFspHeader.tsx rename to src/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/EditFspHeader.tsx diff --git a/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/__snapshots__/EditFspHeader.test.tsx.snap b/src/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/__snapshots__/EditFspHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/EditFsp/EditFspHeader/__snapshots__/EditFspHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/__snapshots__/EditFspHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/index.tsx b/src/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditFsp/EditFspHeader/index.tsx rename to src/frontend/src/components/paymentmodule/EditFsp/EditFspHeader/index.tsx diff --git a/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.test.tsx b/src/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.test.tsx rename to src/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.test.tsx diff --git a/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.tsx b/src/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.tsx rename to src/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.tsx diff --git a/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/__snapshots__/EditPaymentPlanHeader.test.tsx.snap b/src/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/__snapshots__/EditPaymentPlanHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/__snapshots__/EditPaymentPlanHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/__snapshots__/EditPaymentPlanHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/index.tsx b/src/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/index.tsx rename to src/frontend/src/components/paymentmodule/EditPaymentPlan/EditPaymentPlanHeader/index.tsx diff --git a/frontend/src/components/paymentmodule/EditSetUpFsp/DeliveryMechanismWarning.test.tsx b/src/frontend/src/components/paymentmodule/EditSetUpFsp/DeliveryMechanismWarning.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditSetUpFsp/DeliveryMechanismWarning.test.tsx rename to src/frontend/src/components/paymentmodule/EditSetUpFsp/DeliveryMechanismWarning.test.tsx diff --git a/frontend/src/components/paymentmodule/EditSetUpFsp/DeliveryMechanismWarning.tsx b/src/frontend/src/components/paymentmodule/EditSetUpFsp/DeliveryMechanismWarning.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditSetUpFsp/DeliveryMechanismWarning.tsx rename to src/frontend/src/components/paymentmodule/EditSetUpFsp/DeliveryMechanismWarning.tsx diff --git a/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.test.tsx b/src/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.test.tsx rename to src/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.test.tsx diff --git a/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.tsx b/src/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.tsx rename to src/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.tsx diff --git a/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/__snapshots__/EditSetUpFspHeader.test.tsx.snap b/src/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/__snapshots__/EditSetUpFspHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/__snapshots__/EditSetUpFspHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/__snapshots__/EditSetUpFspHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/index.tsx b/src/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/index.tsx rename to src/frontend/src/components/paymentmodule/EditSetUpFsp/EditSetUpFspHeader/index.tsx diff --git a/frontend/src/components/paymentmodule/EditSetUpFsp/__snapshots__/DeliveryMechanismWarning.test.tsx.snap b/src/frontend/src/components/paymentmodule/EditSetUpFsp/__snapshots__/DeliveryMechanismWarning.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/EditSetUpFsp/__snapshots__/DeliveryMechanismWarning.test.tsx.snap rename to src/frontend/src/components/paymentmodule/EditSetUpFsp/__snapshots__/DeliveryMechanismWarning.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails.tsx b/src/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails.tsx similarity index 100% rename from frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails.tsx rename to src/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails.tsx diff --git a/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/index.tsx b/src/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/index.tsx rename to src/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/index.tsx diff --git a/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/FollowUpPaymentPlanDetailsHeader.tsx b/src/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/FollowUpPaymentPlanDetailsHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/FollowUpPaymentPlanDetailsHeader.tsx rename to src/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/FollowUpPaymentPlanDetailsHeader.tsx diff --git a/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/index.tsx b/src/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/index.tsx rename to src/frontend/src/components/paymentmodule/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/index.tsx diff --git a/frontend/src/components/paymentmodule/ForceFailedButton.tsx b/src/frontend/src/components/paymentmodule/ForceFailedButton.tsx similarity index 100% rename from frontend/src/components/paymentmodule/ForceFailedButton.tsx rename to src/frontend/src/components/paymentmodule/ForceFailedButton.tsx diff --git a/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/FspHeader.test.tsx b/src/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/FspHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/FspHeader.test.tsx rename to src/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/FspHeader.test.tsx diff --git a/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/FspHeader.tsx b/src/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/FspHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/FspHeader.tsx rename to src/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/FspHeader.tsx diff --git a/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/__snapshots__/FspHeader.test.tsx.snap b/src/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/__snapshots__/FspHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/__snapshots__/FspHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/__snapshots__/FspHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/index.tsx b/src/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/index.tsx rename to src/frontend/src/components/paymentmodule/FspPlanDetails/FspHeader/index.tsx diff --git a/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/TotalAmount.test.tsx b/src/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/TotalAmount.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/TotalAmount.test.tsx rename to src/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/TotalAmount.test.tsx diff --git a/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/TotalAmount.tsx b/src/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/TotalAmount.tsx similarity index 100% rename from frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/TotalAmount.tsx rename to src/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/TotalAmount.tsx diff --git a/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/__snapshots__/TotalAmount.test.tsx.snap b/src/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/__snapshots__/TotalAmount.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/__snapshots__/TotalAmount.test.tsx.snap rename to src/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/__snapshots__/TotalAmount.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/index.tsx b/src/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/index.tsx rename to src/frontend/src/components/paymentmodule/FspPlanDetails/TotalAmount/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentDetails/PaymentDetails.tsx b/src/frontend/src/components/paymentmodule/PaymentDetails/PaymentDetails.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentDetails/PaymentDetails.tsx rename to src/frontend/src/components/paymentmodule/PaymentDetails/PaymentDetails.tsx diff --git a/frontend/src/components/paymentmodule/PaymentDetails/index.tsx b/src/frontend/src/components/paymentmodule/PaymentDetails/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentDetails/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentDetails/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcess.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcess.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcess.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcess.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/__snapshots__/AcceptanceProcessStepper.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/__snapshots__/AcceptanceProcessStepper.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/__snapshots__/AcceptanceProcessStepper.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/__snapshots__/AcceptanceProcessStepper.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/index.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/MessageDialog.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/MessageDialog.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/MessageDialog.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/MessageDialog.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/MessageDialog.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/MessageDialog.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/MessageDialog.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/MessageDialog.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/AcceptanceProcessRow.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/AcceptanceProcessRow.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/AcceptanceProcessRow.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/AcceptanceProcessRow.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/GreyInfoCard.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/GreyInfoCard.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/GreyInfoCard.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/GreyInfoCard.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/MessageDialog.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/MessageDialog.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/MessageDialog.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/__snapshots__/MessageDialog.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/index.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/AcceptanceProcess/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/Entitlement.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/Entitlement.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/Entitlement.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/Entitlement.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/Entitlement.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/Entitlement.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/Entitlement.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/Entitlement.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/__snapshots__/Entitlement.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/__snapshots__/Entitlement.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/__snapshots__/Entitlement.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/__snapshots__/Entitlement.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/index.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/Entitlement/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/ExcludeSection.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/ExcludeSection.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/ExcludeSection.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/ExcludeSection.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/ExcludedItem.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/ExcludedItem.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/ExcludedItem.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/ExcludedItem.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/index.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/FspSection.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/FspSection.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/FspSection.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/FspSection.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/FspSection.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/FspSection.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/FspSection.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/FspSection.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/__snapshots__/VolumeByDeliveryMechanismSection.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/__snapshots__/VolumeByDeliveryMechanismSection.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/__snapshots__/VolumeByDeliveryMechanismSection.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/__snapshots__/VolumeByDeliveryMechanismSection.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/index.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/__snapshots__/FspSection.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/__snapshots__/FspSection.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/__snapshots__/FspSection.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/__snapshots__/FspSection.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/index.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/FspSection/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/__snapshots__/ImportXlsxPaymentPlanPaymentList.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/__snapshots__/ImportXlsxPaymentPlanPaymentList.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/__snapshots__/ImportXlsxPaymentPlanPaymentList.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/__snapshots__/ImportXlsxPaymentPlanPaymentList.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/index.ts b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/index.ts similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/index.ts rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/index.ts diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/__snapshots__/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/__snapshots__/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/__snapshots__/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/__snapshots__/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/index.ts b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/index.ts similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/index.ts rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/index.ts diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/RelatedFollowUpPaymentPlans.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/RelatedFollowUpPaymentPlans.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/RelatedFollowUpPaymentPlans.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/RelatedFollowUpPaymentPlans.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/__snapshots__/PaymentPlanDetails.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/__snapshots__/PaymentPlanDetails.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/__snapshots__/PaymentPlanDetails.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/__snapshots__/PaymentPlanDetails.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/index.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetails/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedFspPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedFspPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedFspPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedFspPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/AcceptedPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/AcceptedPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/AcceptedPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/AcceptedPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InApprovalPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InApprovalPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InApprovalPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InApprovalPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InAuthorizationPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InAuthorizationPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InAuthorizationPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InAuthorizationPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InReviewPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InReviewPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InReviewPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InReviewPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/LockedPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/LockedPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/LockedPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/LockedPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/OpenPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/OpenPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/OpenPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/OpenPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockFspPaymentPlan.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockFspPaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockFspPaymentPlan.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockFspPaymentPlan.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/SplitIntoPaymentLists.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/SplitIntoPaymentLists.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/SplitIntoPaymentLists.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/SplitIntoPaymentLists.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/ApprovePaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/ApprovePaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/ApprovePaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/ApprovePaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/AuthorizePaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/AuthorizePaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/AuthorizePaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/AuthorizePaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/DeletePaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/DeletePaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/DeletePaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/DeletePaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/LockPaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/LockPaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/LockPaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/LockPaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/MarkAsReleasedPaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/MarkAsReleasedPaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/MarkAsReleasedPaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/MarkAsReleasedPaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/PaymentPlanDetailsHeader.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/PaymentPlanDetailsHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/PaymentPlanDetailsHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/PaymentPlanDetailsHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/RejectPaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/RejectPaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/RejectPaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/RejectPaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/index.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsHeader/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/PaymentPlanDetailsResults.test.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/PaymentPlanDetailsResults.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/PaymentPlanDetailsResults.test.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/PaymentPlanDetailsResults.test.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/PaymentPlanDetailsResults.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/PaymentPlanDetailsResults.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/PaymentPlanDetailsResults.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/PaymentPlanDetailsResults.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/ResultsForHouseholds.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/ResultsForHouseholds.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/ResultsForHouseholds.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/ResultsForHouseholds.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/ResultsForPeople.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/ResultsForPeople.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/ResultsForPeople.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/ResultsForPeople.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/Styles.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/Styles.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/Styles.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/Styles.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/__snapshots__/PaymentPlanDetailsResults.test.tsx.snap b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/__snapshots__/PaymentPlanDetailsResults.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/__snapshots__/PaymentPlanDetailsResults.test.tsx.snap rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/__snapshots__/PaymentPlanDetailsResults.test.tsx.snap diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/index.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/PaymentPlanDetailsResults/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ReconciliationSummary/ReconciliationSummary.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ReconciliationSummary/ReconciliationSummary.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ReconciliationSummary/ReconciliationSummary.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ReconciliationSummary/ReconciliationSummary.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ReconciliationSummary/index.tsx b/src/frontend/src/components/paymentmodule/PaymentPlanDetails/ReconciliationSummary/index.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ReconciliationSummary/index.tsx rename to src/frontend/src/components/paymentmodule/PaymentPlanDetails/ReconciliationSummary/index.tsx diff --git a/frontend/src/components/paymentmodule/RevertForceFailedButton.tsx b/src/frontend/src/components/paymentmodule/RevertForceFailedButton.tsx similarity index 100% rename from frontend/src/components/paymentmodule/RevertForceFailedButton.tsx rename to src/frontend/src/components/paymentmodule/RevertForceFailedButton.tsx diff --git a/frontend/src/components/paymentmodule/WarningMissingAmount.test.tsx b/src/frontend/src/components/paymentmodule/WarningMissingAmount.test.tsx similarity index 100% rename from frontend/src/components/paymentmodule/WarningMissingAmount.test.tsx rename to src/frontend/src/components/paymentmodule/WarningMissingAmount.test.tsx diff --git a/frontend/src/components/paymentmodule/WarningMissingAmount.tsx b/src/frontend/src/components/paymentmodule/WarningMissingAmount.tsx similarity index 100% rename from frontend/src/components/paymentmodule/WarningMissingAmount.tsx rename to src/frontend/src/components/paymentmodule/WarningMissingAmount.tsx diff --git a/frontend/src/components/paymentmodule/__snapshots__/WarningMissingAmount.test.tsx.snap b/src/frontend/src/components/paymentmodule/__snapshots__/WarningMissingAmount.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodule/__snapshots__/WarningMissingAmount.test.tsx.snap rename to src/frontend/src/components/paymentmodule/__snapshots__/WarningMissingAmount.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/CreateFollowUpPaymentPlan/CreateFollowUpPaymentPlan.tsx b/src/frontend/src/components/paymentmodulepeople/CreateFollowUpPaymentPlan/CreateFollowUpPaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateFollowUpPaymentPlan/CreateFollowUpPaymentPlan.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateFollowUpPaymentPlan/CreateFollowUpPaymentPlan.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateFollowUpPaymentPlan/index.tsx b/src/frontend/src/components/paymentmodulepeople/CreateFollowUpPaymentPlan/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateFollowUpPaymentPlan/index.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateFollowUpPaymentPlan/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.test.tsx b/src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.test.tsx rename to src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.tsx b/src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.tsx rename to src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/CreatePaymentPlanHeader.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/__snapshots__/CreatePaymentPlanHeader.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/__snapshots__/CreatePaymentPlanHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/__snapshots__/CreatePaymentPlanHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/__snapshots__/CreatePaymentPlanHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/index.tsx b/src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/index.tsx rename to src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/CreatePaymentPlanHeader/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanParameters/PaymentPlanParameters.tsx b/src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanParameters/PaymentPlanParameters.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanParameters/PaymentPlanParameters.tsx rename to src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanParameters/PaymentPlanParameters.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanParameters/index.tsx b/src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanParameters/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanParameters/index.tsx rename to src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanParameters/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.test.tsx b/src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.test.tsx rename to src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.tsx b/src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.tsx rename to src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/PaymentPlanTargeting.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/__snapshots__/PaymentPlanTargeting.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/__snapshots__/PaymentPlanTargeting.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/__snapshots__/PaymentPlanTargeting.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/__snapshots__/PaymentPlanTargeting.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/index.tsx b/src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/index.tsx rename to src/frontend/src/components/paymentmodulepeople/CreatePaymentPlan/PaymentPlanTargeting/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.test.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.test.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/CreateSetUpFspHeader.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/__snapshots__/CreateSetUpFspHeader.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/__snapshots__/CreateSetUpFspHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/__snapshots__/CreateSetUpFspHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/__snapshots__/CreateSetUpFspHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/index.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/index.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/CreateSetUpFspHeader/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.test.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.test.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/DeliveryMechanismRow.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/__snapshots__/DeliveryMechanismRow.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/__snapshots__/DeliveryMechanismRow.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/__snapshots__/DeliveryMechanismRow.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/__snapshots__/DeliveryMechanismRow.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/index.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/index.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/DeliveryMechanismRow/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.test.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.test.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/SetUpFspButtonActions.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/__snapshots__/SetUpFspButtonActions.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/__snapshots__/SetUpFspButtonActions.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/__snapshots__/SetUpFspButtonActions.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/__snapshots__/SetUpFspButtonActions.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/index.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/index.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspButtonActions/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.test.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.test.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.tsx b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.tsx rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/SetUpFspCore.tsx diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/__snapshots__/SetUpFspCore.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/__snapshots__/SetUpFspCore.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/__snapshots__/SetUpFspCore.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/__snapshots__/SetUpFspCore.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/index.ts b/src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/index.ts similarity index 100% rename from frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/index.ts rename to src/frontend/src/components/paymentmodulepeople/CreateSetUpFsp/SetUpFspCore/index.ts diff --git a/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/EditFspHeader.test.tsx b/src/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/EditFspHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/EditFspHeader.test.tsx rename to src/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/EditFspHeader.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/EditFspHeader.tsx b/src/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/EditFspHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/EditFspHeader.tsx rename to src/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/EditFspHeader.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/__snapshots__/EditFspHeader.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/__snapshots__/EditFspHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/__snapshots__/EditFspHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/__snapshots__/EditFspHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/index.tsx b/src/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/index.tsx rename to src/frontend/src/components/paymentmodulepeople/EditFsp/EditFspHeader/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.test.tsx b/src/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.test.tsx rename to src/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.tsx b/src/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.tsx rename to src/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/EditPaymentPlanHeader.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/__snapshots__/EditPaymentPlanHeader.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/__snapshots__/EditPaymentPlanHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/__snapshots__/EditPaymentPlanHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/__snapshots__/EditPaymentPlanHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/index.tsx b/src/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/index.tsx rename to src/frontend/src/components/paymentmodulepeople/EditPaymentPlan/EditPaymentPlanHeader/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditSetUpFsp/DeliveryMechanismWarning.test.tsx b/src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/DeliveryMechanismWarning.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditSetUpFsp/DeliveryMechanismWarning.test.tsx rename to src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/DeliveryMechanismWarning.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditSetUpFsp/DeliveryMechanismWarning.tsx b/src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/DeliveryMechanismWarning.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditSetUpFsp/DeliveryMechanismWarning.tsx rename to src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/DeliveryMechanismWarning.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.test.tsx b/src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.test.tsx rename to src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.tsx b/src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.tsx rename to src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/EditSetUpFspHeader.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/__snapshots__/EditSetUpFspHeader.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/__snapshots__/EditSetUpFspHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/__snapshots__/EditSetUpFspHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/__snapshots__/EditSetUpFspHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/index.tsx b/src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/index.tsx rename to src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/EditSetUpFspHeader/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/EditSetUpFsp/__snapshots__/DeliveryMechanismWarning.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/__snapshots__/DeliveryMechanismWarning.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/EditSetUpFsp/__snapshots__/DeliveryMechanismWarning.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/EditSetUpFsp/__snapshots__/DeliveryMechanismWarning.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails.tsx b/src/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails.tsx rename to src/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails.tsx diff --git a/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/index.tsx b/src/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/index.tsx rename to src/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetails/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/FollowUpPaymentPlanDetailsHeader.tsx b/src/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/FollowUpPaymentPlanDetailsHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/FollowUpPaymentPlanDetailsHeader.tsx rename to src/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/FollowUpPaymentPlanDetailsHeader.tsx diff --git a/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/index.tsx b/src/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/index.tsx rename to src/frontend/src/components/paymentmodulepeople/FollowUpPaymentPlanDetails/FollowUpPaymentPlanDetailsHeader/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/ForceFailedButton.tsx b/src/frontend/src/components/paymentmodulepeople/ForceFailedButton.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/ForceFailedButton.tsx rename to src/frontend/src/components/paymentmodulepeople/ForceFailedButton.tsx diff --git a/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/FspHeader.test.tsx b/src/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/FspHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/FspHeader.test.tsx rename to src/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/FspHeader.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/FspHeader.tsx b/src/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/FspHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/FspHeader.tsx rename to src/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/FspHeader.tsx diff --git a/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/__snapshots__/FspHeader.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/__snapshots__/FspHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/__snapshots__/FspHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/__snapshots__/FspHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/index.tsx b/src/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/index.tsx rename to src/frontend/src/components/paymentmodulepeople/FspPlanDetails/FspHeader/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/TotalAmount.test.tsx b/src/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/TotalAmount.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/TotalAmount.test.tsx rename to src/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/TotalAmount.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/TotalAmount.tsx b/src/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/TotalAmount.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/TotalAmount.tsx rename to src/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/TotalAmount.tsx diff --git a/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/__snapshots__/TotalAmount.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/__snapshots__/TotalAmount.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/__snapshots__/TotalAmount.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/__snapshots__/TotalAmount.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/index.tsx b/src/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/index.tsx rename to src/frontend/src/components/paymentmodulepeople/FspPlanDetails/TotalAmount/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentDetails/PaymentDetails.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentDetails/PaymentDetails.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentDetails/PaymentDetails.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentDetails/PaymentDetails.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentDetails/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentDetails/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentDetails/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentDetails/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcess.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcess.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcess.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcess.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessRow.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/AcceptanceProcessStepper.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/__snapshots__/AcceptanceProcessStepper.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/__snapshots__/AcceptanceProcessStepper.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/__snapshots__/AcceptanceProcessStepper.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/__snapshots__/AcceptanceProcessStepper.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/AcceptanceProcessStepper/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/GreyInfoCard.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/MessageDialog.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/MessageDialog.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/MessageDialog.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/MessageDialog.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/MessageDialog.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/MessageDialog.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/MessageDialog.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/MessageDialog.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/AcceptanceProcessRow.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/AcceptanceProcessRow.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/AcceptanceProcessRow.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/AcceptanceProcessRow.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/GreyInfoCard.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/GreyInfoCard.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/GreyInfoCard.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/GreyInfoCard.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/MessageDialog.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/MessageDialog.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/MessageDialog.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/__snapshots__/MessageDialog.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/AcceptanceProcess/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/Entitlement.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/Entitlement.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/Entitlement.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/Entitlement.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/Entitlement.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/Entitlement.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/Entitlement.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/Entitlement.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/__snapshots__/Entitlement.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/__snapshots__/Entitlement.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/__snapshots__/Entitlement.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/__snapshots__/Entitlement.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/Entitlement/index.tsx diff --git a/frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/ExcludeSection.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/ExcludeSection.tsx similarity index 100% rename from frontend/src/components/paymentmodule/PaymentPlanDetails/ExcludeSection/ExcludeSection.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/ExcludeSection.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/ExcludedItem.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/ExcludedItem.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/ExcludedItem.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/ExcludedItem.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ExcludeSection/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/FspSection.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/FspSection.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/FspSection.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/FspSection.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/FspSection.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/FspSection.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/FspSection.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/FspSection.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/VolumeByDeliveryMechanismSection.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/__snapshots__/VolumeByDeliveryMechanismSection.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/__snapshots__/VolumeByDeliveryMechanismSection.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/__snapshots__/VolumeByDeliveryMechanismSection.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/__snapshots__/VolumeByDeliveryMechanismSection.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/VolumeByDeliveryMechanismSection/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/__snapshots__/FspSection.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/__snapshots__/FspSection.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/__snapshots__/FspSection.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/__snapshots__/FspSection.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/FspSection/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/ImportXlsxPaymentPlanPaymentList.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/__snapshots__/ImportXlsxPaymentPlanPaymentList.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/__snapshots__/ImportXlsxPaymentPlanPaymentList.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/__snapshots__/ImportXlsxPaymentPlanPaymentList.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/__snapshots__/ImportXlsxPaymentPlanPaymentList.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/index.ts b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/index.ts similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/index.ts rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentList/index.ts diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/ImportXlsxPaymentPlanPaymentListPerFsp.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/__snapshots__/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/__snapshots__/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/__snapshots__/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/__snapshots__/ImportXlsxPaymentPlanPaymentListPerFsp.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/index.ts b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/index.ts similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/index.ts rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ImportXlsxPaymentPlanPaymentListPerFsp/index.ts diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/PaymentPlanDetails.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/RelatedFollowUpPaymentPlans.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/RelatedFollowUpPaymentPlans.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/RelatedFollowUpPaymentPlans.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/RelatedFollowUpPaymentPlans.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/__snapshots__/PaymentPlanDetails.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/__snapshots__/PaymentPlanDetails.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/__snapshots__/PaymentPlanDetails.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/__snapshots__/PaymentPlanDetails.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetails/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/ApprovePaymentPlan.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/AuthorizePaymentPlan.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/DeletePaymentPlan.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/AcceptedPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InApprovalPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InAuthorizationPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/InReviewPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedFspPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedFspPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedFspPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedFspPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/LockedPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/OpenPaymentPlanHeaderButtons.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/AcceptedPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/AcceptedPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/AcceptedPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/AcceptedPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InApprovalPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InApprovalPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InApprovalPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InApprovalPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InAuthorizationPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InAuthorizationPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InAuthorizationPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InAuthorizationPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InReviewPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InReviewPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InReviewPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/InReviewPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/LockedPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/LockedPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/LockedPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/LockedPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/OpenPaymentPlanHeaderButtons.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/OpenPaymentPlanHeaderButtons.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/OpenPaymentPlanHeaderButtons.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/HeaderButtons/__snapshots__/OpenPaymentPlanHeaderButtons.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockFspPaymentPlan.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockFspPaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockFspPaymentPlan.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockFspPaymentPlan.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/LockPaymentPlan.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/MarkAsReleasedPaymentPlan.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/PaymentPlanDetailsHeader.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/RejectPaymentPlan.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/SplitIntoPaymentLists.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/SplitIntoPaymentLists.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/SplitIntoPaymentLists.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/SplitIntoPaymentLists.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/ApprovePaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/ApprovePaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/ApprovePaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/ApprovePaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/AuthorizePaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/AuthorizePaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/AuthorizePaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/AuthorizePaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/DeletePaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/DeletePaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/DeletePaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/DeletePaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/LockPaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/LockPaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/LockPaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/LockPaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/MarkAsReleasedPaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/MarkAsReleasedPaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/MarkAsReleasedPaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/MarkAsReleasedPaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/PaymentPlanDetailsHeader.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/PaymentPlanDetailsHeader.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/PaymentPlanDetailsHeader.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/PaymentPlanDetailsHeader.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/RejectPaymentPlan.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/RejectPaymentPlan.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/RejectPaymentPlan.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/__snapshots__/RejectPaymentPlan.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PaymentPlanDetailsHeader/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/PeoplePaymentPlanDetailsResults.test.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/PeoplePaymentPlanDetailsResults.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/PeoplePaymentPlanDetailsResults.test.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/PeoplePaymentPlanDetailsResults.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/PeoplePaymentPlanDetailsResults.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/PeoplePaymentPlanDetailsResults.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/PeoplePaymentPlanDetailsResults.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/PeoplePaymentPlanDetailsResults.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/__snapshots__/PeoplePaymentPlanDetailsResults.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/__snapshots__/PeoplePaymentPlanDetailsResults.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/__snapshots__/PeoplePaymentPlanDetailsResults.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/__snapshots__/PeoplePaymentPlanDetailsResults.test.tsx.snap diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/PeoplePaymentPlanDetailsResults/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ReconciliationSummary/ReconciliationSummary.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ReconciliationSummary/ReconciliationSummary.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ReconciliationSummary/ReconciliationSummary.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ReconciliationSummary/ReconciliationSummary.tsx diff --git a/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ReconciliationSummary/index.tsx b/src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ReconciliationSummary/index.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ReconciliationSummary/index.tsx rename to src/frontend/src/components/paymentmodulepeople/PaymentPlanDetails/ReconciliationSummary/index.tsx diff --git a/frontend/src/components/paymentmodulepeople/RevertForceFailedButton.tsx b/src/frontend/src/components/paymentmodulepeople/RevertForceFailedButton.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/RevertForceFailedButton.tsx rename to src/frontend/src/components/paymentmodulepeople/RevertForceFailedButton.tsx diff --git a/frontend/src/components/paymentmodulepeople/WarningMissingAmount.test.tsx b/src/frontend/src/components/paymentmodulepeople/WarningMissingAmount.test.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/WarningMissingAmount.test.tsx rename to src/frontend/src/components/paymentmodulepeople/WarningMissingAmount.test.tsx diff --git a/frontend/src/components/paymentmodulepeople/WarningMissingAmount.tsx b/src/frontend/src/components/paymentmodulepeople/WarningMissingAmount.tsx similarity index 100% rename from frontend/src/components/paymentmodulepeople/WarningMissingAmount.tsx rename to src/frontend/src/components/paymentmodulepeople/WarningMissingAmount.tsx diff --git a/frontend/src/components/paymentmodulepeople/__snapshots__/WarningMissingAmount.test.tsx.snap b/src/frontend/src/components/paymentmodulepeople/__snapshots__/WarningMissingAmount.test.tsx.snap similarity index 100% rename from frontend/src/components/paymentmodulepeople/__snapshots__/WarningMissingAmount.test.tsx.snap rename to src/frontend/src/components/paymentmodulepeople/__snapshots__/WarningMissingAmount.test.tsx.snap diff --git a/frontend/src/components/payments/ActivateVerificationPlan.tsx b/src/frontend/src/components/payments/ActivateVerificationPlan.tsx similarity index 100% rename from frontend/src/components/payments/ActivateVerificationPlan.tsx rename to src/frontend/src/components/payments/ActivateVerificationPlan.tsx diff --git a/frontend/src/components/payments/CashPlanDetailsSection.tsx b/src/frontend/src/components/payments/CashPlanDetailsSection.tsx similarity index 100% rename from frontend/src/components/payments/CashPlanDetailsSection.tsx rename to src/frontend/src/components/payments/CashPlanDetailsSection.tsx diff --git a/frontend/src/components/payments/CreateVerificationPlan.tsx b/src/frontend/src/components/payments/CreateVerificationPlan.tsx similarity index 100% rename from frontend/src/components/payments/CreateVerificationPlan.tsx rename to src/frontend/src/components/payments/CreateVerificationPlan.tsx diff --git a/frontend/src/components/payments/DeleteVerificationPlan.tsx b/src/frontend/src/components/payments/DeleteVerificationPlan.tsx similarity index 100% rename from frontend/src/components/payments/DeleteVerificationPlan.tsx rename to src/frontend/src/components/payments/DeleteVerificationPlan.tsx diff --git a/frontend/src/components/payments/DiscardVerificationPlan.tsx b/src/frontend/src/components/payments/DiscardVerificationPlan.tsx similarity index 100% rename from frontend/src/components/payments/DiscardVerificationPlan.tsx rename to src/frontend/src/components/payments/DiscardVerificationPlan.tsx diff --git a/frontend/src/components/payments/EditVerificationPlan.tsx b/src/frontend/src/components/payments/EditVerificationPlan.tsx similarity index 100% rename from frontend/src/components/payments/EditVerificationPlan.tsx rename to src/frontend/src/components/payments/EditVerificationPlan.tsx diff --git a/frontend/src/components/payments/FinishVerificationPlan.tsx b/src/frontend/src/components/payments/FinishVerificationPlan.tsx similarity index 100% rename from frontend/src/components/payments/FinishVerificationPlan.tsx rename to src/frontend/src/components/payments/FinishVerificationPlan.tsx diff --git a/frontend/src/components/payments/ForceFailedButton.tsx b/src/frontend/src/components/payments/ForceFailedButton.tsx similarity index 100% rename from frontend/src/components/payments/ForceFailedButton.tsx rename to src/frontend/src/components/payments/ForceFailedButton.tsx diff --git a/frontend/src/components/payments/HouseholdDetails.tsx b/src/frontend/src/components/payments/HouseholdDetails.tsx similarity index 100% rename from frontend/src/components/payments/HouseholdDetails.tsx rename to src/frontend/src/components/payments/HouseholdDetails.tsx diff --git a/frontend/src/components/payments/ImportXlsx.tsx b/src/frontend/src/components/payments/ImportXlsx.tsx similarity index 100% rename from frontend/src/components/payments/ImportXlsx.tsx rename to src/frontend/src/components/payments/ImportXlsx.tsx diff --git a/frontend/src/components/payments/IndividualDetails.tsx b/src/frontend/src/components/payments/IndividualDetails.tsx similarity index 100% rename from frontend/src/components/payments/IndividualDetails.tsx rename to src/frontend/src/components/payments/IndividualDetails.tsx diff --git a/frontend/src/components/payments/Overview.tsx b/src/frontend/src/components/payments/Overview.tsx similarity index 100% rename from frontend/src/components/payments/Overview.tsx rename to src/frontend/src/components/payments/Overview.tsx diff --git a/frontend/src/components/payments/PaymentRecordDetails.tsx b/src/frontend/src/components/payments/PaymentRecordDetails.tsx similarity index 100% rename from frontend/src/components/payments/PaymentRecordDetails.tsx rename to src/frontend/src/components/payments/PaymentRecordDetails.tsx diff --git a/frontend/src/components/payments/RapidProFlowsLoader.tsx b/src/frontend/src/components/payments/RapidProFlowsLoader.tsx similarity index 100% rename from frontend/src/components/payments/RapidProFlowsLoader.tsx rename to src/frontend/src/components/payments/RapidProFlowsLoader.tsx diff --git a/frontend/src/components/payments/RevertForceFailedButton.tsx b/src/frontend/src/components/payments/RevertForceFailedButton.tsx similarity index 100% rename from frontend/src/components/payments/RevertForceFailedButton.tsx rename to src/frontend/src/components/payments/RevertForceFailedButton.tsx diff --git a/frontend/src/components/payments/VerificationPaymentDetails.tsx b/src/frontend/src/components/payments/VerificationPaymentDetails.tsx similarity index 100% rename from frontend/src/components/payments/VerificationPaymentDetails.tsx rename to src/frontend/src/components/payments/VerificationPaymentDetails.tsx diff --git a/frontend/src/components/payments/VerificationPaymentRecordDetails.tsx b/src/frontend/src/components/payments/VerificationPaymentRecordDetails.tsx similarity index 100% rename from frontend/src/components/payments/VerificationPaymentRecordDetails.tsx rename to src/frontend/src/components/payments/VerificationPaymentRecordDetails.tsx diff --git a/frontend/src/components/payments/VerificationPlanActions.tsx b/src/frontend/src/components/payments/VerificationPlanActions.tsx similarity index 100% rename from frontend/src/components/payments/VerificationPlanActions.tsx rename to src/frontend/src/components/payments/VerificationPlanActions.tsx diff --git a/frontend/src/components/payments/VerificationPlanChart.tsx b/src/frontend/src/components/payments/VerificationPlanChart.tsx similarity index 100% rename from frontend/src/components/payments/VerificationPlanChart.tsx rename to src/frontend/src/components/payments/VerificationPlanChart.tsx diff --git a/frontend/src/components/payments/VerificationPlanDetails.tsx b/src/frontend/src/components/payments/VerificationPlanDetails.tsx similarity index 100% rename from frontend/src/components/payments/VerificationPlanDetails.tsx rename to src/frontend/src/components/payments/VerificationPlanDetails.tsx diff --git a/frontend/src/components/payments/VerificationPlansSummary.tsx b/src/frontend/src/components/payments/VerificationPlansSummary.tsx similarity index 100% rename from frontend/src/components/payments/VerificationPlansSummary.tsx rename to src/frontend/src/components/payments/VerificationPlansSummary.tsx diff --git a/frontend/src/components/payments/VerifyManual.tsx b/src/frontend/src/components/payments/VerifyManual.tsx similarity index 100% rename from frontend/src/components/payments/VerifyManual.tsx rename to src/frontend/src/components/payments/VerifyManual.tsx diff --git a/frontend/src/components/people/PeopleBioData/PeopleBioData.test.tsx b/src/frontend/src/components/people/PeopleBioData/PeopleBioData.test.tsx similarity index 100% rename from frontend/src/components/people/PeopleBioData/PeopleBioData.test.tsx rename to src/frontend/src/components/people/PeopleBioData/PeopleBioData.test.tsx diff --git a/frontend/src/components/people/PeopleBioData/PeopleBioData.tsx b/src/frontend/src/components/people/PeopleBioData/PeopleBioData.tsx similarity index 100% rename from frontend/src/components/people/PeopleBioData/PeopleBioData.tsx rename to src/frontend/src/components/people/PeopleBioData/PeopleBioData.tsx diff --git a/frontend/src/components/people/PeopleBioData/__snapshots__/PeopleBioData.test.tsx.snap b/src/frontend/src/components/people/PeopleBioData/__snapshots__/PeopleBioData.test.tsx.snap similarity index 100% rename from frontend/src/components/people/PeopleBioData/__snapshots__/PeopleBioData.test.tsx.snap rename to src/frontend/src/components/people/PeopleBioData/__snapshots__/PeopleBioData.test.tsx.snap diff --git a/frontend/src/components/people/PeopleFilter.tsx b/src/frontend/src/components/people/PeopleFilter.tsx similarity index 100% rename from frontend/src/components/people/PeopleFilter.tsx rename to src/frontend/src/components/people/PeopleFilter.tsx diff --git a/frontend/src/components/periodicDataUpdates/FieldsToUpdate.tsx b/src/frontend/src/components/periodicDataUpdates/FieldsToUpdate.tsx similarity index 100% rename from frontend/src/components/periodicDataUpdates/FieldsToUpdate.tsx rename to src/frontend/src/components/periodicDataUpdates/FieldsToUpdate.tsx diff --git a/frontend/src/components/periodicDataUpdates/FilterIndividuals.tsx b/src/frontend/src/components/periodicDataUpdates/FilterIndividuals.tsx similarity index 100% rename from frontend/src/components/periodicDataUpdates/FilterIndividuals.tsx rename to src/frontend/src/components/periodicDataUpdates/FilterIndividuals.tsx diff --git a/frontend/src/components/periodicDataUpdates/PeriodicDataUpdates.tsx b/src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdates.tsx similarity index 100% rename from frontend/src/components/periodicDataUpdates/PeriodicDataUpdates.tsx rename to src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdates.tsx diff --git a/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplateDetailsDialog.tsx b/src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplateDetailsDialog.tsx similarity index 100% rename from frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplateDetailsDialog.tsx rename to src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplateDetailsDialog.tsx diff --git a/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplatesList.tsx b/src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplatesList.tsx similarity index 100% rename from frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplatesList.tsx rename to src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplatesList.tsx diff --git a/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplatesListActions.tsx b/src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplatesListActions.tsx similarity index 100% rename from frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplatesListActions.tsx rename to src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesTemplatesListActions.tsx diff --git a/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUpdatesList.tsx b/src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUpdatesList.tsx similarity index 100% rename from frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUpdatesList.tsx rename to src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUpdatesList.tsx diff --git a/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUploadDetailsDialog.tsx b/src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUploadDetailsDialog.tsx similarity index 100% rename from frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUploadDetailsDialog.tsx rename to src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUploadDetailsDialog.tsx diff --git a/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUploadDialog.tsx b/src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUploadDialog.tsx similarity index 100% rename from frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUploadDialog.tsx rename to src/frontend/src/components/periodicDataUpdates/PeriodicDataUpdatesUploadDialog.tsx diff --git a/frontend/src/components/population/DocumentPopulationPhotoModal.tsx b/src/frontend/src/components/population/DocumentPopulationPhotoModal.tsx similarity index 100% rename from frontend/src/components/population/DocumentPopulationPhotoModal.tsx rename to src/frontend/src/components/population/DocumentPopulationPhotoModal.tsx diff --git a/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/HouseholdAdditionalRegistrationInformation.test.tsx b/src/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/HouseholdAdditionalRegistrationInformation.test.tsx similarity index 100% rename from frontend/src/components/population/HouseholdAdditionalRegistrationInformation/HouseholdAdditionalRegistrationInformation.test.tsx rename to src/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/HouseholdAdditionalRegistrationInformation.test.tsx diff --git a/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/HouseholdAdditionalRegistrationInformation.tsx b/src/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/HouseholdAdditionalRegistrationInformation.tsx similarity index 100% rename from frontend/src/components/population/HouseholdAdditionalRegistrationInformation/HouseholdAdditionalRegistrationInformation.tsx rename to src/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/HouseholdAdditionalRegistrationInformation.tsx diff --git a/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/__snapshots__/HouseholdAdditionalRegistrationInformation.test.tsx.snap b/src/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/__snapshots__/HouseholdAdditionalRegistrationInformation.test.tsx.snap similarity index 100% rename from frontend/src/components/population/HouseholdAdditionalRegistrationInformation/__snapshots__/HouseholdAdditionalRegistrationInformation.test.tsx.snap rename to src/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/__snapshots__/HouseholdAdditionalRegistrationInformation.test.tsx.snap diff --git a/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/index.ts b/src/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/index.ts similarity index 100% rename from frontend/src/components/population/HouseholdAdditionalRegistrationInformation/index.ts rename to src/frontend/src/components/population/HouseholdAdditionalRegistrationInformation/index.ts diff --git a/frontend/src/components/population/HouseholdDetails/HouseholdDetails.test.tsx b/src/frontend/src/components/population/HouseholdDetails/HouseholdDetails.test.tsx similarity index 100% rename from frontend/src/components/population/HouseholdDetails/HouseholdDetails.test.tsx rename to src/frontend/src/components/population/HouseholdDetails/HouseholdDetails.test.tsx diff --git a/frontend/src/components/population/HouseholdDetails/HouseholdDetails.tsx b/src/frontend/src/components/population/HouseholdDetails/HouseholdDetails.tsx similarity index 100% rename from frontend/src/components/population/HouseholdDetails/HouseholdDetails.tsx rename to src/frontend/src/components/population/HouseholdDetails/HouseholdDetails.tsx diff --git a/frontend/src/components/population/HouseholdDetails/__snapshots__/HouseholdDetails.test.tsx.snap b/src/frontend/src/components/population/HouseholdDetails/__snapshots__/HouseholdDetails.test.tsx.snap similarity index 100% rename from frontend/src/components/population/HouseholdDetails/__snapshots__/HouseholdDetails.test.tsx.snap rename to src/frontend/src/components/population/HouseholdDetails/__snapshots__/HouseholdDetails.test.tsx.snap diff --git a/frontend/src/components/population/HouseholdDetails/index.ts b/src/frontend/src/components/population/HouseholdDetails/index.ts similarity index 100% rename from frontend/src/components/population/HouseholdDetails/index.ts rename to src/frontend/src/components/population/HouseholdDetails/index.ts diff --git a/frontend/src/components/population/HouseholdFilter.tsx b/src/frontend/src/components/population/HouseholdFilter.tsx similarity index 100% rename from frontend/src/components/population/HouseholdFilter.tsx rename to src/frontend/src/components/population/HouseholdFilter.tsx diff --git a/frontend/src/components/population/HouseholdFlexFieldPhotoModal.tsx b/src/frontend/src/components/population/HouseholdFlexFieldPhotoModal.tsx similarity index 100% rename from frontend/src/components/population/HouseholdFlexFieldPhotoModal.tsx rename to src/frontend/src/components/population/HouseholdFlexFieldPhotoModal.tsx diff --git a/frontend/src/components/population/ImportedIndividualPhotoModal.tsx b/src/frontend/src/components/population/ImportedIndividualPhotoModal.tsx similarity index 100% rename from frontend/src/components/population/ImportedIndividualPhotoModal.tsx rename to src/frontend/src/components/population/ImportedIndividualPhotoModal.tsx diff --git a/frontend/src/components/population/IndividualAdditionalRegistrationInformation/IndividualAdditionalRegistrationInformation.test.tsx b/src/frontend/src/components/population/IndividualAdditionalRegistrationInformation/IndividualAdditionalRegistrationInformation.test.tsx similarity index 100% rename from frontend/src/components/population/IndividualAdditionalRegistrationInformation/IndividualAdditionalRegistrationInformation.test.tsx rename to src/frontend/src/components/population/IndividualAdditionalRegistrationInformation/IndividualAdditionalRegistrationInformation.test.tsx diff --git a/frontend/src/components/population/IndividualAdditionalRegistrationInformation/IndividualAdditionalRegistrationInformation.tsx b/src/frontend/src/components/population/IndividualAdditionalRegistrationInformation/IndividualAdditionalRegistrationInformation.tsx similarity index 100% rename from frontend/src/components/population/IndividualAdditionalRegistrationInformation/IndividualAdditionalRegistrationInformation.tsx rename to src/frontend/src/components/population/IndividualAdditionalRegistrationInformation/IndividualAdditionalRegistrationInformation.tsx diff --git a/frontend/src/components/population/IndividualAdditionalRegistrationInformation/__snapshots__/IndividualAdditionalRegistrationInformation.test.tsx.snap b/src/frontend/src/components/population/IndividualAdditionalRegistrationInformation/__snapshots__/IndividualAdditionalRegistrationInformation.test.tsx.snap similarity index 100% rename from frontend/src/components/population/IndividualAdditionalRegistrationInformation/__snapshots__/IndividualAdditionalRegistrationInformation.test.tsx.snap rename to src/frontend/src/components/population/IndividualAdditionalRegistrationInformation/__snapshots__/IndividualAdditionalRegistrationInformation.test.tsx.snap diff --git a/frontend/src/components/population/IndividualAdditionalRegistrationInformation/index.ts b/src/frontend/src/components/population/IndividualAdditionalRegistrationInformation/index.ts similarity index 100% rename from frontend/src/components/population/IndividualAdditionalRegistrationInformation/index.ts rename to src/frontend/src/components/population/IndividualAdditionalRegistrationInformation/index.ts diff --git a/frontend/src/components/population/IndividualBioData/IndividualBioData.test.tsx b/src/frontend/src/components/population/IndividualBioData/IndividualBioData.test.tsx similarity index 100% rename from frontend/src/components/population/IndividualBioData/IndividualBioData.test.tsx rename to src/frontend/src/components/population/IndividualBioData/IndividualBioData.test.tsx diff --git a/frontend/src/components/population/IndividualBioData/IndividualBioData.tsx b/src/frontend/src/components/population/IndividualBioData/IndividualBioData.tsx similarity index 100% rename from frontend/src/components/population/IndividualBioData/IndividualBioData.tsx rename to src/frontend/src/components/population/IndividualBioData/IndividualBioData.tsx diff --git a/frontend/src/components/population/IndividualBioData/__snapshots__/IndividualBioData.test.tsx.snap b/src/frontend/src/components/population/IndividualBioData/__snapshots__/IndividualBioData.test.tsx.snap similarity index 100% rename from frontend/src/components/population/IndividualBioData/__snapshots__/IndividualBioData.test.tsx.snap rename to src/frontend/src/components/population/IndividualBioData/__snapshots__/IndividualBioData.test.tsx.snap diff --git a/frontend/src/components/population/IndividualFlags.tsx b/src/frontend/src/components/population/IndividualFlags.tsx similarity index 100% rename from frontend/src/components/population/IndividualFlags.tsx rename to src/frontend/src/components/population/IndividualFlags.tsx diff --git a/frontend/src/components/population/IndividualFlexFieldPhotoModal.tsx b/src/frontend/src/components/population/IndividualFlexFieldPhotoModal.tsx similarity index 100% rename from frontend/src/components/population/IndividualFlexFieldPhotoModal.tsx rename to src/frontend/src/components/population/IndividualFlexFieldPhotoModal.tsx diff --git a/frontend/src/components/population/IndividualPhotoModal.tsx b/src/frontend/src/components/population/IndividualPhotoModal.tsx similarity index 100% rename from frontend/src/components/population/IndividualPhotoModal.tsx rename to src/frontend/src/components/population/IndividualPhotoModal.tsx diff --git a/frontend/src/components/population/IndividualsFilter.tsx b/src/frontend/src/components/population/IndividualsFilter.tsx similarity index 100% rename from frontend/src/components/population/IndividualsFilter.tsx rename to src/frontend/src/components/population/IndividualsFilter.tsx diff --git a/frontend/src/components/population/LinkedGrievancesModal/LinkedGrievancesModal.tsx b/src/frontend/src/components/population/LinkedGrievancesModal/LinkedGrievancesModal.tsx similarity index 100% rename from frontend/src/components/population/LinkedGrievancesModal/LinkedGrievancesModal.tsx rename to src/frontend/src/components/population/LinkedGrievancesModal/LinkedGrievancesModal.tsx diff --git a/frontend/src/components/population/LinkedGrievancesModal/index.tsx b/src/frontend/src/components/population/LinkedGrievancesModal/index.tsx similarity index 100% rename from frontend/src/components/population/LinkedGrievancesModal/index.tsx rename to src/frontend/src/components/population/LinkedGrievancesModal/index.tsx diff --git a/frontend/src/components/population/ProgrammeTimeSeriesFields.tsx b/src/frontend/src/components/population/ProgrammeTimeSeriesFields.tsx similarity index 100% rename from frontend/src/components/population/ProgrammeTimeSeriesFields.tsx rename to src/frontend/src/components/population/ProgrammeTimeSeriesFields.tsx diff --git a/frontend/src/components/programs/CreateProgram/AreaTreeNode.tsx b/src/frontend/src/components/programs/CreateProgram/AreaTreeNode.tsx similarity index 100% rename from frontend/src/components/programs/CreateProgram/AreaTreeNode.tsx rename to src/frontend/src/components/programs/CreateProgram/AreaTreeNode.tsx diff --git a/frontend/src/components/programs/CreateProgram/DeleteProgramPartner.tsx b/src/frontend/src/components/programs/CreateProgram/DeleteProgramPartner.tsx similarity index 100% rename from frontend/src/components/programs/CreateProgram/DeleteProgramPartner.tsx rename to src/frontend/src/components/programs/CreateProgram/DeleteProgramPartner.tsx diff --git a/frontend/src/components/programs/CreateProgram/DetailsStep.tsx b/src/frontend/src/components/programs/CreateProgram/DetailsStep.tsx similarity index 100% rename from frontend/src/components/programs/CreateProgram/DetailsStep.tsx rename to src/frontend/src/components/programs/CreateProgram/DetailsStep.tsx diff --git a/frontend/src/components/programs/CreateProgram/PartnersStep.tsx b/src/frontend/src/components/programs/CreateProgram/PartnersStep.tsx similarity index 100% rename from frontend/src/components/programs/CreateProgram/PartnersStep.tsx rename to src/frontend/src/components/programs/CreateProgram/PartnersStep.tsx diff --git a/frontend/src/components/programs/CreateProgram/ProgramFieldSeriesStep.tsx b/src/frontend/src/components/programs/CreateProgram/ProgramFieldSeriesStep.tsx similarity index 100% rename from frontend/src/components/programs/CreateProgram/ProgramFieldSeriesStep.tsx rename to src/frontend/src/components/programs/CreateProgram/ProgramFieldSeriesStep.tsx diff --git a/frontend/src/components/programs/CreateProgram/ProgramPartnerCard.tsx b/src/frontend/src/components/programs/CreateProgram/ProgramPartnerCard.tsx similarity index 100% rename from frontend/src/components/programs/CreateProgram/ProgramPartnerCard.tsx rename to src/frontend/src/components/programs/CreateProgram/ProgramPartnerCard.tsx diff --git a/frontend/src/components/programs/CreateProgram/ProgramStepper.tsx b/src/frontend/src/components/programs/CreateProgram/ProgramStepper.tsx similarity index 100% rename from frontend/src/components/programs/CreateProgram/ProgramStepper.tsx rename to src/frontend/src/components/programs/CreateProgram/ProgramStepper.tsx diff --git a/frontend/src/components/programs/CreateProgram/editProgramValidationSchema.ts b/src/frontend/src/components/programs/CreateProgram/editProgramValidationSchema.ts similarity index 100% rename from frontend/src/components/programs/CreateProgram/editProgramValidationSchema.ts rename to src/frontend/src/components/programs/CreateProgram/editProgramValidationSchema.ts diff --git a/frontend/src/components/programs/CreateProgram/programValidationSchema.ts b/src/frontend/src/components/programs/CreateProgram/programValidationSchema.ts similarity index 100% rename from frontend/src/components/programs/CreateProgram/programValidationSchema.ts rename to src/frontend/src/components/programs/CreateProgram/programValidationSchema.ts diff --git a/frontend/src/components/programs/ProgramDetails/ProgramDetails.test.tsx b/src/frontend/src/components/programs/ProgramDetails/ProgramDetails.test.tsx similarity index 100% rename from frontend/src/components/programs/ProgramDetails/ProgramDetails.test.tsx rename to src/frontend/src/components/programs/ProgramDetails/ProgramDetails.test.tsx diff --git a/frontend/src/components/programs/ProgramDetails/ProgramDetails.tsx b/src/frontend/src/components/programs/ProgramDetails/ProgramDetails.tsx similarity index 100% rename from frontend/src/components/programs/ProgramDetails/ProgramDetails.tsx rename to src/frontend/src/components/programs/ProgramDetails/ProgramDetails.tsx diff --git a/frontend/src/components/programs/ProgramDetails/__snapshots__/ProgramDetails.test.tsx.snap b/src/frontend/src/components/programs/ProgramDetails/__snapshots__/ProgramDetails.test.tsx.snap similarity index 100% rename from frontend/src/components/programs/ProgramDetails/__snapshots__/ProgramDetails.test.tsx.snap rename to src/frontend/src/components/programs/ProgramDetails/__snapshots__/ProgramDetails.test.tsx.snap diff --git a/frontend/src/components/programs/ProgramDetails/index.ts b/src/frontend/src/components/programs/ProgramDetails/index.ts similarity index 100% rename from frontend/src/components/programs/ProgramDetails/index.ts rename to src/frontend/src/components/programs/ProgramDetails/index.ts diff --git a/frontend/src/components/programs/constants.tsx b/src/frontend/src/components/programs/constants.tsx similarity index 100% rename from frontend/src/components/programs/constants.tsx rename to src/frontend/src/components/programs/constants.tsx diff --git a/frontend/src/components/rdi/RegistrationFilters.tsx b/src/frontend/src/components/rdi/RegistrationFilters.tsx similarity index 100% rename from frontend/src/components/rdi/RegistrationFilters.tsx rename to src/frontend/src/components/rdi/RegistrationFilters.tsx diff --git a/frontend/src/components/rdi/RegistrationPeopleFilters.tsx b/src/frontend/src/components/rdi/RegistrationPeopleFilters.tsx similarity index 100% rename from frontend/src/components/rdi/RegistrationPeopleFilters.tsx rename to src/frontend/src/components/rdi/RegistrationPeopleFilters.tsx diff --git a/frontend/src/components/rdi/create/ImportCounters.tsx b/src/frontend/src/components/rdi/create/ImportCounters.tsx similarity index 100% rename from frontend/src/components/rdi/create/ImportCounters.tsx rename to src/frontend/src/components/rdi/create/ImportCounters.tsx diff --git a/frontend/src/components/rdi/create/RegistrationDataImportCreateDialog.tsx b/src/frontend/src/components/rdi/create/RegistrationDataImportCreateDialog.tsx similarity index 100% rename from frontend/src/components/rdi/create/RegistrationDataImportCreateDialog.tsx rename to src/frontend/src/components/rdi/create/RegistrationDataImportCreateDialog.tsx diff --git a/frontend/src/components/rdi/create/ScreenBeneficiaryField.tsx b/src/frontend/src/components/rdi/create/ScreenBeneficiaryField.tsx similarity index 100% rename from frontend/src/components/rdi/create/ScreenBeneficiaryField.tsx rename to src/frontend/src/components/rdi/create/ScreenBeneficiaryField.tsx diff --git a/frontend/src/components/rdi/create/kobo/CreateImportFromKoboForm.tsx b/src/frontend/src/components/rdi/create/kobo/CreateImportFromKoboForm.tsx similarity index 100% rename from frontend/src/components/rdi/create/kobo/CreateImportFromKoboForm.tsx rename to src/frontend/src/components/rdi/create/kobo/CreateImportFromKoboForm.tsx diff --git a/frontend/src/components/rdi/create/kobo/KoboErrors.tsx b/src/frontend/src/components/rdi/create/kobo/KoboErrors.tsx similarity index 100% rename from frontend/src/components/rdi/create/kobo/KoboErrors.tsx rename to src/frontend/src/components/rdi/create/kobo/KoboErrors.tsx diff --git a/frontend/src/components/rdi/create/kobo/KoboImportDataRepresentation.tsx b/src/frontend/src/components/rdi/create/kobo/KoboImportDataRepresentation.tsx similarity index 100% rename from frontend/src/components/rdi/create/kobo/KoboImportDataRepresentation.tsx rename to src/frontend/src/components/rdi/create/kobo/KoboImportDataRepresentation.tsx diff --git a/frontend/src/components/rdi/create/kobo/KoboProjectSelect.tsx b/src/frontend/src/components/rdi/create/kobo/KoboProjectSelect.tsx similarity index 100% rename from frontend/src/components/rdi/create/kobo/KoboProjectSelect.tsx rename to src/frontend/src/components/rdi/create/kobo/KoboProjectSelect.tsx diff --git a/frontend/src/components/rdi/create/kobo/useSaveKoboImportDataAndCheckStatus.tsx b/src/frontend/src/components/rdi/create/kobo/useSaveKoboImportDataAndCheckStatus.tsx similarity index 100% rename from frontend/src/components/rdi/create/kobo/useSaveKoboImportDataAndCheckStatus.tsx rename to src/frontend/src/components/rdi/create/kobo/useSaveKoboImportDataAndCheckStatus.tsx diff --git a/frontend/src/components/rdi/create/programPopulation/CreateImportFromProgramPopulation.tsx b/src/frontend/src/components/rdi/create/programPopulation/CreateImportFromProgramPopulation.tsx similarity index 100% rename from frontend/src/components/rdi/create/programPopulation/CreateImportFromProgramPopulation.tsx rename to src/frontend/src/components/rdi/create/programPopulation/CreateImportFromProgramPopulation.tsx diff --git a/frontend/src/components/rdi/create/xlsx/CreateImportFromXlsxForm.tsx b/src/frontend/src/components/rdi/create/xlsx/CreateImportFromXlsxForm.tsx similarity index 100% rename from frontend/src/components/rdi/create/xlsx/CreateImportFromXlsxForm.tsx rename to src/frontend/src/components/rdi/create/xlsx/CreateImportFromXlsxForm.tsx diff --git a/frontend/src/components/rdi/create/xlsx/DropzoneField.tsx b/src/frontend/src/components/rdi/create/xlsx/DropzoneField.tsx similarity index 100% rename from frontend/src/components/rdi/create/xlsx/DropzoneField.tsx rename to src/frontend/src/components/rdi/create/xlsx/DropzoneField.tsx diff --git a/frontend/src/components/rdi/create/xlsx/XlsxErrors.tsx b/src/frontend/src/components/rdi/create/xlsx/XlsxErrors.tsx similarity index 100% rename from frontend/src/components/rdi/create/xlsx/XlsxErrors.tsx rename to src/frontend/src/components/rdi/create/xlsx/XlsxErrors.tsx diff --git a/frontend/src/components/rdi/create/xlsx/XlsxImportDataRepresentation.tsx b/src/frontend/src/components/rdi/create/xlsx/XlsxImportDataRepresentation.tsx similarity index 100% rename from frontend/src/components/rdi/create/xlsx/XlsxImportDataRepresentation.tsx rename to src/frontend/src/components/rdi/create/xlsx/XlsxImportDataRepresentation.tsx diff --git a/frontend/src/components/rdi/create/xlsx/useSaveXlsxImportDataAndCheckStatus.tsx b/src/frontend/src/components/rdi/create/xlsx/useSaveXlsxImportDataAndCheckStatus.tsx similarity index 100% rename from frontend/src/components/rdi/create/xlsx/useSaveXlsxImportDataAndCheckStatus.tsx rename to src/frontend/src/components/rdi/create/xlsx/useSaveXlsxImportDataAndCheckStatus.tsx diff --git a/frontend/src/components/rdi/details/DedupeBox.tsx b/src/frontend/src/components/rdi/details/DedupeBox.tsx similarity index 100% rename from frontend/src/components/rdi/details/DedupeBox.tsx rename to src/frontend/src/components/rdi/details/DedupeBox.tsx diff --git a/frontend/src/components/rdi/details/DedupeResults.tsx b/src/frontend/src/components/rdi/details/DedupeResults.tsx similarity index 100% rename from frontend/src/components/rdi/details/DedupeResults.tsx rename to src/frontend/src/components/rdi/details/DedupeResults.tsx diff --git a/frontend/src/components/rdi/details/MergeRegistrationDataImportDialog.tsx b/src/frontend/src/components/rdi/details/MergeRegistrationDataImportDialog.tsx similarity index 100% rename from frontend/src/components/rdi/details/MergeRegistrationDataImportDialog.tsx rename to src/frontend/src/components/rdi/details/MergeRegistrationDataImportDialog.tsx diff --git a/frontend/src/components/rdi/details/RegistrationDataImportDetailsPageHeader.tsx b/src/frontend/src/components/rdi/details/RegistrationDataImportDetailsPageHeader.tsx similarity index 100% rename from frontend/src/components/rdi/details/RegistrationDataImportDetailsPageHeader.tsx rename to src/frontend/src/components/rdi/details/RegistrationDataImportDetailsPageHeader.tsx diff --git a/frontend/src/components/rdi/details/RegistrationDetails/RegistrationDetails.test.tsx b/src/frontend/src/components/rdi/details/RegistrationDetails/RegistrationDetails.test.tsx similarity index 100% rename from frontend/src/components/rdi/details/RegistrationDetails/RegistrationDetails.test.tsx rename to src/frontend/src/components/rdi/details/RegistrationDetails/RegistrationDetails.test.tsx diff --git a/frontend/src/components/rdi/details/RegistrationDetails/RegistrationDetails.tsx b/src/frontend/src/components/rdi/details/RegistrationDetails/RegistrationDetails.tsx similarity index 100% rename from frontend/src/components/rdi/details/RegistrationDetails/RegistrationDetails.tsx rename to src/frontend/src/components/rdi/details/RegistrationDetails/RegistrationDetails.tsx diff --git a/frontend/src/components/rdi/details/RegistrationDetails/__snapshots__/RegistrationDetails.test.tsx.snap b/src/frontend/src/components/rdi/details/RegistrationDetails/__snapshots__/RegistrationDetails.test.tsx.snap similarity index 100% rename from frontend/src/components/rdi/details/RegistrationDetails/__snapshots__/RegistrationDetails.test.tsx.snap rename to src/frontend/src/components/rdi/details/RegistrationDetails/__snapshots__/RegistrationDetails.test.tsx.snap diff --git a/frontend/src/components/rdi/details/RegistrationDetails/index.ts b/src/frontend/src/components/rdi/details/RegistrationDetails/index.ts similarity index 100% rename from frontend/src/components/rdi/details/RegistrationDetails/index.ts rename to src/frontend/src/components/rdi/details/RegistrationDetails/index.ts diff --git a/frontend/src/components/rdi/details/RerunDedupe.tsx b/src/frontend/src/components/rdi/details/RerunDedupe.tsx similarity index 100% rename from frontend/src/components/rdi/details/RerunDedupe.tsx rename to src/frontend/src/components/rdi/details/RerunDedupe.tsx diff --git a/frontend/src/components/rdi/details/households/HouseholdDetails/HouseholdDetails.test.tsx b/src/frontend/src/components/rdi/details/households/HouseholdDetails/HouseholdDetails.test.tsx similarity index 100% rename from frontend/src/components/rdi/details/households/HouseholdDetails/HouseholdDetails.test.tsx rename to src/frontend/src/components/rdi/details/households/HouseholdDetails/HouseholdDetails.test.tsx diff --git a/frontend/src/components/rdi/details/households/HouseholdDetails/HouseholdDetails.tsx b/src/frontend/src/components/rdi/details/households/HouseholdDetails/HouseholdDetails.tsx similarity index 100% rename from frontend/src/components/rdi/details/households/HouseholdDetails/HouseholdDetails.tsx rename to src/frontend/src/components/rdi/details/households/HouseholdDetails/HouseholdDetails.tsx diff --git a/frontend/src/components/rdi/details/households/HouseholdDetails/__snapshots__/HouseholdDetails.test.tsx.snap b/src/frontend/src/components/rdi/details/households/HouseholdDetails/__snapshots__/HouseholdDetails.test.tsx.snap similarity index 100% rename from frontend/src/components/rdi/details/households/HouseholdDetails/__snapshots__/HouseholdDetails.test.tsx.snap rename to src/frontend/src/components/rdi/details/households/HouseholdDetails/__snapshots__/HouseholdDetails.test.tsx.snap diff --git a/frontend/src/components/rdi/details/households/HouseholdDetails/index.ts b/src/frontend/src/components/rdi/details/households/HouseholdDetails/index.ts similarity index 100% rename from frontend/src/components/rdi/details/households/HouseholdDetails/index.ts rename to src/frontend/src/components/rdi/details/households/HouseholdDetails/index.ts diff --git a/frontend/src/components/rdi/details/households/RegistrationDetails.tsx b/src/frontend/src/components/rdi/details/households/RegistrationDetails.tsx similarity index 100% rename from frontend/src/components/rdi/details/households/RegistrationDetails.tsx rename to src/frontend/src/components/rdi/details/households/RegistrationDetails.tsx diff --git a/frontend/src/components/rdi/details/individual/DocumentRegistrationPhotoModal.tsx b/src/frontend/src/components/rdi/details/individual/DocumentRegistrationPhotoModal.tsx similarity index 100% rename from frontend/src/components/rdi/details/individual/DocumentRegistrationPhotoModal.tsx rename to src/frontend/src/components/rdi/details/individual/DocumentRegistrationPhotoModal.tsx diff --git a/frontend/src/components/rdi/details/individual/ImportedIndividualFlexFieldPhotoModal.tsx b/src/frontend/src/components/rdi/details/individual/ImportedIndividualFlexFieldPhotoModal.tsx similarity index 100% rename from frontend/src/components/rdi/details/individual/ImportedIndividualFlexFieldPhotoModal.tsx rename to src/frontend/src/components/rdi/details/individual/ImportedIndividualFlexFieldPhotoModal.tsx diff --git a/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/RegistrationIndividualAdditionalRegistrationInformation.tsx b/src/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/RegistrationIndividualAdditionalRegistrationInformation.tsx similarity index 100% rename from frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/RegistrationIndividualAdditionalRegistrationInformation.tsx rename to src/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/RegistrationIndividualAdditionalRegistrationInformation.tsx diff --git a/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/RegistrationIndividualVulnerabilites.test.tsx b/src/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/RegistrationIndividualVulnerabilites.test.tsx similarity index 100% rename from frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/RegistrationIndividualVulnerabilites.test.tsx rename to src/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/RegistrationIndividualVulnerabilites.test.tsx diff --git a/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/__snapshots__/RegistrationIndividualVulnerabilites.test.tsx.snap b/src/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/__snapshots__/RegistrationIndividualVulnerabilites.test.tsx.snap similarity index 100% rename from frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/__snapshots__/RegistrationIndividualVulnerabilites.test.tsx.snap rename to src/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/__snapshots__/RegistrationIndividualVulnerabilites.test.tsx.snap diff --git a/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/index.ts b/src/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/index.ts similarity index 100% rename from frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/index.ts rename to src/frontend/src/components/rdi/details/individual/RegistrationIndividualAdditionalRegistrationInformation/index.ts diff --git a/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/RegistrationIndividualBioData.test.tsx b/src/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/RegistrationIndividualBioData.test.tsx similarity index 100% rename from frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/RegistrationIndividualBioData.test.tsx rename to src/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/RegistrationIndividualBioData.test.tsx diff --git a/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/RegistrationIndividualBioData.tsx b/src/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/RegistrationIndividualBioData.tsx similarity index 100% rename from frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/RegistrationIndividualBioData.tsx rename to src/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/RegistrationIndividualBioData.tsx diff --git a/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/__snapshots__/RegistrationIndividualBioData.test.tsx.snap b/src/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/__snapshots__/RegistrationIndividualBioData.test.tsx.snap similarity index 100% rename from frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/__snapshots__/RegistrationIndividualBioData.test.tsx.snap rename to src/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/__snapshots__/RegistrationIndividualBioData.test.tsx.snap diff --git a/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/index.ts b/src/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/index.ts similarity index 100% rename from frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/index.ts rename to src/frontend/src/components/rdi/details/individual/RegistrationIndividualBioData/index.ts diff --git a/frontend/src/components/rdi/details/refuseRdiForm.tsx b/src/frontend/src/components/rdi/details/refuseRdiForm.tsx similarity index 100% rename from frontend/src/components/rdi/details/refuseRdiForm.tsx rename to src/frontend/src/components/rdi/details/refuseRdiForm.tsx diff --git a/frontend/src/components/reporting/NewReportForm.tsx b/src/frontend/src/components/reporting/NewReportForm.tsx similarity index 100% rename from frontend/src/components/reporting/NewReportForm.tsx rename to src/frontend/src/components/reporting/NewReportForm.tsx diff --git a/frontend/src/components/rest/TableRestComponent/TableRestComponent.tsx b/src/frontend/src/components/rest/TableRestComponent/TableRestComponent.tsx similarity index 100% rename from frontend/src/components/rest/TableRestComponent/TableRestComponent.tsx rename to src/frontend/src/components/rest/TableRestComponent/TableRestComponent.tsx diff --git a/frontend/src/components/rest/UniversalRestTable/UniversalRestTable.tsx b/src/frontend/src/components/rest/UniversalRestTable/UniversalRestTable.tsx similarity index 100% rename from frontend/src/components/rest/UniversalRestTable/UniversalRestTable.tsx rename to src/frontend/src/components/rest/UniversalRestTable/UniversalRestTable.tsx diff --git a/frontend/src/components/targeting/AndDivider.tsx b/src/frontend/src/components/targeting/AndDivider.tsx similarity index 100% rename from frontend/src/components/targeting/AndDivider.tsx rename to src/frontend/src/components/targeting/AndDivider.tsx diff --git a/frontend/src/components/targeting/CreateTPMenu.tsx b/src/frontend/src/components/targeting/CreateTPMenu.tsx similarity index 100% rename from frontend/src/components/targeting/CreateTPMenu.tsx rename to src/frontend/src/components/targeting/CreateTPMenu.tsx diff --git a/frontend/src/components/targeting/CreateTargetPopulation/CreateTargetPopulationHeader.tsx b/src/frontend/src/components/targeting/CreateTargetPopulation/CreateTargetPopulationHeader.tsx similarity index 100% rename from frontend/src/components/targeting/CreateTargetPopulation/CreateTargetPopulationHeader.tsx rename to src/frontend/src/components/targeting/CreateTargetPopulation/CreateTargetPopulationHeader.tsx diff --git a/frontend/src/components/targeting/CreateTargetPopulation/EmptyTargetingCriteria.tsx b/src/frontend/src/components/targeting/CreateTargetPopulation/EmptyTargetingCriteria.tsx similarity index 100% rename from frontend/src/components/targeting/CreateTargetPopulation/EmptyTargetingCriteria.tsx rename to src/frontend/src/components/targeting/CreateTargetPopulation/EmptyTargetingCriteria.tsx diff --git a/frontend/src/components/targeting/CreateTargetPopulation/Exclusions.tsx b/src/frontend/src/components/targeting/CreateTargetPopulation/Exclusions.tsx similarity index 100% rename from frontend/src/components/targeting/CreateTargetPopulation/Exclusions.tsx rename to src/frontend/src/components/targeting/CreateTargetPopulation/Exclusions.tsx diff --git a/frontend/src/components/targeting/EditTargetPopulation/EditTargetPopulation.tsx b/src/frontend/src/components/targeting/EditTargetPopulation/EditTargetPopulation.tsx similarity index 100% rename from frontend/src/components/targeting/EditTargetPopulation/EditTargetPopulation.tsx rename to src/frontend/src/components/targeting/EditTargetPopulation/EditTargetPopulation.tsx diff --git a/frontend/src/components/targeting/EditTargetPopulation/EditTargetPopulationHeader.tsx b/src/frontend/src/components/targeting/EditTargetPopulation/EditTargetPopulationHeader.tsx similarity index 100% rename from frontend/src/components/targeting/EditTargetPopulation/EditTargetPopulationHeader.tsx rename to src/frontend/src/components/targeting/EditTargetPopulation/EditTargetPopulationHeader.tsx diff --git a/frontend/src/components/targeting/FieldChooser.tsx b/src/frontend/src/components/targeting/FieldChooser.tsx similarity index 100% rename from frontend/src/components/targeting/FieldChooser.tsx rename to src/frontend/src/components/targeting/FieldChooser.tsx diff --git a/frontend/src/components/targeting/PaperContainer.tsx b/src/frontend/src/components/targeting/PaperContainer.tsx similarity index 100% rename from frontend/src/components/targeting/PaperContainer.tsx rename to src/frontend/src/components/targeting/PaperContainer.tsx diff --git a/frontend/src/components/targeting/ResultsForHouseholds.tsx b/src/frontend/src/components/targeting/ResultsForHouseholds.tsx similarity index 100% rename from frontend/src/components/targeting/ResultsForHouseholds.tsx rename to src/frontend/src/components/targeting/ResultsForHouseholds.tsx diff --git a/frontend/src/components/targeting/ResultsForPeople.tsx b/src/frontend/src/components/targeting/ResultsForPeople.tsx similarity index 100% rename from frontend/src/components/targeting/ResultsForPeople.tsx rename to src/frontend/src/components/targeting/ResultsForPeople.tsx diff --git a/frontend/src/components/targeting/SubField.tsx b/src/frontend/src/components/targeting/SubField.tsx similarity index 100% rename from frontend/src/components/targeting/SubField.tsx rename to src/frontend/src/components/targeting/SubField.tsx diff --git a/frontend/src/components/targeting/TargetPopulationCore.tsx b/src/frontend/src/components/targeting/TargetPopulationCore.tsx similarity index 100% rename from frontend/src/components/targeting/TargetPopulationCore.tsx rename to src/frontend/src/components/targeting/TargetPopulationCore.tsx diff --git a/frontend/src/components/targeting/TargetPopulationDetails.tsx b/src/frontend/src/components/targeting/TargetPopulationDetails.tsx similarity index 100% rename from frontend/src/components/targeting/TargetPopulationDetails.tsx rename to src/frontend/src/components/targeting/TargetPopulationDetails.tsx diff --git a/frontend/src/components/targeting/TargetPopulationForPeopleFilters.tsx b/src/frontend/src/components/targeting/TargetPopulationForPeopleFilters.tsx similarity index 100% rename from frontend/src/components/targeting/TargetPopulationForPeopleFilters.tsx rename to src/frontend/src/components/targeting/TargetPopulationForPeopleFilters.tsx diff --git a/frontend/src/components/targeting/TargetPopulationTableFilters.tsx b/src/frontend/src/components/targeting/TargetPopulationTableFilters.tsx similarity index 100% rename from frontend/src/components/targeting/TargetPopulationTableFilters.tsx rename to src/frontend/src/components/targeting/TargetPopulationTableFilters.tsx diff --git a/frontend/src/components/targeting/TargetingCriteriaDisplay/Criteria.tsx b/src/frontend/src/components/targeting/TargetingCriteriaDisplay/Criteria.tsx similarity index 100% rename from frontend/src/components/targeting/TargetingCriteriaDisplay/Criteria.tsx rename to src/frontend/src/components/targeting/TargetingCriteriaDisplay/Criteria.tsx diff --git a/frontend/src/components/targeting/TargetingCriteriaDisplay/CriteriaAutocomplete.tsx b/src/frontend/src/components/targeting/TargetingCriteriaDisplay/CriteriaAutocomplete.tsx similarity index 100% rename from frontend/src/components/targeting/TargetingCriteriaDisplay/CriteriaAutocomplete.tsx rename to src/frontend/src/components/targeting/TargetingCriteriaDisplay/CriteriaAutocomplete.tsx diff --git a/frontend/src/components/targeting/TargetingCriteriaDisplay/TargetingCriteriaDisplay.tsx b/src/frontend/src/components/targeting/TargetingCriteriaDisplay/TargetingCriteriaDisplay.tsx similarity index 100% rename from frontend/src/components/targeting/TargetingCriteriaDisplay/TargetingCriteriaDisplay.tsx rename to src/frontend/src/components/targeting/TargetingCriteriaDisplay/TargetingCriteriaDisplay.tsx diff --git a/frontend/src/components/targeting/TargetingCriteriaDisplay/TargetingCriteriaDisplayDisabled.tsx b/src/frontend/src/components/targeting/TargetingCriteriaDisplay/TargetingCriteriaDisplayDisabled.tsx similarity index 100% rename from frontend/src/components/targeting/TargetingCriteriaDisplay/TargetingCriteriaDisplayDisabled.tsx rename to src/frontend/src/components/targeting/TargetingCriteriaDisplay/TargetingCriteriaDisplayDisabled.tsx diff --git a/frontend/src/components/targeting/TargetingCriteriaDisplay/VulnerabilityScoreComponent.tsx b/src/frontend/src/components/targeting/TargetingCriteriaDisplay/VulnerabilityScoreComponent.tsx similarity index 100% rename from frontend/src/components/targeting/TargetingCriteriaDisplay/VulnerabilityScoreComponent.tsx rename to src/frontend/src/components/targeting/TargetingCriteriaDisplay/VulnerabilityScoreComponent.tsx diff --git a/frontend/src/components/targeting/TargetingHouseholds.tsx b/src/frontend/src/components/targeting/TargetingHouseholds.tsx similarity index 100% rename from frontend/src/components/targeting/TargetingHouseholds.tsx rename to src/frontend/src/components/targeting/TargetingHouseholds.tsx diff --git a/frontend/src/config/colors.ts b/src/frontend/src/config/colors.ts similarity index 100% rename from frontend/src/config/colors.ts rename to src/frontend/src/config/colors.ts diff --git a/frontend/src/config/index.ts b/src/frontend/src/config/index.ts similarity index 100% rename from frontend/src/config/index.ts rename to src/frontend/src/config/index.ts diff --git a/frontend/src/config/permissions.ts b/src/frontend/src/config/permissions.ts similarity index 100% rename from frontend/src/config/permissions.ts rename to src/frontend/src/config/permissions.ts diff --git a/frontend/src/containers/BusinessAreaSelect.tsx b/src/frontend/src/containers/BusinessAreaSelect.tsx similarity index 100% rename from frontend/src/containers/BusinessAreaSelect.tsx rename to src/frontend/src/containers/BusinessAreaSelect.tsx diff --git a/frontend/src/containers/DefaultRoute.tsx b/src/frontend/src/containers/DefaultRoute.tsx similarity index 100% rename from frontend/src/containers/DefaultRoute.tsx rename to src/frontend/src/containers/DefaultRoute.tsx diff --git a/frontend/src/containers/GlobalProgramSelect.tsx b/src/frontend/src/containers/GlobalProgramSelect.tsx similarity index 100% rename from frontend/src/containers/GlobalProgramSelect.tsx rename to src/frontend/src/containers/GlobalProgramSelect.tsx diff --git a/frontend/src/containers/UserProfileMenu.tsx b/src/frontend/src/containers/UserProfileMenu.tsx similarity index 100% rename from frontend/src/containers/UserProfileMenu.tsx rename to src/frontend/src/containers/UserProfileMenu.tsx diff --git a/frontend/src/containers/dialogs/Dialog.tsx b/src/frontend/src/containers/dialogs/Dialog.tsx similarity index 100% rename from frontend/src/containers/dialogs/Dialog.tsx rename to src/frontend/src/containers/dialogs/Dialog.tsx diff --git a/frontend/src/containers/dialogs/DialogActions.tsx b/src/frontend/src/containers/dialogs/DialogActions.tsx similarity index 100% rename from frontend/src/containers/dialogs/DialogActions.tsx rename to src/frontend/src/containers/dialogs/DialogActions.tsx diff --git a/frontend/src/containers/dialogs/DialogContainer.tsx b/src/frontend/src/containers/dialogs/DialogContainer.tsx similarity index 100% rename from frontend/src/containers/dialogs/DialogContainer.tsx rename to src/frontend/src/containers/dialogs/DialogContainer.tsx diff --git a/frontend/src/containers/dialogs/DialogDescription.tsx b/src/frontend/src/containers/dialogs/DialogDescription.tsx similarity index 100% rename from frontend/src/containers/dialogs/DialogDescription.tsx rename to src/frontend/src/containers/dialogs/DialogDescription.tsx diff --git a/frontend/src/containers/dialogs/DialogFooter.tsx b/src/frontend/src/containers/dialogs/DialogFooter.tsx similarity index 100% rename from frontend/src/containers/dialogs/DialogFooter.tsx rename to src/frontend/src/containers/dialogs/DialogFooter.tsx diff --git a/frontend/src/containers/dialogs/DialogTitleWrapper.tsx b/src/frontend/src/containers/dialogs/DialogTitleWrapper.tsx similarity index 100% rename from frontend/src/containers/dialogs/DialogTitleWrapper.tsx rename to src/frontend/src/containers/dialogs/DialogTitleWrapper.tsx diff --git a/frontend/src/containers/dialogs/programs/ActivateProgram.tsx b/src/frontend/src/containers/dialogs/programs/ActivateProgram.tsx similarity index 100% rename from frontend/src/containers/dialogs/programs/ActivateProgram.tsx rename to src/frontend/src/containers/dialogs/programs/ActivateProgram.tsx diff --git a/frontend/src/containers/dialogs/programs/DeleteProgram.tsx b/src/frontend/src/containers/dialogs/programs/DeleteProgram.tsx similarity index 100% rename from frontend/src/containers/dialogs/programs/DeleteProgram.tsx rename to src/frontend/src/containers/dialogs/programs/DeleteProgram.tsx diff --git a/frontend/src/containers/dialogs/programs/DuplicateProgramButtonLink.tsx b/src/frontend/src/containers/dialogs/programs/DuplicateProgramButtonLink.tsx similarity index 100% rename from frontend/src/containers/dialogs/programs/DuplicateProgramButtonLink.tsx rename to src/frontend/src/containers/dialogs/programs/DuplicateProgramButtonLink.tsx diff --git a/frontend/src/containers/dialogs/programs/EditProgramButtonLink.tsx b/src/frontend/src/containers/dialogs/programs/EditProgramButtonLink.tsx similarity index 100% rename from frontend/src/containers/dialogs/programs/EditProgramButtonLink.tsx rename to src/frontend/src/containers/dialogs/programs/EditProgramButtonLink.tsx diff --git a/frontend/src/containers/dialogs/programs/FinishProgram.tsx b/src/frontend/src/containers/dialogs/programs/FinishProgram.tsx similarity index 100% rename from frontend/src/containers/dialogs/programs/FinishProgram.tsx rename to src/frontend/src/containers/dialogs/programs/FinishProgram.tsx diff --git a/frontend/src/containers/dialogs/programs/ReactivateProgram.tsx b/src/frontend/src/containers/dialogs/programs/ReactivateProgram.tsx similarity index 100% rename from frontend/src/containers/dialogs/programs/ReactivateProgram.tsx rename to src/frontend/src/containers/dialogs/programs/ReactivateProgram.tsx diff --git a/frontend/src/containers/dialogs/targetPopulation/DeleteTargetPopulation.tsx b/src/frontend/src/containers/dialogs/targetPopulation/DeleteTargetPopulation.tsx similarity index 100% rename from frontend/src/containers/dialogs/targetPopulation/DeleteTargetPopulation.tsx rename to src/frontend/src/containers/dialogs/targetPopulation/DeleteTargetPopulation.tsx diff --git a/frontend/src/containers/dialogs/targetPopulation/DuplicateTargetPopulation.tsx b/src/frontend/src/containers/dialogs/targetPopulation/DuplicateTargetPopulation.tsx similarity index 100% rename from frontend/src/containers/dialogs/targetPopulation/DuplicateTargetPopulation.tsx rename to src/frontend/src/containers/dialogs/targetPopulation/DuplicateTargetPopulation.tsx diff --git a/frontend/src/containers/dialogs/targetPopulation/FinalizeTargetPopulation.tsx b/src/frontend/src/containers/dialogs/targetPopulation/FinalizeTargetPopulation.tsx similarity index 100% rename from frontend/src/containers/dialogs/targetPopulation/FinalizeTargetPopulation.tsx rename to src/frontend/src/containers/dialogs/targetPopulation/FinalizeTargetPopulation.tsx diff --git a/frontend/src/containers/dialogs/targetPopulation/FinalizeTargetPopulationPaymentPlan.tsx b/src/frontend/src/containers/dialogs/targetPopulation/FinalizeTargetPopulationPaymentPlan.tsx similarity index 100% rename from frontend/src/containers/dialogs/targetPopulation/FinalizeTargetPopulationPaymentPlan.tsx rename to src/frontend/src/containers/dialogs/targetPopulation/FinalizeTargetPopulationPaymentPlan.tsx diff --git a/frontend/src/containers/dialogs/targetPopulation/LockTargetPopulationDialog.tsx b/src/frontend/src/containers/dialogs/targetPopulation/LockTargetPopulationDialog.tsx similarity index 100% rename from frontend/src/containers/dialogs/targetPopulation/LockTargetPopulationDialog.tsx rename to src/frontend/src/containers/dialogs/targetPopulation/LockTargetPopulationDialog.tsx diff --git a/frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/FlexFieldTab.tsx b/src/frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/FlexFieldTab.tsx similarity index 100% rename from frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/FlexFieldTab.tsx rename to src/frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/FlexFieldTab.tsx diff --git a/frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/TargetingInfoDialog.tsx b/src/frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/TargetingInfoDialog.tsx similarity index 100% rename from frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/TargetingInfoDialog.tsx rename to src/frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/TargetingInfoDialog.tsx diff --git a/frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/index.ts b/src/frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/index.ts similarity index 100% rename from frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/index.ts rename to src/frontend/src/containers/dialogs/targetPopulation/TargetingInfoDialog/index.ts diff --git a/frontend/src/containers/forms/ProgramForm.tsx b/src/frontend/src/containers/forms/ProgramForm.tsx similarity index 100% rename from frontend/src/containers/forms/ProgramForm.tsx rename to src/frontend/src/containers/forms/ProgramForm.tsx diff --git a/frontend/src/containers/forms/TargetingCriteriaForm.tsx b/src/frontend/src/containers/forms/TargetingCriteriaForm.tsx similarity index 100% rename from frontend/src/containers/forms/TargetingCriteriaForm.tsx rename to src/frontend/src/containers/forms/TargetingCriteriaForm.tsx diff --git a/frontend/src/containers/forms/TargetingCriteriaHouseholdFilter.tsx b/src/frontend/src/containers/forms/TargetingCriteriaHouseholdFilter.tsx similarity index 100% rename from frontend/src/containers/forms/TargetingCriteriaHouseholdFilter.tsx rename to src/frontend/src/containers/forms/TargetingCriteriaHouseholdFilter.tsx diff --git a/frontend/src/containers/forms/TargetingCriteriaIndividualBlockFilter.tsx b/src/frontend/src/containers/forms/TargetingCriteriaIndividualBlockFilter.tsx similarity index 100% rename from frontend/src/containers/forms/TargetingCriteriaIndividualBlockFilter.tsx rename to src/frontend/src/containers/forms/TargetingCriteriaIndividualBlockFilter.tsx diff --git a/frontend/src/containers/forms/TargetingCriteriaIndividualFilterBlocks.tsx b/src/frontend/src/containers/forms/TargetingCriteriaIndividualFilterBlocks.tsx similarity index 100% rename from frontend/src/containers/forms/TargetingCriteriaIndividualFilterBlocks.tsx rename to src/frontend/src/containers/forms/TargetingCriteriaIndividualFilterBlocks.tsx diff --git a/frontend/src/containers/pages/404/404_graphic.png b/src/frontend/src/containers/pages/404/404_graphic.png similarity index 100% rename from frontend/src/containers/pages/404/404_graphic.png rename to src/frontend/src/containers/pages/404/404_graphic.png diff --git a/frontend/src/containers/pages/404/404_hope_logo.png b/src/frontend/src/containers/pages/404/404_hope_logo.png similarity index 100% rename from frontend/src/containers/pages/404/404_hope_logo.png rename to src/frontend/src/containers/pages/404/404_hope_logo.png diff --git a/frontend/src/containers/pages/404/PageNotFound.tsx b/src/frontend/src/containers/pages/404/PageNotFound.tsx similarity index 100% rename from frontend/src/containers/pages/404/PageNotFound.tsx rename to src/frontend/src/containers/pages/404/PageNotFound.tsx diff --git a/frontend/src/containers/pages/accessDenied/AccessDenied.tsx b/src/frontend/src/containers/pages/accessDenied/AccessDenied.tsx similarity index 100% rename from frontend/src/containers/pages/accessDenied/AccessDenied.tsx rename to src/frontend/src/containers/pages/accessDenied/AccessDenied.tsx diff --git a/frontend/src/containers/pages/accessDenied/access_denied.png b/src/frontend/src/containers/pages/accessDenied/access_denied.png similarity index 100% rename from frontend/src/containers/pages/accessDenied/access_denied.png rename to src/frontend/src/containers/pages/accessDenied/access_denied.png diff --git a/frontend/src/containers/pages/accessDenied/access_denied_hope_logo.png b/src/frontend/src/containers/pages/accessDenied/access_denied_hope_logo.png similarity index 100% rename from frontend/src/containers/pages/accessDenied/access_denied_hope_logo.png rename to src/frontend/src/containers/pages/accessDenied/access_denied_hope_logo.png diff --git a/frontend/src/containers/pages/accountability/communication/CommunicationDetailsPage.tsx b/src/frontend/src/containers/pages/accountability/communication/CommunicationDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/accountability/communication/CommunicationDetailsPage.tsx rename to src/frontend/src/containers/pages/accountability/communication/CommunicationDetailsPage.tsx diff --git a/frontend/src/containers/pages/accountability/communication/CommunicationPage.tsx b/src/frontend/src/containers/pages/accountability/communication/CommunicationPage.tsx similarity index 100% rename from frontend/src/containers/pages/accountability/communication/CommunicationPage.tsx rename to src/frontend/src/containers/pages/accountability/communication/CommunicationPage.tsx diff --git a/frontend/src/containers/pages/accountability/communication/CreateCommunicationPage.tsx b/src/frontend/src/containers/pages/accountability/communication/CreateCommunicationPage.tsx similarity index 100% rename from frontend/src/containers/pages/accountability/communication/CreateCommunicationPage.tsx rename to src/frontend/src/containers/pages/accountability/communication/CreateCommunicationPage.tsx diff --git a/frontend/src/containers/pages/accountability/feedback/CreateFeedbackPage.tsx b/src/frontend/src/containers/pages/accountability/feedback/CreateFeedbackPage.tsx similarity index 100% rename from frontend/src/containers/pages/accountability/feedback/CreateFeedbackPage.tsx rename to src/frontend/src/containers/pages/accountability/feedback/CreateFeedbackPage.tsx diff --git a/frontend/src/containers/pages/accountability/feedback/EditFeedbackPage.tsx b/src/frontend/src/containers/pages/accountability/feedback/EditFeedbackPage.tsx similarity index 100% rename from frontend/src/containers/pages/accountability/feedback/EditFeedbackPage.tsx rename to src/frontend/src/containers/pages/accountability/feedback/EditFeedbackPage.tsx diff --git a/frontend/src/containers/pages/accountability/feedback/FeedbackDetailsPage.tsx b/src/frontend/src/containers/pages/accountability/feedback/FeedbackDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/accountability/feedback/FeedbackDetailsPage.tsx rename to src/frontend/src/containers/pages/accountability/feedback/FeedbackDetailsPage.tsx diff --git a/frontend/src/containers/pages/accountability/feedback/FeedbackPage.tsx b/src/frontend/src/containers/pages/accountability/feedback/FeedbackPage.tsx similarity index 100% rename from frontend/src/containers/pages/accountability/feedback/FeedbackPage.tsx rename to src/frontend/src/containers/pages/accountability/feedback/FeedbackPage.tsx diff --git a/frontend/src/containers/pages/accountability/surveys/CreateSurveyPage.tsx b/src/frontend/src/containers/pages/accountability/surveys/CreateSurveyPage.tsx similarity index 100% rename from frontend/src/containers/pages/accountability/surveys/CreateSurveyPage.tsx rename to src/frontend/src/containers/pages/accountability/surveys/CreateSurveyPage.tsx diff --git a/frontend/src/containers/pages/accountability/surveys/SurveyDetailsPage.tsx b/src/frontend/src/containers/pages/accountability/surveys/SurveyDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/accountability/surveys/SurveyDetailsPage.tsx rename to src/frontend/src/containers/pages/accountability/surveys/SurveyDetailsPage.tsx diff --git a/frontend/src/containers/pages/accountability/surveys/SurveysPage.tsx b/src/frontend/src/containers/pages/accountability/surveys/SurveysPage.tsx similarity index 100% rename from frontend/src/containers/pages/accountability/surveys/SurveysPage.tsx rename to src/frontend/src/containers/pages/accountability/surveys/SurveysPage.tsx diff --git a/frontend/src/containers/pages/core/LoginPage.tsx b/src/frontend/src/containers/pages/core/LoginPage.tsx similarity index 100% rename from frontend/src/containers/pages/core/LoginPage.tsx rename to src/frontend/src/containers/pages/core/LoginPage.tsx diff --git a/frontend/src/containers/pages/core/MainActivityLogPage.tsx b/src/frontend/src/containers/pages/core/MainActivityLogPage.tsx similarity index 100% rename from frontend/src/containers/pages/core/MainActivityLogPage.tsx rename to src/frontend/src/containers/pages/core/MainActivityLogPage.tsx diff --git a/frontend/src/containers/pages/core/ProfilePage.tsx b/src/frontend/src/containers/pages/core/ProfilePage.tsx similarity index 100% rename from frontend/src/containers/pages/core/ProfilePage.tsx rename to src/frontend/src/containers/pages/core/ProfilePage.tsx diff --git a/frontend/src/containers/pages/core/SanctionList.tsx b/src/frontend/src/containers/pages/core/SanctionList.tsx similarity index 100% rename from frontend/src/containers/pages/core/SanctionList.tsx rename to src/frontend/src/containers/pages/core/SanctionList.tsx diff --git a/frontend/src/containers/pages/core/UsersPage.tsx b/src/frontend/src/containers/pages/core/UsersPage.tsx similarity index 100% rename from frontend/src/containers/pages/core/UsersPage.tsx rename to src/frontend/src/containers/pages/core/UsersPage.tsx diff --git a/frontend/src/containers/pages/dashboard/DashboardPage.tsx b/src/frontend/src/containers/pages/dashboard/DashboardPage.tsx similarity index 100% rename from frontend/src/containers/pages/dashboard/DashboardPage.tsx rename to src/frontend/src/containers/pages/dashboard/DashboardPage.tsx diff --git a/frontend/src/containers/pages/dashboard/DashboardYearPage.tsx b/src/frontend/src/containers/pages/dashboard/DashboardYearPage.tsx similarity index 100% rename from frontend/src/containers/pages/dashboard/DashboardYearPage.tsx rename to src/frontend/src/containers/pages/dashboard/DashboardYearPage.tsx diff --git a/frontend/src/containers/pages/grievances/CreateGrievancePage.tsx b/src/frontend/src/containers/pages/grievances/CreateGrievancePage.tsx similarity index 100% rename from frontend/src/containers/pages/grievances/CreateGrievancePage.tsx rename to src/frontend/src/containers/pages/grievances/CreateGrievancePage.tsx diff --git a/frontend/src/containers/pages/grievances/EditGrievancePage.tsx b/src/frontend/src/containers/pages/grievances/EditGrievancePage.tsx similarity index 100% rename from frontend/src/containers/pages/grievances/EditGrievancePage.tsx rename to src/frontend/src/containers/pages/grievances/EditGrievancePage.tsx diff --git a/frontend/src/containers/pages/grievances/GrievancesDashboardPage.tsx b/src/frontend/src/containers/pages/grievances/GrievancesDashboardPage.tsx similarity index 100% rename from frontend/src/containers/pages/grievances/GrievancesDashboardPage.tsx rename to src/frontend/src/containers/pages/grievances/GrievancesDashboardPage.tsx diff --git a/frontend/src/containers/pages/grievances/GrievancesDetailsPage/GrievancesDetailsPage.tsx b/src/frontend/src/containers/pages/grievances/GrievancesDetailsPage/GrievancesDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/grievances/GrievancesDetailsPage/GrievancesDetailsPage.tsx rename to src/frontend/src/containers/pages/grievances/GrievancesDetailsPage/GrievancesDetailsPage.tsx diff --git a/frontend/src/containers/pages/grievances/GrievancesDetailsPage/grievancePermissions.tsx b/src/frontend/src/containers/pages/grievances/GrievancesDetailsPage/grievancePermissions.tsx similarity index 100% rename from frontend/src/containers/pages/grievances/GrievancesDetailsPage/grievancePermissions.tsx rename to src/frontend/src/containers/pages/grievances/GrievancesDetailsPage/grievancePermissions.tsx diff --git a/frontend/src/containers/pages/grievances/GrievancesTablePage.tsx b/src/frontend/src/containers/pages/grievances/GrievancesTablePage.tsx similarity index 100% rename from frontend/src/containers/pages/grievances/GrievancesTablePage.tsx rename to src/frontend/src/containers/pages/grievances/GrievancesTablePage.tsx diff --git a/frontend/src/containers/pages/headers/ActiveProgramDetailsPageHeaderButtons.tsx b/src/frontend/src/containers/pages/headers/ActiveProgramDetailsPageHeaderButtons.tsx similarity index 100% rename from frontend/src/containers/pages/headers/ActiveProgramDetailsPageHeaderButtons.tsx rename to src/frontend/src/containers/pages/headers/ActiveProgramDetailsPageHeaderButtons.tsx diff --git a/frontend/src/containers/pages/headers/DraftProgramDetailsPageHeaderButtons.tsx b/src/frontend/src/containers/pages/headers/DraftProgramDetailsPageHeaderButtons.tsx similarity index 100% rename from frontend/src/containers/pages/headers/DraftProgramDetailsPageHeaderButtons.tsx rename to src/frontend/src/containers/pages/headers/DraftProgramDetailsPageHeaderButtons.tsx diff --git a/frontend/src/containers/pages/headers/FinalizedTargetPopulationHeaderButtons.tsx b/src/frontend/src/containers/pages/headers/FinalizedTargetPopulationHeaderButtons.tsx similarity index 100% rename from frontend/src/containers/pages/headers/FinalizedTargetPopulationHeaderButtons.tsx rename to src/frontend/src/containers/pages/headers/FinalizedTargetPopulationHeaderButtons.tsx diff --git a/frontend/src/containers/pages/headers/FinishedProgramDetailsPageHeaderButtons.tsx b/src/frontend/src/containers/pages/headers/FinishedProgramDetailsPageHeaderButtons.tsx similarity index 100% rename from frontend/src/containers/pages/headers/FinishedProgramDetailsPageHeaderButtons.tsx rename to src/frontend/src/containers/pages/headers/FinishedProgramDetailsPageHeaderButtons.tsx diff --git a/frontend/src/containers/pages/headers/LockedTargetPopulationHeaderButtons.tsx b/src/frontend/src/containers/pages/headers/LockedTargetPopulationHeaderButtons.tsx similarity index 100% rename from frontend/src/containers/pages/headers/LockedTargetPopulationHeaderButtons.tsx rename to src/frontend/src/containers/pages/headers/LockedTargetPopulationHeaderButtons.tsx diff --git a/frontend/src/containers/pages/headers/OpenTargetPopulationHeaderButtons.tsx b/src/frontend/src/containers/pages/headers/OpenTargetPopulationHeaderButtons.tsx similarity index 100% rename from frontend/src/containers/pages/headers/OpenTargetPopulationHeaderButtons.tsx rename to src/frontend/src/containers/pages/headers/OpenTargetPopulationHeaderButtons.tsx diff --git a/frontend/src/containers/pages/headers/ProgramDetailsPageHeader.tsx b/src/frontend/src/containers/pages/headers/ProgramDetailsPageHeader.tsx similarity index 100% rename from frontend/src/containers/pages/headers/ProgramDetailsPageHeader.tsx rename to src/frontend/src/containers/pages/headers/ProgramDetailsPageHeader.tsx diff --git a/frontend/src/containers/pages/headers/TargetPopulationPageHeader.tsx b/src/frontend/src/containers/pages/headers/TargetPopulationPageHeader.tsx similarity index 100% rename from frontend/src/containers/pages/headers/TargetPopulationPageHeader.tsx rename to src/frontend/src/containers/pages/headers/TargetPopulationPageHeader.tsx diff --git a/frontend/src/containers/pages/householdMembers/NewTemplatePage.tsx b/src/frontend/src/containers/pages/householdMembers/NewTemplatePage.tsx similarity index 100% rename from frontend/src/containers/pages/householdMembers/NewTemplatePage.tsx rename to src/frontend/src/containers/pages/householdMembers/NewTemplatePage.tsx diff --git a/frontend/src/containers/pages/maintenance/MaintenancePage.tsx b/src/frontend/src/containers/pages/maintenance/MaintenancePage.tsx similarity index 100% rename from frontend/src/containers/pages/maintenance/MaintenancePage.tsx rename to src/frontend/src/containers/pages/maintenance/MaintenancePage.tsx diff --git a/frontend/src/containers/pages/maintenance/maintenance_graphic_painter.png b/src/frontend/src/containers/pages/maintenance/maintenance_graphic_painter.png similarity index 100% rename from frontend/src/containers/pages/maintenance/maintenance_graphic_painter.png rename to src/frontend/src/containers/pages/maintenance/maintenance_graphic_painter.png diff --git a/frontend/src/containers/pages/maintenance/maintenance_hope_logo.png b/src/frontend/src/containers/pages/maintenance/maintenance_hope_logo.png similarity index 100% rename from frontend/src/containers/pages/maintenance/maintenance_hope_logo.png rename to src/frontend/src/containers/pages/maintenance/maintenance_hope_logo.png diff --git a/frontend/src/containers/pages/maintenance/refresh_icon.png b/src/frontend/src/containers/pages/maintenance/refresh_icon.png similarity index 100% rename from frontend/src/containers/pages/maintenance/refresh_icon.png rename to src/frontend/src/containers/pages/maintenance/refresh_icon.png diff --git a/frontend/src/containers/pages/managerialConsole/ManagerialConsolePage.tsx b/src/frontend/src/containers/pages/managerialConsole/ManagerialConsolePage.tsx similarity index 100% rename from frontend/src/containers/pages/managerialConsole/ManagerialConsolePage.tsx rename to src/frontend/src/containers/pages/managerialConsole/ManagerialConsolePage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/EditFollowUpPaymentPlanPage.tsx b/src/frontend/src/containers/pages/paymentmodule/EditFollowUpPaymentPlanPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/EditFollowUpPaymentPlanPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/EditFollowUpPaymentPlanPage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/EditFollowUpSetUpFspPage.tsx b/src/frontend/src/containers/pages/paymentmodule/EditFollowUpSetUpFspPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/EditFollowUpSetUpFspPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/EditFollowUpSetUpFspPage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/EditPaymentPlanPage.tsx b/src/frontend/src/containers/pages/paymentmodule/EditPaymentPlanPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/EditPaymentPlanPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/EditPaymentPlanPage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/EditSetUpFspPage.tsx b/src/frontend/src/containers/pages/paymentmodule/EditSetUpFspPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/EditSetUpFspPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/EditSetUpFspPage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/FollowUpPaymentPlanDetailsPage.tsx b/src/frontend/src/containers/pages/paymentmodule/FollowUpPaymentPlanDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/FollowUpPaymentPlanDetailsPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/FollowUpPaymentPlanDetailsPage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/PaymentDetailsPage.tsx b/src/frontend/src/containers/pages/paymentmodule/PaymentDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/PaymentDetailsPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/PaymentDetailsPage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/PaymentModulePage.tsx b/src/frontend/src/containers/pages/paymentmodule/PaymentModulePage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/PaymentModulePage.tsx rename to src/frontend/src/containers/pages/paymentmodule/PaymentModulePage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/CreatePaymentPlanPage.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/CreatePaymentPlanPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/CreatePaymentPlanPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/CreatePaymentPlanPage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetails.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetails.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetails.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetails.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetailsHeader.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetailsHeader.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetailsHeader.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetailsHeader.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetailsPage.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetailsPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/PaymentPlanDetails/PaymentPlanDetailsPage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/FollowUpPaymentPlansModal.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/FollowUpPaymentPlansModal.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/FollowUpPaymentPlansModal.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/FollowUpPaymentPlansModal.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlanTableRow.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlanTableRow.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlanTableRow.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlanTableRow.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansFilters.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansFilters.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansFilters.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansFilters.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansHeadCells.ts b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansHeadCells.ts similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansHeadCells.ts rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansHeadCells.ts diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansTable.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansTable.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansTable.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/PaymentPlansTable.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsHeader.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsHeader.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsHeader.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsHeader.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsPage.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsPage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsSection.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsSection.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsSection.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCycleDetails/ProgramCycleDetailsSection.tsx diff --git a/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCyclePage.tsx b/src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCyclePage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCyclePage.tsx rename to src/frontend/src/containers/pages/paymentmodule/ProgramCycle/ProgramCyclePage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/SetUpFollowUpFspPage.tsx b/src/frontend/src/containers/pages/paymentmodule/SetUpFollowUpFspPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/SetUpFollowUpFspPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/SetUpFollowUpFspPage.tsx diff --git a/frontend/src/containers/pages/paymentmodule/SetUpFspPage.tsx b/src/frontend/src/containers/pages/paymentmodule/SetUpFspPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodule/SetUpFspPage.tsx rename to src/frontend/src/containers/pages/paymentmodule/SetUpFspPage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/CreatePeoplePaymentPlanPage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/CreatePeoplePaymentPlanPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/CreatePeoplePaymentPlanPage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/CreatePeoplePaymentPlanPage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/EditPeopleFollowUpPaymentPlanPage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/EditPeopleFollowUpPaymentPlanPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/EditPeopleFollowUpPaymentPlanPage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/EditPeopleFollowUpPaymentPlanPage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/EditPeopleFollowUpSetUpFspPage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/EditPeopleFollowUpSetUpFspPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/EditPeopleFollowUpSetUpFspPage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/EditPeopleFollowUpSetUpFspPage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/EditPeoplePaymentPlanPage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/EditPeoplePaymentPlanPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/EditPeoplePaymentPlanPage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/EditPeoplePaymentPlanPage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/EditPeopleSetUpFspPage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/EditPeopleSetUpFspPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/EditPeopleSetUpFspPage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/EditPeopleSetUpFspPage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/PeopleFollowUpPaymentPlanDetailsPage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/PeopleFollowUpPaymentPlanDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/PeopleFollowUpPaymentPlanDetailsPage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/PeopleFollowUpPaymentPlanDetailsPage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentDetailsPage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentDetailsPage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentDetailsPage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentModulePage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentModulePage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentModulePage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentModulePage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentPlanDetailsPage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentPlanDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentPlanDetailsPage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/PeoplePaymentPlanDetailsPage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/SetUpPeopleFollowUpFspPage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/SetUpPeopleFollowUpFspPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/SetUpPeopleFollowUpFspPage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/SetUpPeopleFollowUpFspPage.tsx diff --git a/frontend/src/containers/pages/paymentmodulepeople/SetUpPeopleFspPage.tsx b/src/frontend/src/containers/pages/paymentmodulepeople/SetUpPeopleFspPage.tsx similarity index 100% rename from frontend/src/containers/pages/paymentmodulepeople/SetUpPeopleFspPage.tsx rename to src/frontend/src/containers/pages/paymentmodulepeople/SetUpPeopleFspPage.tsx diff --git a/frontend/src/containers/pages/payments/CashPlanDetailsPage.tsx b/src/frontend/src/containers/pages/payments/CashPlanDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/payments/CashPlanDetailsPage.tsx rename to src/frontend/src/containers/pages/payments/CashPlanDetailsPage.tsx diff --git a/frontend/src/containers/pages/payments/CashPlanVerificationDetailsPage.tsx b/src/frontend/src/containers/pages/payments/CashPlanVerificationDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/payments/CashPlanVerificationDetailsPage.tsx rename to src/frontend/src/containers/pages/payments/CashPlanVerificationDetailsPage.tsx diff --git a/frontend/src/containers/pages/payments/CashplanVerificationRedirectPage.tsx b/src/frontend/src/containers/pages/payments/CashplanVerificationRedirectPage.tsx similarity index 100% rename from frontend/src/containers/pages/payments/CashplanVerificationRedirectPage.tsx rename to src/frontend/src/containers/pages/payments/CashplanVerificationRedirectPage.tsx diff --git a/frontend/src/containers/pages/payments/PaymentPlanVerificationDetailsPage.tsx b/src/frontend/src/containers/pages/payments/PaymentPlanVerificationDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/payments/PaymentPlanVerificationDetailsPage.tsx rename to src/frontend/src/containers/pages/payments/PaymentPlanVerificationDetailsPage.tsx diff --git a/frontend/src/containers/pages/payments/PaymentRecordDetailsPage.tsx b/src/frontend/src/containers/pages/payments/PaymentRecordDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/payments/PaymentRecordDetailsPage.tsx rename to src/frontend/src/containers/pages/payments/PaymentRecordDetailsPage.tsx diff --git a/frontend/src/containers/pages/payments/PaymentVerificationPage.tsx b/src/frontend/src/containers/pages/payments/PaymentVerificationPage.tsx similarity index 100% rename from frontend/src/containers/pages/payments/PaymentVerificationPage.tsx rename to src/frontend/src/containers/pages/payments/PaymentVerificationPage.tsx diff --git a/frontend/src/containers/pages/payments/VerificationPaymentDetailsPage.tsx b/src/frontend/src/containers/pages/payments/VerificationPaymentDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/payments/VerificationPaymentDetailsPage.tsx rename to src/frontend/src/containers/pages/payments/VerificationPaymentDetailsPage.tsx diff --git a/frontend/src/containers/pages/payments/VerificationPaymentRecordDetailsPage.tsx b/src/frontend/src/containers/pages/payments/VerificationPaymentRecordDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/payments/VerificationPaymentRecordDetailsPage.tsx rename to src/frontend/src/containers/pages/payments/VerificationPaymentRecordDetailsPage.tsx diff --git a/frontend/src/containers/pages/people/PeopleDetailsPage.tsx b/src/frontend/src/containers/pages/people/PeopleDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/people/PeopleDetailsPage.tsx rename to src/frontend/src/containers/pages/people/PeopleDetailsPage.tsx diff --git a/frontend/src/containers/pages/people/PeoplePage.tsx b/src/frontend/src/containers/pages/people/PeoplePage.tsx similarity index 100% rename from frontend/src/containers/pages/people/PeoplePage.tsx rename to src/frontend/src/containers/pages/people/PeoplePage.tsx diff --git a/frontend/src/containers/pages/population/HouseholdMembersPage.tsx b/src/frontend/src/containers/pages/population/HouseholdMembersPage.tsx similarity index 100% rename from frontend/src/containers/pages/population/HouseholdMembersPage.tsx rename to src/frontend/src/containers/pages/population/HouseholdMembersPage.tsx diff --git a/frontend/src/containers/pages/population/PopulationHouseholdDetailsPage.tsx b/src/frontend/src/containers/pages/population/PopulationHouseholdDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/population/PopulationHouseholdDetailsPage.tsx rename to src/frontend/src/containers/pages/population/PopulationHouseholdDetailsPage.tsx diff --git a/frontend/src/containers/pages/population/PopulationHouseholdPage.tsx b/src/frontend/src/containers/pages/population/PopulationHouseholdPage.tsx similarity index 100% rename from frontend/src/containers/pages/population/PopulationHouseholdPage.tsx rename to src/frontend/src/containers/pages/population/PopulationHouseholdPage.tsx diff --git a/frontend/src/containers/pages/population/PopulationIndividualsDetailsPage.tsx b/src/frontend/src/containers/pages/population/PopulationIndividualsDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/population/PopulationIndividualsDetailsPage.tsx rename to src/frontend/src/containers/pages/population/PopulationIndividualsDetailsPage.tsx diff --git a/frontend/src/containers/pages/program/AccessTypes.ts b/src/frontend/src/containers/pages/program/AccessTypes.ts similarity index 100% rename from frontend/src/containers/pages/program/AccessTypes.ts rename to src/frontend/src/containers/pages/program/AccessTypes.ts diff --git a/frontend/src/containers/pages/program/CreateProgramPage.tsx b/src/frontend/src/containers/pages/program/CreateProgramPage.tsx similarity index 100% rename from frontend/src/containers/pages/program/CreateProgramPage.tsx rename to src/frontend/src/containers/pages/program/CreateProgramPage.tsx diff --git a/frontend/src/containers/pages/program/DuplicateProgramPage.tsx b/src/frontend/src/containers/pages/program/DuplicateProgramPage.tsx similarity index 100% rename from frontend/src/containers/pages/program/DuplicateProgramPage.tsx rename to src/frontend/src/containers/pages/program/DuplicateProgramPage.tsx diff --git a/frontend/src/containers/pages/program/EditProgramPage.tsx b/src/frontend/src/containers/pages/program/EditProgramPage.tsx similarity index 100% rename from frontend/src/containers/pages/program/EditProgramPage.tsx rename to src/frontend/src/containers/pages/program/EditProgramPage.tsx diff --git a/frontend/src/containers/pages/program/ProgramDetailsPage.tsx b/src/frontend/src/containers/pages/program/ProgramDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/program/ProgramDetailsPage.tsx rename to src/frontend/src/containers/pages/program/ProgramDetailsPage.tsx diff --git a/frontend/src/containers/pages/program/ProgramsPage.tsx b/src/frontend/src/containers/pages/program/ProgramsPage.tsx similarity index 100% rename from frontend/src/containers/pages/program/ProgramsPage.tsx rename to src/frontend/src/containers/pages/program/ProgramsPage.tsx diff --git a/frontend/src/containers/pages/rdi/RegistrationDataImportDetailsPage.tsx b/src/frontend/src/containers/pages/rdi/RegistrationDataImportDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/rdi/RegistrationDataImportDetailsPage.tsx rename to src/frontend/src/containers/pages/rdi/RegistrationDataImportDetailsPage.tsx diff --git a/frontend/src/containers/pages/rdi/RegistrationDataImportPage.tsx b/src/frontend/src/containers/pages/rdi/RegistrationDataImportPage.tsx similarity index 100% rename from frontend/src/containers/pages/rdi/RegistrationDataImportPage.tsx rename to src/frontend/src/containers/pages/rdi/RegistrationDataImportPage.tsx diff --git a/frontend/src/containers/pages/rdi/RegistrationHouseholdDetailsPage.tsx b/src/frontend/src/containers/pages/rdi/RegistrationHouseholdDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/rdi/RegistrationHouseholdDetailsPage.tsx rename to src/frontend/src/containers/pages/rdi/RegistrationHouseholdDetailsPage.tsx diff --git a/frontend/src/containers/pages/rdi/RegistrationIndividualDetailsPage.tsx b/src/frontend/src/containers/pages/rdi/RegistrationIndividualDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/rdi/RegistrationIndividualDetailsPage.tsx rename to src/frontend/src/containers/pages/rdi/RegistrationIndividualDetailsPage.tsx diff --git a/frontend/src/containers/pages/rdi/people/PeopleRegistrationDataImportDetailsPage.tsx b/src/frontend/src/containers/pages/rdi/people/PeopleRegistrationDataImportDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/rdi/people/PeopleRegistrationDataImportDetailsPage.tsx rename to src/frontend/src/containers/pages/rdi/people/PeopleRegistrationDataImportDetailsPage.tsx diff --git a/frontend/src/containers/pages/rdi/people/PeopleRegistrationDataImportPage.tsx b/src/frontend/src/containers/pages/rdi/people/PeopleRegistrationDataImportPage.tsx similarity index 100% rename from frontend/src/containers/pages/rdi/people/PeopleRegistrationDataImportPage.tsx rename to src/frontend/src/containers/pages/rdi/people/PeopleRegistrationDataImportPage.tsx diff --git a/frontend/src/containers/pages/rdi/people/PeopleRegistrationDetailsPage.tsx b/src/frontend/src/containers/pages/rdi/people/PeopleRegistrationDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/rdi/people/PeopleRegistrationDetailsPage.tsx rename to src/frontend/src/containers/pages/rdi/people/PeopleRegistrationDetailsPage.tsx diff --git a/frontend/src/containers/pages/reporting/ReportingDetailsPage.tsx b/src/frontend/src/containers/pages/reporting/ReportingDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/reporting/ReportingDetailsPage.tsx rename to src/frontend/src/containers/pages/reporting/ReportingDetailsPage.tsx diff --git a/frontend/src/containers/pages/reporting/ReportingPage.tsx b/src/frontend/src/containers/pages/reporting/ReportingPage.tsx similarity index 100% rename from frontend/src/containers/pages/reporting/ReportingPage.tsx rename to src/frontend/src/containers/pages/reporting/ReportingPage.tsx diff --git a/frontend/src/containers/pages/somethingWentWrong/SomethingWentWrong.tsx b/src/frontend/src/containers/pages/somethingWentWrong/SomethingWentWrong.tsx similarity index 100% rename from frontend/src/containers/pages/somethingWentWrong/SomethingWentWrong.tsx rename to src/frontend/src/containers/pages/somethingWentWrong/SomethingWentWrong.tsx diff --git a/frontend/src/containers/pages/somethingWentWrong/something_went_wrong_graphic.png b/src/frontend/src/containers/pages/somethingWentWrong/something_went_wrong_graphic.png similarity index 100% rename from frontend/src/containers/pages/somethingWentWrong/something_went_wrong_graphic.png rename to src/frontend/src/containers/pages/somethingWentWrong/something_went_wrong_graphic.png diff --git a/frontend/src/containers/pages/somethingWentWrong/something_went_wrong_hope_logo.png b/src/frontend/src/containers/pages/somethingWentWrong/something_went_wrong_hope_logo.png similarity index 100% rename from frontend/src/containers/pages/somethingWentWrong/something_went_wrong_hope_logo.png rename to src/frontend/src/containers/pages/somethingWentWrong/something_went_wrong_hope_logo.png diff --git a/frontend/src/containers/pages/targeting/CreateTargetPopulationPage.tsx b/src/frontend/src/containers/pages/targeting/CreateTargetPopulationPage.tsx similarity index 100% rename from frontend/src/containers/pages/targeting/CreateTargetPopulationPage.tsx rename to src/frontend/src/containers/pages/targeting/CreateTargetPopulationPage.tsx diff --git a/frontend/src/containers/pages/targeting/EditTargetPopulationPage.tsx b/src/frontend/src/containers/pages/targeting/EditTargetPopulationPage.tsx similarity index 100% rename from frontend/src/containers/pages/targeting/EditTargetPopulationPage.tsx rename to src/frontend/src/containers/pages/targeting/EditTargetPopulationPage.tsx diff --git a/frontend/src/containers/pages/targeting/TargetPopulationDetailsPage.tsx b/src/frontend/src/containers/pages/targeting/TargetPopulationDetailsPage.tsx similarity index 100% rename from frontend/src/containers/pages/targeting/TargetPopulationDetailsPage.tsx rename to src/frontend/src/containers/pages/targeting/TargetPopulationDetailsPage.tsx diff --git a/frontend/src/containers/pages/targeting/TargetPopulationsPage.tsx b/src/frontend/src/containers/pages/targeting/TargetPopulationsPage.tsx similarity index 100% rename from frontend/src/containers/pages/targeting/TargetPopulationsPage.tsx rename to src/frontend/src/containers/pages/targeting/TargetPopulationsPage.tsx diff --git a/frontend/src/containers/routers/AccountabilityRoutes.tsx b/src/frontend/src/containers/routers/AccountabilityRoutes.tsx similarity index 100% rename from frontend/src/containers/routers/AccountabilityRoutes.tsx rename to src/frontend/src/containers/routers/AccountabilityRoutes.tsx diff --git a/frontend/src/containers/routers/AllProgramsRoutesSwitch.tsx b/src/frontend/src/containers/routers/AllProgramsRoutesSwitch.tsx similarity index 100% rename from frontend/src/containers/routers/AllProgramsRoutesSwitch.tsx rename to src/frontend/src/containers/routers/AllProgramsRoutesSwitch.tsx diff --git a/frontend/src/containers/routers/BaseHomeRouter.tsx b/src/frontend/src/containers/routers/BaseHomeRouter.tsx similarity index 100% rename from frontend/src/containers/routers/BaseHomeRouter.tsx rename to src/frontend/src/containers/routers/BaseHomeRouter.tsx diff --git a/frontend/src/containers/routers/GrievanceRoutes.tsx b/src/frontend/src/containers/routers/GrievanceRoutes.tsx similarity index 100% rename from frontend/src/containers/routers/GrievanceRoutes.tsx rename to src/frontend/src/containers/routers/GrievanceRoutes.tsx diff --git a/frontend/src/containers/routers/PaymentModuleRoutes.tsx b/src/frontend/src/containers/routers/PaymentModuleRoutes.tsx similarity index 100% rename from frontend/src/containers/routers/PaymentModuleRoutes.tsx rename to src/frontend/src/containers/routers/PaymentModuleRoutes.tsx diff --git a/frontend/src/containers/routers/PaymentVerificationRoutes.tsx b/src/frontend/src/containers/routers/PaymentVerificationRoutes.tsx similarity index 100% rename from frontend/src/containers/routers/PaymentVerificationRoutes.tsx rename to src/frontend/src/containers/routers/PaymentVerificationRoutes.tsx diff --git a/frontend/src/containers/routers/PopulationRoutes.tsx b/src/frontend/src/containers/routers/PopulationRoutes.tsx similarity index 100% rename from frontend/src/containers/routers/PopulationRoutes.tsx rename to src/frontend/src/containers/routers/PopulationRoutes.tsx diff --git a/frontend/src/containers/routers/ProgramRoutes.tsx b/src/frontend/src/containers/routers/ProgramRoutes.tsx similarity index 100% rename from frontend/src/containers/routers/ProgramRoutes.tsx rename to src/frontend/src/containers/routers/ProgramRoutes.tsx diff --git a/frontend/src/containers/routers/RegistrationRoutes.tsx b/src/frontend/src/containers/routers/RegistrationRoutes.tsx similarity index 100% rename from frontend/src/containers/routers/RegistrationRoutes.tsx rename to src/frontend/src/containers/routers/RegistrationRoutes.tsx diff --git a/frontend/src/containers/routers/SelectedProgramRoutesSwitch.tsx b/src/frontend/src/containers/routers/SelectedProgramRoutesSwitch.tsx similarity index 100% rename from frontend/src/containers/routers/SelectedProgramRoutesSwitch.tsx rename to src/frontend/src/containers/routers/SelectedProgramRoutesSwitch.tsx diff --git a/frontend/src/containers/routers/TargetingRoutes.tsx b/src/frontend/src/containers/routers/TargetingRoutes.tsx similarity index 100% rename from frontend/src/containers/routers/TargetingRoutes.tsx rename to src/frontend/src/containers/routers/TargetingRoutes.tsx diff --git a/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTable.test.tsx b/src/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTable.test.tsx rename to src/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTable.test.tsx diff --git a/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTable.tsx b/src/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTable.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTable.tsx rename to src/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTable.tsx diff --git a/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTableHeadCells.tsx b/src/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTableHeadCells.tsx rename to src/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTableHeadCells.tsx diff --git a/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTableRow.tsx b/src/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTableRow.tsx rename to src/frontend/src/containers/tables/Communication/CommunicationTable/CommunicationTableRow.tsx diff --git a/frontend/src/containers/tables/Communication/CommunicationTable/__snapshots__/CommunicationTable.test.tsx.snap b/src/frontend/src/containers/tables/Communication/CommunicationTable/__snapshots__/CommunicationTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/Communication/CommunicationTable/__snapshots__/CommunicationTable.test.tsx.snap rename to src/frontend/src/containers/tables/Communication/CommunicationTable/__snapshots__/CommunicationTable.test.tsx.snap diff --git a/frontend/src/containers/tables/Communication/CommunicationTable/index.tsx b/src/frontend/src/containers/tables/Communication/CommunicationTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/CommunicationTable/index.tsx rename to src/frontend/src/containers/tables/Communication/CommunicationTable/index.tsx diff --git a/frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdComunicationTableHeadCells.tsx b/src/frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdComunicationTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdComunicationTableHeadCells.tsx rename to src/frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdComunicationTableHeadCells.tsx diff --git a/frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdTableCommunication.tsx b/src/frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdTableCommunication.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdTableCommunication.tsx rename to src/frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdTableCommunication.tsx diff --git a/frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdTableRowCommunication.tsx b/src/frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdTableRowCommunication.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdTableRowCommunication.tsx rename to src/frontend/src/containers/tables/Communication/LookUpHouseholdTableCommunication/LookUpHouseholdTableRowCommunication.tsx diff --git a/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableCommunication.tsx b/src/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableCommunication.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableCommunication.tsx rename to src/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableCommunication.tsx diff --git a/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableHeadCellsCommunication.tsx b/src/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableHeadCellsCommunication.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableHeadCellsCommunication.tsx rename to src/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableHeadCellsCommunication.tsx diff --git a/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableRowCommunication.tsx b/src/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableRowCommunication.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableRowCommunication.tsx rename to src/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/LookUpRegistrationDataImportTableRowCommunication.tsx diff --git a/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/index.ts b/src/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/index.ts similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/index.ts rename to src/frontend/src/containers/tables/Communication/LookUpRegistrationDataImportTableCommunication/index.ts diff --git a/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableCommunication.tsx b/src/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableCommunication.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableCommunication.tsx rename to src/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableCommunication.tsx diff --git a/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableHeadCellsCommunication.tsx b/src/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableHeadCellsCommunication.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableHeadCellsCommunication.tsx rename to src/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableHeadCellsCommunication.tsx diff --git a/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableRowCommunication.tsx b/src/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableRowCommunication.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableRowCommunication.tsx rename to src/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/LookUpTargetPopulationTableRowCommunication.tsx diff --git a/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/index.tsx b/src/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/index.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/index.tsx rename to src/frontend/src/containers/tables/Communication/LookUpTargetPopulationTableCommunication/index.tsx diff --git a/frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTable.tsx b/src/frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTable.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTable.tsx rename to src/frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTable.tsx diff --git a/frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTableHeadCells.tsx b/src/frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTableHeadCells.tsx rename to src/frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTableHeadCells.tsx diff --git a/frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTableRow.tsx b/src/frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTableRow.tsx rename to src/frontend/src/containers/tables/Communication/RecipientsTable/RecipientsTableRow.tsx diff --git a/frontend/src/containers/tables/Feedback/FeedbackTable.test.tsx b/src/frontend/src/containers/tables/Feedback/FeedbackTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/Feedback/FeedbackTable.test.tsx rename to src/frontend/src/containers/tables/Feedback/FeedbackTable.test.tsx diff --git a/frontend/src/containers/tables/Feedback/FeedbackTable.tsx b/src/frontend/src/containers/tables/Feedback/FeedbackTable.tsx similarity index 100% rename from frontend/src/containers/tables/Feedback/FeedbackTable.tsx rename to src/frontend/src/containers/tables/Feedback/FeedbackTable.tsx diff --git a/frontend/src/containers/tables/Feedback/FeedbackTableHeadCells.tsx b/src/frontend/src/containers/tables/Feedback/FeedbackTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/Feedback/FeedbackTableHeadCells.tsx rename to src/frontend/src/containers/tables/Feedback/FeedbackTableHeadCells.tsx diff --git a/frontend/src/containers/tables/Feedback/FeedbackTableRow.tsx b/src/frontend/src/containers/tables/Feedback/FeedbackTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/Feedback/FeedbackTableRow.tsx rename to src/frontend/src/containers/tables/Feedback/FeedbackTableRow.tsx diff --git a/frontend/src/containers/tables/Feedback/__snapshots__/FeedbackTable.test.tsx.snap b/src/frontend/src/containers/tables/Feedback/__snapshots__/FeedbackTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/Feedback/__snapshots__/FeedbackTable.test.tsx.snap rename to src/frontend/src/containers/tables/Feedback/__snapshots__/FeedbackTable.test.tsx.snap diff --git a/frontend/src/containers/tables/Feedback/index.tsx b/src/frontend/src/containers/tables/Feedback/index.tsx similarity index 100% rename from frontend/src/containers/tables/Feedback/index.tsx rename to src/frontend/src/containers/tables/Feedback/index.tsx diff --git a/frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTable.tsx b/src/frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTable.tsx similarity index 100% rename from frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTable.tsx rename to src/frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTable.tsx diff --git a/frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTableHeadCells.tsx b/src/frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTableHeadCells.tsx rename to src/frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTableHeadCells.tsx diff --git a/frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTableRow.tsx b/src/frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTableRow.tsx rename to src/frontend/src/containers/tables/MainActivityLogTable/MainActivityLogTableRow.tsx diff --git a/frontend/src/containers/tables/MainActivityLogTable/index.ts b/src/frontend/src/containers/tables/MainActivityLogTable/index.ts similarity index 100% rename from frontend/src/containers/tables/MainActivityLogTable/index.ts rename to src/frontend/src/containers/tables/MainActivityLogTable/index.ts diff --git a/frontend/src/containers/tables/ProgramCycle/DeleteProgramCycle.tsx b/src/frontend/src/containers/tables/ProgramCycle/DeleteProgramCycle.tsx similarity index 100% rename from frontend/src/containers/tables/ProgramCycle/DeleteProgramCycle.tsx rename to src/frontend/src/containers/tables/ProgramCycle/DeleteProgramCycle.tsx diff --git a/frontend/src/containers/tables/ProgramCycle/EditProgramCycle.tsx b/src/frontend/src/containers/tables/ProgramCycle/EditProgramCycle.tsx similarity index 100% rename from frontend/src/containers/tables/ProgramCycle/EditProgramCycle.tsx rename to src/frontend/src/containers/tables/ProgramCycle/EditProgramCycle.tsx diff --git a/frontend/src/containers/tables/ProgramCycle/HeadCells.ts b/src/frontend/src/containers/tables/ProgramCycle/HeadCells.ts similarity index 100% rename from frontend/src/containers/tables/ProgramCycle/HeadCells.ts rename to src/frontend/src/containers/tables/ProgramCycle/HeadCells.ts diff --git a/frontend/src/containers/tables/ProgramCycle/NewProgramCycle/AddNewProgramCycle.tsx b/src/frontend/src/containers/tables/ProgramCycle/NewProgramCycle/AddNewProgramCycle.tsx similarity index 100% rename from frontend/src/containers/tables/ProgramCycle/NewProgramCycle/AddNewProgramCycle.tsx rename to src/frontend/src/containers/tables/ProgramCycle/NewProgramCycle/AddNewProgramCycle.tsx diff --git a/frontend/src/containers/tables/ProgramCycle/NewProgramCycle/CreateProgramCycle.tsx b/src/frontend/src/containers/tables/ProgramCycle/NewProgramCycle/CreateProgramCycle.tsx similarity index 100% rename from frontend/src/containers/tables/ProgramCycle/NewProgramCycle/CreateProgramCycle.tsx rename to src/frontend/src/containers/tables/ProgramCycle/NewProgramCycle/CreateProgramCycle.tsx diff --git a/frontend/src/containers/tables/ProgramCycle/NewProgramCycle/UpdateProgramCycle.tsx b/src/frontend/src/containers/tables/ProgramCycle/NewProgramCycle/UpdateProgramCycle.tsx similarity index 100% rename from frontend/src/containers/tables/ProgramCycle/NewProgramCycle/UpdateProgramCycle.tsx rename to src/frontend/src/containers/tables/ProgramCycle/NewProgramCycle/UpdateProgramCycle.tsx diff --git a/frontend/src/containers/tables/ProgramCycle/ProgramCyclesTableProgramDetails.tsx b/src/frontend/src/containers/tables/ProgramCycle/ProgramCycleTable.tsx similarity index 100% rename from frontend/src/containers/tables/ProgramCycle/ProgramCyclesTableProgramDetails.tsx rename to src/frontend/src/containers/tables/ProgramCycle/ProgramCycleTable.tsx diff --git a/src/frontend/src/containers/tables/ProgramCycle/ProgramCyclesTableProgramDetails.tsx b/src/frontend/src/containers/tables/ProgramCycle/ProgramCyclesTableProgramDetails.tsx new file mode 100644 index 0000000000..7b7bac0fcc --- /dev/null +++ b/src/frontend/src/containers/tables/ProgramCycle/ProgramCyclesTableProgramDetails.tsx @@ -0,0 +1,142 @@ +import { ProgramQuery, ProgramStatus } from '@generated/graphql'; +import { UniversalRestTable } from '@components/rest/UniversalRestTable/UniversalRestTable'; +import React, { ReactElement, useState } from 'react'; +import { ClickableTableRow } from '@core/Table/ClickableTableRow'; +import TableCell from '@mui/material/TableCell'; +import { UniversalMoment } from '@core/UniversalMoment'; +import { StatusBox } from '@core/StatusBox'; +import { programCycleStatusToColor } from '@utils/utils'; +import headCells from '@containers/tables/ProgramCycle/HeadCells'; +import { AddNewProgramCycle } from '@containers/tables/ProgramCycle/NewProgramCycle/AddNewProgramCycle'; +import { DeleteProgramCycle } from '@containers/tables/ProgramCycle/DeleteProgramCycle'; +import { EditProgramCycle } from '@containers/tables/ProgramCycle/EditProgramCycle'; +import { useQuery } from '@tanstack/react-query'; +import { useBaseUrl } from '@hooks/useBaseUrl'; +import { fetchProgramCycles, ProgramCycle } from '@api/programCycleApi'; +import { BlackLink } from '@core/BlackLink'; +import { usePermissions } from '@hooks/usePermissions'; +import { hasPermissions, PERMISSIONS } from '../../../config/permissions'; + +interface ProgramCyclesTableProgramDetailsProps { + program: ProgramQuery['program']; +} + +export const ProgramCyclesTableProgramDetails = ({ + program, +}: ProgramCyclesTableProgramDetailsProps) => { + const [queryVariables, setQueryVariables] = useState({ + offset: 0, + limit: 5, + ordering: 'created_at', + }); + const { businessArea, baseUrl, programId } = useBaseUrl(); + const permissions = usePermissions(); + const canCreateProgramCycle = + program.status === ProgramStatus.Active && + hasPermissions(PERMISSIONS.PM_PROGRAMME_CYCLE_CREATE, permissions); + + const { data, error, isLoading } = useQuery({ + queryKey: ['programCycles', businessArea, program.id, queryVariables], + queryFn: async () => { + return fetchProgramCycles(businessArea, program.id, queryVariables); + }, + }); + + const canViewDetails = programId !== 'all'; + + const renderRow = (row: ProgramCycle): ReactElement => { + const detailsUrl = `/${baseUrl}/payment-module/program-cycles/${row.id}`; + const canEditProgramCycle = + (row.status === 'Draft' || row.status === 'Active') && + hasPermissions(PERMISSIONS.PM_PROGRAMME_CYCLE_UPDATE, permissions); + const canDeleteProgramCycle = + row.status === 'Draft' && + data.results.length > 1 && + hasPermissions(PERMISSIONS.PM_PROGRAMME_CYCLE_DELETE, permissions); + return ( + + + {canViewDetails ? ( + {row.title} + ) : ( + row.title + )} + + + + + + {row.total_entitled_quantity_usd || '-'} + + + {row.total_undelivered_quantity_usd || '-'} + + + {row.total_delivered_quantity_usd || '-'} + + + {row.start_date} + + + {row.end_date} + + + + {program.status === 'ACTIVE' && ( + <> + {canEditProgramCycle && ( + + )} + + {canDeleteProgramCycle && ( + + )} + + )} + + + ); + }; + + if (isLoading) { + return null; + } + + const actions = []; + + if (canCreateProgramCycle) { + actions.push( + , + ); + } + + return ( + + ); +}; diff --git a/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/HeadCells.ts b/src/frontend/src/containers/tables/ProgramCyclesTable/HeadCells.ts similarity index 100% rename from frontend/src/containers/tables/ProgramCyclesTablePaymentModule/HeadCells.ts rename to src/frontend/src/containers/tables/ProgramCyclesTable/HeadCells.ts diff --git a/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/ProgramCyclesFilters.tsx b/src/frontend/src/containers/tables/ProgramCyclesTable/ProgramCyclesFilters.tsx similarity index 100% rename from frontend/src/containers/tables/ProgramCyclesTablePaymentModule/ProgramCyclesFilters.tsx rename to src/frontend/src/containers/tables/ProgramCyclesTable/ProgramCyclesFilters.tsx diff --git a/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/ProgramCyclesTablePaymentModule.tsx b/src/frontend/src/containers/tables/ProgramCyclesTable/ProgramCyclesTable.tsx similarity index 100% rename from frontend/src/containers/tables/ProgramCyclesTablePaymentModule/ProgramCyclesTablePaymentModule.tsx rename to src/frontend/src/containers/tables/ProgramCyclesTable/ProgramCyclesTable.tsx diff --git a/src/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/HeadCells.ts b/src/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/HeadCells.ts new file mode 100644 index 0000000000..3c1f630ab5 --- /dev/null +++ b/src/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/HeadCells.ts @@ -0,0 +1,52 @@ +import { HeadCell } from '@core/Table/EnhancedTableHead'; +import { ProgramCycle } from '@api/programCycleApi'; + +export const headCells: HeadCell[] = [ + { + id: 'title', + numeric: false, + disablePadding: false, + label: 'Programme Cycle Title', + disableSort: true, + dataCy: 'head-cell-programme-cycles-title', + }, + { + id: 'status', + numeric: false, + disablePadding: false, + label: 'Status', + disableSort: true, + dataCy: 'head-cell-status', + }, + { + id: 'total_entitled_quantity', + numeric: true, + disablePadding: false, + label: 'Total Entitled Quantity', + disableSort: true, + dataCy: 'head-cell-total-entitled-quantity', + }, + { + id: 'start_date', + numeric: false, + disablePadding: false, + label: 'Start Date', + dataCy: 'head-cell-start-date', + }, + { + id: 'end_date', + numeric: false, + disablePadding: false, + label: 'End Date', + disableSort: true, + dataCy: 'head-cell-end-date', + }, + { + id: 'empty', + numeric: false, + disablePadding: false, + label: '', + disableSort: true, + dataCy: 'head-cell-empty', + }, +]; diff --git a/src/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/ProgramCyclesFilters.tsx b/src/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/ProgramCyclesFilters.tsx new file mode 100644 index 0000000000..a6726e1c85 --- /dev/null +++ b/src/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/ProgramCyclesFilters.tsx @@ -0,0 +1,150 @@ +import { ClearApplyButtons } from '@core/ClearApplyButtons'; +import { useTranslation } from 'react-i18next'; +import { useLocation, useNavigate } from 'react-router-dom'; +import { createHandleApplyFilterChange } from '@utils/utils'; +import React from 'react'; +import Grid from '@mui/material/Grid'; +import { ContainerWithBorder } from '@core/ContainerWithBorder'; +import { SearchTextField } from '@core/SearchTextField'; +import { SelectFilter } from '@core/SelectFilter'; +import { MenuItem } from '@mui/material'; +import { NumberTextField } from '@core/NumberTextField'; +import { DatePickerFilter } from '@core/DatePickerFilter'; +import moment from 'moment/moment'; + +interface ProgramCyclesFiltersProps { + filter; + setFilter: (filter) => void; + initialFilter; + appliedFilter; + setAppliedFilter: (filter) => void; +} + +const programCycleStatuses = [ + { value: 'ACTIVE', name: 'Active' }, + { value: 'DRAFT', name: 'Draft' }, + { value: 'FINISHED', name: 'Finished' }, +]; + +export const ProgramCyclesFilters = ({ + filter, + setFilter, + initialFilter, + appliedFilter, + setAppliedFilter, +}: ProgramCyclesFiltersProps) => { + const { t } = useTranslation(); + const navigate = useNavigate(); + const location = useLocation(); + + const { handleFilterChange, applyFilterChanges, clearFilter } = + createHandleApplyFilterChange( + initialFilter, + navigate, + location, + filter, + setFilter, + appliedFilter, + setAppliedFilter, + ); + + const handleApplyFilter = (): void => { + applyFilterChanges(); + }; + + const handleClearFilter = (): void => { + clearFilter(); + }; + + return ( + + + + handleFilterChange('search', e.target.value)} + /> + + + handleFilterChange('status', e.target.value)} + variant="outlined" + label={t('Status')} + value={filter.status} + fullWidth + > + {programCycleStatuses.map((item) => { + return ( + + {item.name} + + ); + })} + + + + + handleFilterChange( + 'total_entitled_quantity_usd_from', + e.target.value, + ) + } + /> + + + + handleFilterChange( + 'total_entitled_quantity_usd_to', + e.target.value, + ) + } + error={ + filter.total_entitled_quantity_usd_from && + filter.total_entitled_quantity_usd_to && + filter.total_entitled_quantity_usd_from > + filter.total_entitled_quantity_usd_to + } + /> + + + + handleFilterChange( + 'start_date', + date ? moment(date).format('YYYY-MM-DD') : '', + ) + } + value={filter.startDate} + /> + + + + handleFilterChange( + 'end_date', + date ? moment(date).format('YYYY-MM-DD') : '', + ) + } + value={filter.end_date} + /> + + + + + ); +}; diff --git a/src/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/ProgramCyclesTablePaymentModule.tsx b/src/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/ProgramCyclesTablePaymentModule.tsx new file mode 100644 index 0000000000..44c96e8f6e --- /dev/null +++ b/src/frontend/src/containers/tables/ProgramCyclesTablePaymentModule/ProgramCyclesTablePaymentModule.tsx @@ -0,0 +1,158 @@ +import React, { ReactElement, useEffect, useState } from 'react'; +import { ClickableTableRow } from '@core/Table/ClickableTableRow'; +import TableCell from '@mui/material/TableCell'; +import { StatusBox } from '@core/StatusBox'; +import { decodeIdString, programCycleStatusToColor } from '@utils/utils'; +import { UniversalMoment } from '@core/UniversalMoment'; +import { UniversalRestTable } from '@components/rest/UniversalRestTable/UniversalRestTable'; +import { headCells } from '@containers/tables/ProgramCyclesTablePaymentModule/HeadCells'; +import { useBaseUrl } from '@hooks/useBaseUrl'; +import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; +import { + fetchProgramCycles, + finishProgramCycle, + ProgramCycle, + ProgramCyclesQuery, + reactivateProgramCycle, +} from '@api/programCycleApi'; +import { BlackLink } from '@core/BlackLink'; +import { useTranslation } from 'react-i18next'; +import { Button } from '@mui/material'; +import { useSnackbar } from '@hooks/useSnackBar'; + +interface ProgramCyclesTablePaymentModuleProps { + program; + filters; +} + +export const ProgramCyclesTablePaymentModule = ({ + program, + filters, +}: ProgramCyclesTablePaymentModuleProps) => { + const { showMessage } = useSnackbar(); + const [queryVariables, setQueryVariables] = useState({ + offset: 0, + limit: 5, + ordering: 'created_at', + ...filters, + }); + + const { businessArea } = useBaseUrl(); + const { t } = useTranslation(); + const queryClient = useQueryClient(); + + const { data, refetch, error, isLoading } = useQuery({ + queryKey: ['programCycles', businessArea, program.id, queryVariables], + queryFn: async () => { + return fetchProgramCycles(businessArea, program.id, queryVariables); + }, + }); + + const { mutateAsync: finishMutation, isPending: isPendingFinishing } = + useMutation({ + mutationFn: async ({ programCycleId }: { programCycleId: string }) => { + return finishProgramCycle(businessArea, program.id, programCycleId); + }, + onSuccess: async () => { + await queryClient.invalidateQueries({ + queryKey: ['programCycles', businessArea, program.id], + }); + }, + }); + + const { mutateAsync: reactivateMutation, isPending: isPendingReactivation } = + useMutation({ + mutationFn: async ({ programCycleId }: { programCycleId: string }) => { + return reactivateProgramCycle(businessArea, program.id, programCycleId); + }, + onSuccess: async () => { + await queryClient.invalidateQueries({ + queryKey: ['programCycles', businessArea, program.id], + }); + }, + }); + + useEffect(() => { + setQueryVariables((oldVariables) => ({ ...oldVariables, ...filters })); + }, [filters]); + + useEffect(() => { + void refetch(); + }, [queryVariables, refetch]); + + const finishAction = async (programCycle: ProgramCycle) => { + try { + const decodedProgramCycleId = decodeIdString(programCycle.id); + await finishMutation({ programCycleId: decodedProgramCycleId }); + showMessage(t('Programme Cycle Finished')); + } catch (e) { + e.data?.forEach((message: string) => showMessage(message)); + } + }; + + const reactivateAction = async (programCycle: ProgramCycle) => { + try { + const decodedProgramCycleId = decodeIdString(programCycle.id); + await reactivateMutation({ programCycleId: decodedProgramCycleId }); + showMessage(t('Programme Cycle Reactivated')); + } catch (e) { + e.data?.forEach((message: string) => showMessage(message)); + } + }; + + const renderRow = (row: ProgramCycle): ReactElement => ( + + + {row.title} + + + + + + {row.total_entitled_quantity_usd || '-'} + + + {row.start_date} + + + {row.end_date} + + + {row.status === 'Finished' && ( + + )} + {row.status === 'Active' && ( + + )} + + + ); + + return ( + + ); +}; diff --git a/frontend/src/containers/tables/ProgrammesTable/ProgrammesFilter.tsx b/src/frontend/src/containers/tables/ProgrammesTable/ProgrammesFilter.tsx similarity index 100% rename from frontend/src/containers/tables/ProgrammesTable/ProgrammesFilter.tsx rename to src/frontend/src/containers/tables/ProgrammesTable/ProgrammesFilter.tsx diff --git a/frontend/src/containers/tables/ProgrammesTable/ProgrammesHeadCells.tsx b/src/frontend/src/containers/tables/ProgrammesTable/ProgrammesHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/ProgrammesTable/ProgrammesHeadCells.tsx rename to src/frontend/src/containers/tables/ProgrammesTable/ProgrammesHeadCells.tsx diff --git a/frontend/src/containers/tables/ProgrammesTable/ProgrammesTable.test.tsx b/src/frontend/src/containers/tables/ProgrammesTable/ProgrammesTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/ProgrammesTable/ProgrammesTable.test.tsx rename to src/frontend/src/containers/tables/ProgrammesTable/ProgrammesTable.test.tsx diff --git a/frontend/src/containers/tables/ProgrammesTable/ProgrammesTable.tsx b/src/frontend/src/containers/tables/ProgrammesTable/ProgrammesTable.tsx similarity index 100% rename from frontend/src/containers/tables/ProgrammesTable/ProgrammesTable.tsx rename to src/frontend/src/containers/tables/ProgrammesTable/ProgrammesTable.tsx diff --git a/frontend/src/containers/tables/ProgrammesTable/ProgrammesTableRow.tsx b/src/frontend/src/containers/tables/ProgrammesTable/ProgrammesTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/ProgrammesTable/ProgrammesTableRow.tsx rename to src/frontend/src/containers/tables/ProgrammesTable/ProgrammesTableRow.tsx diff --git a/frontend/src/containers/tables/ProgrammesTable/__snapshots__/ProgrammesTable.test.tsx.snap b/src/frontend/src/containers/tables/ProgrammesTable/__snapshots__/ProgrammesTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/ProgrammesTable/__snapshots__/ProgrammesTable.test.tsx.snap rename to src/frontend/src/containers/tables/ProgrammesTable/__snapshots__/ProgrammesTable.test.tsx.snap diff --git a/frontend/src/containers/tables/ProgrammesTable/index.tsx b/src/frontend/src/containers/tables/ProgrammesTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/ProgrammesTable/index.tsx rename to src/frontend/src/containers/tables/ProgrammesTable/index.tsx diff --git a/frontend/src/containers/tables/ReportingTable/ReportingFilters.tsx b/src/frontend/src/containers/tables/ReportingTable/ReportingFilters.tsx similarity index 100% rename from frontend/src/containers/tables/ReportingTable/ReportingFilters.tsx rename to src/frontend/src/containers/tables/ReportingTable/ReportingFilters.tsx diff --git a/frontend/src/containers/tables/ReportingTable/ReportingHeadCells.tsx b/src/frontend/src/containers/tables/ReportingTable/ReportingHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/ReportingTable/ReportingHeadCells.tsx rename to src/frontend/src/containers/tables/ReportingTable/ReportingHeadCells.tsx diff --git a/frontend/src/containers/tables/ReportingTable/ReportingTable.test.tsx b/src/frontend/src/containers/tables/ReportingTable/ReportingTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/ReportingTable/ReportingTable.test.tsx rename to src/frontend/src/containers/tables/ReportingTable/ReportingTable.test.tsx diff --git a/frontend/src/containers/tables/ReportingTable/ReportingTable.tsx b/src/frontend/src/containers/tables/ReportingTable/ReportingTable.tsx similarity index 100% rename from frontend/src/containers/tables/ReportingTable/ReportingTable.tsx rename to src/frontend/src/containers/tables/ReportingTable/ReportingTable.tsx diff --git a/frontend/src/containers/tables/ReportingTable/ReportingTableRow.tsx b/src/frontend/src/containers/tables/ReportingTable/ReportingTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/ReportingTable/ReportingTableRow.tsx rename to src/frontend/src/containers/tables/ReportingTable/ReportingTableRow.tsx diff --git a/frontend/src/containers/tables/ReportingTable/__snapshots__/ReportingTable.test.tsx.snap b/src/frontend/src/containers/tables/ReportingTable/__snapshots__/ReportingTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/ReportingTable/__snapshots__/ReportingTable.test.tsx.snap rename to src/frontend/src/containers/tables/ReportingTable/__snapshots__/ReportingTable.test.tsx.snap diff --git a/frontend/src/containers/tables/ReportingTable/index.ts b/src/frontend/src/containers/tables/ReportingTable/index.ts similarity index 100% rename from frontend/src/containers/tables/ReportingTable/index.ts rename to src/frontend/src/containers/tables/ReportingTable/index.ts diff --git a/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesHeadCellsSurveys.tsx b/src/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesHeadCellsSurveys.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesHeadCellsSurveys.tsx rename to src/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesHeadCellsSurveys.tsx diff --git a/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesTableRowSurveys.tsx b/src/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesTableRowSurveys.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesTableRowSurveys.tsx rename to src/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesTableRowSurveys.tsx diff --git a/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesTableSurveys.tsx b/src/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesTableSurveys.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesTableSurveys.tsx rename to src/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/LookUpProgrammesTableSurveys.tsx diff --git a/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/index.tsx b/src/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/index.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/index.tsx rename to src/frontend/src/containers/tables/Surveys/LookUpProgrammesTableSurveys/index.tsx diff --git a/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableHeadCellsSurveys.tsx b/src/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableHeadCellsSurveys.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableHeadCellsSurveys.tsx rename to src/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableHeadCellsSurveys.tsx diff --git a/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableRowSurveys.tsx b/src/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableRowSurveys.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableRowSurveys.tsx rename to src/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableRowSurveys.tsx diff --git a/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableSurveys.tsx b/src/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableSurveys.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableSurveys.tsx rename to src/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/LookUpTargetPopulationTableSurveys.tsx diff --git a/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/index.tsx b/src/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/index.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/index.tsx rename to src/frontend/src/containers/tables/Surveys/LookUpTargetPopulationTableSurveys/index.tsx diff --git a/frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTable.tsx b/src/frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTable.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTable.tsx rename to src/frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTable.tsx diff --git a/frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTableHeadCells.tsx b/src/frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTableHeadCells.tsx rename to src/frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTableHeadCells.tsx diff --git a/frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTableRow.tsx b/src/frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTableRow.tsx rename to src/frontend/src/containers/tables/Surveys/RecipientsTable/RecipientsTableRow.tsx diff --git a/frontend/src/containers/tables/Surveys/SurveysTable/SurveysTable.tsx b/src/frontend/src/containers/tables/Surveys/SurveysTable/SurveysTable.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/SurveysTable/SurveysTable.tsx rename to src/frontend/src/containers/tables/Surveys/SurveysTable/SurveysTable.tsx diff --git a/frontend/src/containers/tables/Surveys/SurveysTable/SurveysTableHeadCells.tsx b/src/frontend/src/containers/tables/Surveys/SurveysTable/SurveysTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/SurveysTable/SurveysTableHeadCells.tsx rename to src/frontend/src/containers/tables/Surveys/SurveysTable/SurveysTableHeadCells.tsx diff --git a/frontend/src/containers/tables/Surveys/SurveysTable/SurveysTableRow.tsx b/src/frontend/src/containers/tables/Surveys/SurveysTable/SurveysTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/SurveysTable/SurveysTableRow.tsx rename to src/frontend/src/containers/tables/Surveys/SurveysTable/SurveysTableRow.tsx diff --git a/frontend/src/containers/tables/Surveys/SurveysTable/index.tsx b/src/frontend/src/containers/tables/Surveys/SurveysTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/Surveys/SurveysTable/index.tsx rename to src/frontend/src/containers/tables/Surveys/SurveysTable/index.tsx diff --git a/frontend/src/containers/tables/UniversalActivityLogTable.tsx b/src/frontend/src/containers/tables/UniversalActivityLogTable.tsx similarity index 100% rename from frontend/src/containers/tables/UniversalActivityLogTable.tsx rename to src/frontend/src/containers/tables/UniversalActivityLogTable.tsx diff --git a/frontend/src/containers/tables/UniversalActivityLogTablePaymentVerification.tsx b/src/frontend/src/containers/tables/UniversalActivityLogTablePaymentVerification.tsx similarity index 100% rename from frontend/src/containers/tables/UniversalActivityLogTablePaymentVerification.tsx rename to src/frontend/src/containers/tables/UniversalActivityLogTablePaymentVerification.tsx diff --git a/frontend/src/containers/tables/UniversalTable.tsx b/src/frontend/src/containers/tables/UniversalTable.tsx similarity index 100% rename from frontend/src/containers/tables/UniversalTable.tsx rename to src/frontend/src/containers/tables/UniversalTable.tsx diff --git a/frontend/src/containers/tables/UsersTable/UsersTable.test.tsx b/src/frontend/src/containers/tables/UsersTable/UsersTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/UsersTable/UsersTable.test.tsx rename to src/frontend/src/containers/tables/UsersTable/UsersTable.test.tsx diff --git a/frontend/src/containers/tables/UsersTable/UsersTable.tsx b/src/frontend/src/containers/tables/UsersTable/UsersTable.tsx similarity index 100% rename from frontend/src/containers/tables/UsersTable/UsersTable.tsx rename to src/frontend/src/containers/tables/UsersTable/UsersTable.tsx diff --git a/frontend/src/containers/tables/UsersTable/UsersTableHeadCells.tsx b/src/frontend/src/containers/tables/UsersTable/UsersTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/UsersTable/UsersTableHeadCells.tsx rename to src/frontend/src/containers/tables/UsersTable/UsersTableHeadCells.tsx diff --git a/frontend/src/containers/tables/UsersTable/UsersTableRow.tsx b/src/frontend/src/containers/tables/UsersTable/UsersTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/UsersTable/UsersTableRow.tsx rename to src/frontend/src/containers/tables/UsersTable/UsersTableRow.tsx diff --git a/frontend/src/containers/tables/UsersTable/__snapshots__/UsersTable.test.tsx.snap b/src/frontend/src/containers/tables/UsersTable/__snapshots__/UsersTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/UsersTable/__snapshots__/UsersTable.test.tsx.snap rename to src/frontend/src/containers/tables/UsersTable/__snapshots__/UsersTable.test.tsx.snap diff --git a/frontend/src/containers/tables/UsersTable/index.ts b/src/frontend/src/containers/tables/UsersTable/index.ts similarity index 100% rename from frontend/src/containers/tables/UsersTable/index.ts rename to src/frontend/src/containers/tables/UsersTable/index.ts diff --git a/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlanTableRow.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlanTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlanTableRow.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlanTableRow.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansFilters.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansFilters.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansFilters.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansFilters.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansHeadCells.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansHeadCells.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansHeadCells.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansTable.test.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansTable.test.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansTable.test.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansTable.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansTable.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansTable.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/PaymentPlansTable.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/__snapshots__/PaymentPlansTable.test.tsx.snap b/src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/__snapshots__/PaymentPlansTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentPlansTable/__snapshots__/PaymentPlansTable.test.tsx.snap rename to src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/__snapshots__/PaymentPlansTable.test.tsx.snap diff --git a/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/index.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentPlansTable/index.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentPlansTable/index.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTable.test.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTable.test.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTable.test.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTable.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTable.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTable.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTable.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTableHeadCells.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTableHeadCells.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTableHeadCells.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTableRow.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTableRow.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentsTable/PaymentsTableRow.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentsTable/WarningTooltipTable/WarningTooltipTable.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentsTable/WarningTooltipTable/WarningTooltipTable.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentsTable/WarningTooltipTable/WarningTooltipTable.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentsTable/WarningTooltipTable/WarningTooltipTable.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentsTable/WarningTooltipTable/index.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentsTable/WarningTooltipTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentsTable/WarningTooltipTable/index.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentsTable/WarningTooltipTable/index.tsx diff --git a/frontend/src/containers/tables/paymentmodule/PaymentsTable/__snapshots__/PaymentsTable.test.tsx.snap b/src/frontend/src/containers/tables/paymentmodule/PaymentsTable/__snapshots__/PaymentsTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentsTable/__snapshots__/PaymentsTable.test.tsx.snap rename to src/frontend/src/containers/tables/paymentmodule/PaymentsTable/__snapshots__/PaymentsTable.test.tsx.snap diff --git a/frontend/src/containers/tables/paymentmodule/PaymentsTable/index.tsx b/src/frontend/src/containers/tables/paymentmodule/PaymentsTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodule/PaymentsTable/index.tsx rename to src/frontend/src/containers/tables/paymentmodule/PaymentsTable/index.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlanTableRow.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlanTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlanTableRow.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlanTableRow.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansFilters.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansFilters.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansFilters.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansFilters.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansHeadCells.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansHeadCells.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansHeadCells.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansTable.test.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansTable.test.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansTable.test.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansTable.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansTable.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansTable.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/PeoplePaymentPlansTable.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/__snapshots__/PeoplePaymentPlansTable.test.tsx.snap b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/__snapshots__/PeoplePaymentPlansTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/__snapshots__/PeoplePaymentPlansTable.test.tsx.snap rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/__snapshots__/PeoplePaymentPlansTable.test.tsx.snap diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/index.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/index.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentPlansTable/index.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTable.test.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTable.test.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTable.test.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTable.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTable.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTable.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTable.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTableHeadCells.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTableHeadCells.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTableHeadCells.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTableRow.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTableRow.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/PeoplePaymentsTableRow.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/WarningTooltipTable/WarningTooltipTable.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/WarningTooltipTable/WarningTooltipTable.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/WarningTooltipTable/WarningTooltipTable.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/WarningTooltipTable/WarningTooltipTable.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/WarningTooltipTable/index.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/WarningTooltipTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/WarningTooltipTable/index.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/WarningTooltipTable/index.tsx diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/__snapshots__/PeoplePaymentsTable.test.tsx.snap b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/__snapshots__/PeoplePaymentsTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/__snapshots__/PeoplePaymentsTable.test.tsx.snap rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/__snapshots__/PeoplePaymentsTable.test.tsx.snap diff --git a/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/index.tsx b/src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/index.tsx rename to src/frontend/src/containers/tables/paymentmodulePeople/PeoplePaymentsTable/index.tsx diff --git a/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTable.test.tsx b/src/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/payments/CashPlanTable/CashPlanTable.test.tsx rename to src/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTable.test.tsx diff --git a/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTable.tsx b/src/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTable.tsx similarity index 100% rename from frontend/src/containers/tables/payments/CashPlanTable/CashPlanTable.tsx rename to src/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTable.tsx diff --git a/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTableHeadCells.tsx b/src/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/payments/CashPlanTable/CashPlanTableHeadCells.tsx rename to src/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTableHeadCells.tsx diff --git a/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTableRow.tsx b/src/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/payments/CashPlanTable/CashPlanTableRow.tsx rename to src/frontend/src/containers/tables/payments/CashPlanTable/CashPlanTableRow.tsx diff --git a/frontend/src/containers/tables/payments/CashPlanTable/__snapshots__/CashPlanTable.test.tsx.snap b/src/frontend/src/containers/tables/payments/CashPlanTable/__snapshots__/CashPlanTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/payments/CashPlanTable/__snapshots__/CashPlanTable.test.tsx.snap rename to src/frontend/src/containers/tables/payments/CashPlanTable/__snapshots__/CashPlanTable.test.tsx.snap diff --git a/frontend/src/containers/tables/payments/CashPlanTable/index.ts b/src/frontend/src/containers/tables/payments/CashPlanTable/index.ts similarity index 100% rename from frontend/src/containers/tables/payments/CashPlanTable/index.ts rename to src/frontend/src/containers/tables/payments/CashPlanTable/index.ts diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTable.test.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTable.test.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTable.test.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTable.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTable.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTable.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTable.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTableHeadCells.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTableHeadCells.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTableHeadCells.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTableRow.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTableRow.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/PaymentRecordAndPaymentHouseholdTableRow.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/__snapshots__/PaymentRecordAndPaymentHouseholdTable.test.tsx.snap b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/__snapshots__/PaymentRecordAndPaymentHouseholdTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/__snapshots__/PaymentRecordAndPaymentHouseholdTable.test.tsx.snap rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/__snapshots__/PaymentRecordAndPaymentHouseholdTable.test.tsx.snap diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/index.ts b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/index.ts similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/index.ts rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentHouseholdTable/index.ts diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTable.test.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTable.test.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTable.test.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTable.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTable.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTable.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTable.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTableHeadCells.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTableHeadCells.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTableHeadCells.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTableRow.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTableRow.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/PaymentRecordAndPaymentPeopleTableRow.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/__snapshots__/PaymentRecordAndPaymentPeopleTable.test.tsx.snap b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/__snapshots__/PaymentRecordAndPaymentPeopleTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/__snapshots__/PaymentRecordAndPaymentPeopleTable.test.tsx.snap rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/__snapshots__/PaymentRecordAndPaymentPeopleTable.test.tsx.snap diff --git a/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/index.ts b/src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/index.ts similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/index.ts rename to src/frontend/src/containers/tables/payments/PaymentRecordAndPaymentPeopleTable/index.ts diff --git a/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTable.test.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTable.test.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTable.test.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTable.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTable.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTable.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTable.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTableHeadCells.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTableHeadCells.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTableHeadCells.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTableRow.tsx b/src/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTableRow.tsx rename to src/frontend/src/containers/tables/payments/PaymentRecordTable/PaymentRecordTableRow.tsx diff --git a/frontend/src/containers/tables/payments/PaymentRecordTable/__snapshots__/PaymentRecordTable.test.tsx.snap b/src/frontend/src/containers/tables/payments/PaymentRecordTable/__snapshots__/PaymentRecordTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordTable/__snapshots__/PaymentRecordTable.test.tsx.snap rename to src/frontend/src/containers/tables/payments/PaymentRecordTable/__snapshots__/PaymentRecordTable.test.tsx.snap diff --git a/frontend/src/containers/tables/payments/PaymentRecordTable/index.ts b/src/frontend/src/containers/tables/payments/PaymentRecordTable/index.ts similarity index 100% rename from frontend/src/containers/tables/payments/PaymentRecordTable/index.ts rename to src/frontend/src/containers/tables/payments/PaymentRecordTable/index.ts diff --git a/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationFilters.tsx b/src/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationFilters.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationFilters.tsx rename to src/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationFilters.tsx diff --git a/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationHeadCells.tsx b/src/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationHeadCells.tsx rename to src/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationHeadCells.tsx diff --git a/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTable.test.tsx b/src/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTable.test.tsx rename to src/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTable.test.tsx diff --git a/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTable.tsx b/src/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTable.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTable.tsx rename to src/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTable.tsx diff --git a/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTableRow.tsx b/src/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTableRow.tsx rename to src/frontend/src/containers/tables/payments/PaymentVerificationTable/PaymentVerificationTableRow.tsx diff --git a/frontend/src/containers/tables/payments/PaymentVerificationTable/__snapshots__/PaymentVerificationTable.test.tsx.snap b/src/frontend/src/containers/tables/payments/PaymentVerificationTable/__snapshots__/PaymentVerificationTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/payments/PaymentVerificationTable/__snapshots__/PaymentVerificationTable.test.tsx.snap rename to src/frontend/src/containers/tables/payments/PaymentVerificationTable/__snapshots__/PaymentVerificationTable.test.tsx.snap diff --git a/frontend/src/containers/tables/payments/PaymentVerificationTable/index.tsx b/src/frontend/src/containers/tables/payments/PaymentVerificationTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/payments/PaymentVerificationTable/index.tsx rename to src/frontend/src/containers/tables/payments/PaymentVerificationTable/index.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsHeadCells.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsHeadCells.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsHeadCells.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsTable.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsTable.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsTable.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsTable.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsTableRow.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsTableRow.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationRecordsTableRow.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationsHeadCells.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationsHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationsHeadCells.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationsHeadCells.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationsTable.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationsTable.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationsTable.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/People/PeopleVerificationsTable.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsFilters.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsFilters.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsFilters.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsFilters.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsHeadCells.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsHeadCells.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsHeadCells.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTable.test.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTable.test.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTable.test.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTable.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTable.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTable.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTable.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTableRow.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTableRow.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationRecordsTableRow.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationsHeadCells.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationsHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationsHeadCells.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationsHeadCells.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationsTable.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationsTable.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationsTable.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/VerificationsTable.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/__snapshots__/VerificationRecordsTable.test.tsx.snap b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/__snapshots__/VerificationRecordsTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/__snapshots__/VerificationRecordsTable.test.tsx.snap rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/__snapshots__/VerificationRecordsTable.test.tsx.snap diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/errors/ImportErrors.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/errors/ImportErrors.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/errors/ImportErrors.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/errors/ImportErrors.tsx diff --git a/frontend/src/containers/tables/payments/VerificationRecordsTable/index.tsx b/src/frontend/src/containers/tables/payments/VerificationRecordsTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/payments/VerificationRecordsTable/index.tsx rename to src/frontend/src/containers/tables/payments/VerificationRecordsTable/index.tsx diff --git a/frontend/src/containers/tables/people/PeopleListTable/PeopleListTable.test.tsx b/src/frontend/src/containers/tables/people/PeopleListTable/PeopleListTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/people/PeopleListTable/PeopleListTable.test.tsx rename to src/frontend/src/containers/tables/people/PeopleListTable/PeopleListTable.test.tsx diff --git a/frontend/src/containers/tables/people/PeopleListTable/PeopleListTable.tsx b/src/frontend/src/containers/tables/people/PeopleListTable/PeopleListTable.tsx similarity index 100% rename from frontend/src/containers/tables/people/PeopleListTable/PeopleListTable.tsx rename to src/frontend/src/containers/tables/people/PeopleListTable/PeopleListTable.tsx diff --git a/frontend/src/containers/tables/people/PeopleListTable/PeopleListTableHeadCells.tsx b/src/frontend/src/containers/tables/people/PeopleListTable/PeopleListTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/people/PeopleListTable/PeopleListTableHeadCells.tsx rename to src/frontend/src/containers/tables/people/PeopleListTable/PeopleListTableHeadCells.tsx diff --git a/frontend/src/containers/tables/people/PeopleListTable/PeopleListTableRow.tsx b/src/frontend/src/containers/tables/people/PeopleListTable/PeopleListTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/people/PeopleListTable/PeopleListTableRow.tsx rename to src/frontend/src/containers/tables/people/PeopleListTable/PeopleListTableRow.tsx diff --git a/frontend/src/containers/tables/people/PeopleListTable/__snapshots__/PeopleListTable.test.tsx.snap b/src/frontend/src/containers/tables/people/PeopleListTable/__snapshots__/PeopleListTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/people/PeopleListTable/__snapshots__/PeopleListTable.test.tsx.snap rename to src/frontend/src/containers/tables/people/PeopleListTable/__snapshots__/PeopleListTable.test.tsx.snap diff --git a/frontend/src/containers/tables/people/PeopleListTable/index.ts b/src/frontend/src/containers/tables/people/PeopleListTable/index.ts similarity index 100% rename from frontend/src/containers/tables/people/PeopleListTable/index.ts rename to src/frontend/src/containers/tables/people/PeopleListTable/index.ts diff --git a/frontend/src/containers/tables/population/CollectorsTable/CollectorsTable.tsx b/src/frontend/src/containers/tables/population/CollectorsTable/CollectorsTable.tsx similarity index 100% rename from frontend/src/containers/tables/population/CollectorsTable/CollectorsTable.tsx rename to src/frontend/src/containers/tables/population/CollectorsTable/CollectorsTable.tsx diff --git a/frontend/src/containers/tables/population/CollectorsTable/index.ts b/src/frontend/src/containers/tables/population/CollectorsTable/index.ts similarity index 100% rename from frontend/src/containers/tables/population/CollectorsTable/index.ts rename to src/frontend/src/containers/tables/population/CollectorsTable/index.ts diff --git a/frontend/src/containers/tables/population/HouseholdCompositionTable/HouseholdCompositionTable.test.tsx b/src/frontend/src/containers/tables/population/HouseholdCompositionTable/HouseholdCompositionTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/population/HouseholdCompositionTable/HouseholdCompositionTable.test.tsx rename to src/frontend/src/containers/tables/population/HouseholdCompositionTable/HouseholdCompositionTable.test.tsx diff --git a/frontend/src/containers/tables/population/HouseholdCompositionTable/HouseholdCompositionTable.tsx b/src/frontend/src/containers/tables/population/HouseholdCompositionTable/HouseholdCompositionTable.tsx similarity index 100% rename from frontend/src/containers/tables/population/HouseholdCompositionTable/HouseholdCompositionTable.tsx rename to src/frontend/src/containers/tables/population/HouseholdCompositionTable/HouseholdCompositionTable.tsx diff --git a/frontend/src/containers/tables/population/HouseholdCompositionTable/__snapshots__/HouseholdCompositionTable.test.tsx.snap b/src/frontend/src/containers/tables/population/HouseholdCompositionTable/__snapshots__/HouseholdCompositionTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/population/HouseholdCompositionTable/__snapshots__/HouseholdCompositionTable.test.tsx.snap rename to src/frontend/src/containers/tables/population/HouseholdCompositionTable/__snapshots__/HouseholdCompositionTable.test.tsx.snap diff --git a/frontend/src/containers/tables/population/HouseholdCompositionTable/index.ts b/src/frontend/src/containers/tables/population/HouseholdCompositionTable/index.ts similarity index 100% rename from frontend/src/containers/tables/population/HouseholdCompositionTable/index.ts rename to src/frontend/src/containers/tables/population/HouseholdCompositionTable/index.ts diff --git a/frontend/src/containers/tables/population/HouseholdMembersTable/HouseholdMembersTable.tsx b/src/frontend/src/containers/tables/population/HouseholdMembersTable/HouseholdMembersTable.tsx similarity index 100% rename from frontend/src/containers/tables/population/HouseholdMembersTable/HouseholdMembersTable.tsx rename to src/frontend/src/containers/tables/population/HouseholdMembersTable/HouseholdMembersTable.tsx diff --git a/frontend/src/containers/tables/population/HouseholdMembersTable/index.ts b/src/frontend/src/containers/tables/population/HouseholdMembersTable/index.ts similarity index 100% rename from frontend/src/containers/tables/population/HouseholdMembersTable/index.ts rename to src/frontend/src/containers/tables/population/HouseholdMembersTable/index.ts diff --git a/frontend/src/containers/tables/population/HouseholdTable/HouseholdTable.test.tsx b/src/frontend/src/containers/tables/population/HouseholdTable/HouseholdTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/population/HouseholdTable/HouseholdTable.test.tsx rename to src/frontend/src/containers/tables/population/HouseholdTable/HouseholdTable.test.tsx diff --git a/frontend/src/containers/tables/population/HouseholdTable/HouseholdTable.tsx b/src/frontend/src/containers/tables/population/HouseholdTable/HouseholdTable.tsx similarity index 100% rename from frontend/src/containers/tables/population/HouseholdTable/HouseholdTable.tsx rename to src/frontend/src/containers/tables/population/HouseholdTable/HouseholdTable.tsx diff --git a/frontend/src/containers/tables/population/HouseholdTable/HouseholdTableHeadCells.tsx b/src/frontend/src/containers/tables/population/HouseholdTable/HouseholdTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/population/HouseholdTable/HouseholdTableHeadCells.tsx rename to src/frontend/src/containers/tables/population/HouseholdTable/HouseholdTableHeadCells.tsx diff --git a/frontend/src/containers/tables/population/HouseholdTable/HouseholdTableRow.tsx b/src/frontend/src/containers/tables/population/HouseholdTable/HouseholdTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/population/HouseholdTable/HouseholdTableRow.tsx rename to src/frontend/src/containers/tables/population/HouseholdTable/HouseholdTableRow.tsx diff --git a/frontend/src/containers/tables/population/HouseholdTable/__snapshots__/HouseholdTable.test.tsx.snap b/src/frontend/src/containers/tables/population/HouseholdTable/__snapshots__/HouseholdTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/population/HouseholdTable/__snapshots__/HouseholdTable.test.tsx.snap rename to src/frontend/src/containers/tables/population/HouseholdTable/__snapshots__/HouseholdTable.test.tsx.snap diff --git a/frontend/src/containers/tables/population/HouseholdTable/index.ts b/src/frontend/src/containers/tables/population/HouseholdTable/index.ts similarity index 100% rename from frontend/src/containers/tables/population/HouseholdTable/index.ts rename to src/frontend/src/containers/tables/population/HouseholdTable/index.ts diff --git a/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTable.test.tsx b/src/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTable.test.tsx rename to src/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTable.test.tsx diff --git a/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTable.tsx b/src/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTable.tsx similarity index 100% rename from frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTable.tsx rename to src/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTable.tsx diff --git a/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTableHeadCells.tsx b/src/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTableHeadCells.tsx rename to src/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTableHeadCells.tsx diff --git a/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTableRow.tsx b/src/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTableRow.tsx rename to src/frontend/src/containers/tables/population/IndividualsListTable/IndividualsListTableRow.tsx diff --git a/frontend/src/containers/tables/population/IndividualsListTable/__snapshots__/IndividualsListTable.test.tsx.snap b/src/frontend/src/containers/tables/population/IndividualsListTable/__snapshots__/IndividualsListTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/population/IndividualsListTable/__snapshots__/IndividualsListTable.test.tsx.snap rename to src/frontend/src/containers/tables/population/IndividualsListTable/__snapshots__/IndividualsListTable.test.tsx.snap diff --git a/frontend/src/containers/tables/population/IndividualsListTable/index.ts b/src/frontend/src/containers/tables/population/IndividualsListTable/index.ts similarity index 100% rename from frontend/src/containers/tables/population/IndividualsListTable/index.ts rename to src/frontend/src/containers/tables/population/IndividualsListTable/index.ts diff --git a/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/HouseholdImportedIndividualsTable.test.tsx b/src/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/HouseholdImportedIndividualsTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/HouseholdImportedIndividualsTable.test.tsx rename to src/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/HouseholdImportedIndividualsTable.test.tsx diff --git a/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/HouseholdImportedIndividualsTable.tsx b/src/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/HouseholdImportedIndividualsTable.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/HouseholdImportedIndividualsTable.tsx rename to src/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/HouseholdImportedIndividualsTable.tsx diff --git a/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/__snapshots__/HouseholdImportedIndividualsTable.test.tsx.snap b/src/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/__snapshots__/HouseholdImportedIndividualsTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/__snapshots__/HouseholdImportedIndividualsTable.test.tsx.snap rename to src/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/__snapshots__/HouseholdImportedIndividualsTable.test.tsx.snap diff --git a/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/index.ts b/src/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/index.ts similarity index 100% rename from frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/index.ts rename to src/frontend/src/containers/tables/rdi/HouseholdImportedIndividualsTable/index.ts diff --git a/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTable.test.tsx b/src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTable.test.tsx rename to src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTable.test.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTable.tsx b/src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTable.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTable.tsx rename to src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTable.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTableHeadCells.tsx b/src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTableHeadCells.tsx rename to src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTableHeadCells.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTableRow.tsx b/src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTableRow.tsx rename to src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/ImportedHouseholdTableRow.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/MergedHouseholdTableHeadCells.tsx b/src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/MergedHouseholdTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedHouseholdsTable/MergedHouseholdTableHeadCells.tsx rename to src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/MergedHouseholdTableHeadCells.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/__snapshots__/ImportedHouseholdTable.test.tsx.snap b/src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/__snapshots__/ImportedHouseholdTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedHouseholdsTable/__snapshots__/ImportedHouseholdTable.test.tsx.snap rename to src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/__snapshots__/ImportedHouseholdTable.test.tsx.snap diff --git a/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/index.ts b/src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/index.ts similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedHouseholdsTable/index.ts rename to src/frontend/src/containers/tables/rdi/ImportedHouseholdsTable/index.ts diff --git a/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTable.test.tsx b/src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTable.test.tsx rename to src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTable.test.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTable.tsx b/src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTable.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTable.tsx rename to src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTable.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTableHeadCells.tsx b/src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTableHeadCells.tsx rename to src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTableHeadCells.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTableRow.tsx b/src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTableRow.tsx rename to src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/ImportedIndividualsTableRow.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedIndividualsTable/MergedIndividualsTableHeadCells.tsx b/src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/MergedIndividualsTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedIndividualsTable/MergedIndividualsTableHeadCells.tsx rename to src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/MergedIndividualsTableHeadCells.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedIndividualsTable/__snapshots__/ImportedIndividualsTable.test.tsx.snap b/src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/__snapshots__/ImportedIndividualsTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedIndividualsTable/__snapshots__/ImportedIndividualsTable.test.tsx.snap rename to src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/__snapshots__/ImportedIndividualsTable.test.tsx.snap diff --git a/frontend/src/containers/tables/rdi/ImportedIndividualsTable/index.ts b/src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/index.ts similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedIndividualsTable/index.ts rename to src/frontend/src/containers/tables/rdi/ImportedIndividualsTable/index.ts diff --git a/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTable.test.tsx b/src/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTable.test.tsx rename to src/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTable.test.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTable.tsx b/src/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTable.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTable.tsx rename to src/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTable.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTableHeadCells.tsx b/src/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTableHeadCells.tsx rename to src/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTableHeadCells.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTableRow.tsx b/src/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTableRow.tsx rename to src/frontend/src/containers/tables/rdi/ImportedPeopleTable/ImportedPeopleTableRow.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedPeopleTable/MergedPeopleTableHeadCells.tsx b/src/frontend/src/containers/tables/rdi/ImportedPeopleTable/MergedPeopleTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedPeopleTable/MergedPeopleTableHeadCells.tsx rename to src/frontend/src/containers/tables/rdi/ImportedPeopleTable/MergedPeopleTableHeadCells.tsx diff --git a/frontend/src/containers/tables/rdi/ImportedPeopleTable/__snapshots__/ImportedPeopleTable.test.tsx.snap b/src/frontend/src/containers/tables/rdi/ImportedPeopleTable/__snapshots__/ImportedPeopleTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedPeopleTable/__snapshots__/ImportedPeopleTable.test.tsx.snap rename to src/frontend/src/containers/tables/rdi/ImportedPeopleTable/__snapshots__/ImportedPeopleTable.test.tsx.snap diff --git a/frontend/src/containers/tables/rdi/ImportedPeopleTable/index.ts b/src/frontend/src/containers/tables/rdi/ImportedPeopleTable/index.ts similarity index 100% rename from frontend/src/containers/tables/rdi/ImportedPeopleTable/index.ts rename to src/frontend/src/containers/tables/rdi/ImportedPeopleTable/index.ts diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTable.test.tsx b/src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTable.test.tsx rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTable.test.tsx diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTable.tsx b/src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTable.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTable.tsx rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTable.tsx diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTableHeadCells.tsx b/src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTableHeadCells.tsx rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTableHeadCells.tsx diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTableRow.tsx b/src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTableRow.tsx rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/RegistrationDataImportForPeopleTableRow.tsx diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/__snapshots__/RegistrationDataImportForPeopleTable.test.tsx.snap b/src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/__snapshots__/RegistrationDataImportForPeopleTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/__snapshots__/RegistrationDataImportForPeopleTable.test.tsx.snap rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/__snapshots__/RegistrationDataImportForPeopleTable.test.tsx.snap diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/index.ts b/src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/index.ts similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/index.ts rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportForPeopleTable/index.ts diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTable.test.tsx b/src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTable.test.tsx rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTable.test.tsx diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTable.tsx b/src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTable.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTable.tsx rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTable.tsx diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTableHeadCells.tsx b/src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTableHeadCells.tsx rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTableHeadCells.tsx diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTableRow.tsx b/src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTableRow.tsx rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/RegistrationDataImportTableRow.tsx diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportTable/__snapshots__/RegistrationDataImportTable.test.tsx.snap b/src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/__snapshots__/RegistrationDataImportTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportTable/__snapshots__/RegistrationDataImportTable.test.tsx.snap rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/__snapshots__/RegistrationDataImportTable.test.tsx.snap diff --git a/frontend/src/containers/tables/rdi/RegistrationDataImportTable/index.ts b/src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/index.ts similarity index 100% rename from frontend/src/containers/tables/rdi/RegistrationDataImportTable/index.ts rename to src/frontend/src/containers/tables/rdi/RegistrationDataImportTable/index.ts diff --git a/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/FlexFieldsTable.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/FlexFieldsTable.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/FlexFieldsTable.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/FlexFieldsTable.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/HeadCells.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/HeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/HeadCells.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/HeadCells.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/TableRow.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/TableRow.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/TableRow.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/TableRow.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/index.ts b/src/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/index.ts similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/index.ts rename to src/frontend/src/containers/tables/targeting/TargetPopulation/FlexFields/index.ts diff --git a/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTable.test.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTable.test.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTable.test.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTable.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTable.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTable.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTable.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTableHeadCells.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTableHeadCells.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTableHeadCells.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTableRow.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTableRow.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/TargetPopulationForPeopleTableRow.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/__snapshots__/TargetPopulationForPeopleTable.test.tsx.snap b/src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/__snapshots__/TargetPopulationForPeopleTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/__snapshots__/TargetPopulationForPeopleTable.test.tsx.snap rename to src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/__snapshots__/TargetPopulationForPeopleTable.test.tsx.snap diff --git a/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/index.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/index.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationForPeopleTable/index.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdHeadCells.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdHeadCells.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdHeadCells.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdRow.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdRow.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdRow.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdRow.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdTable.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdTable.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdTable.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/TargetPopulationHouseholdTable.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/index.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/index.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationHouseholdTable/index.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleHeadCells.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleHeadCells.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleHeadCells.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleRow.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleRow.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleRow.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleRow.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleTable.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleTable.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleTable.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/TargetPopulationPeopleTable.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/index.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/index.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationPeopleTable/index.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTable.test.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTable.test.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTable.test.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTable.test.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTable.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTable.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTable.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTable.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTableHeadCells.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTableHeadCells.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTableHeadCells.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTableHeadCells.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTableRow.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTableRow.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTableRow.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationTable/TargetPopulationTableRow.tsx diff --git a/frontend/src/containers/tables/targeting/TargetPopulationTable/__snapshots__/TargetPopulationTable.test.tsx.snap b/src/frontend/src/containers/tables/targeting/TargetPopulationTable/__snapshots__/TargetPopulationTable.test.tsx.snap similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationTable/__snapshots__/TargetPopulationTable.test.tsx.snap rename to src/frontend/src/containers/tables/targeting/TargetPopulationTable/__snapshots__/TargetPopulationTable.test.tsx.snap diff --git a/frontend/src/containers/tables/targeting/TargetPopulationTable/index.tsx b/src/frontend/src/containers/tables/targeting/TargetPopulationTable/index.tsx similarity index 100% rename from frontend/src/containers/tables/targeting/TargetPopulationTable/index.tsx rename to src/frontend/src/containers/tables/targeting/TargetPopulationTable/index.tsx diff --git a/frontend/src/global.css b/src/frontend/src/global.css similarity index 100% rename from frontend/src/global.css rename to src/frontend/src/global.css diff --git a/frontend/src/hooks/useArrayToDict.ts b/src/frontend/src/hooks/useArrayToDict.ts similarity index 100% rename from frontend/src/hooks/useArrayToDict.ts rename to src/frontend/src/hooks/useArrayToDict.ts diff --git a/frontend/src/hooks/useBackendVersion.ts b/src/frontend/src/hooks/useBackendVersion.ts similarity index 100% rename from frontend/src/hooks/useBackendVersion.ts rename to src/frontend/src/hooks/useBackendVersion.ts diff --git a/frontend/src/hooks/useBaseUrl.ts b/src/frontend/src/hooks/useBaseUrl.ts similarity index 100% rename from frontend/src/hooks/useBaseUrl.ts rename to src/frontend/src/hooks/useBaseUrl.ts diff --git a/frontend/src/hooks/useBusinessArea.ts b/src/frontend/src/hooks/useBusinessArea.ts similarity index 100% rename from frontend/src/hooks/useBusinessArea.ts rename to src/frontend/src/hooks/useBusinessArea.ts diff --git a/frontend/src/hooks/useCachedImportedIndividualFields.ts b/src/frontend/src/hooks/useCachedImportedIndividualFields.ts similarity index 100% rename from frontend/src/hooks/useCachedImportedIndividualFields.ts rename to src/frontend/src/hooks/useCachedImportedIndividualFields.ts diff --git a/frontend/src/hooks/useCachedMe.ts b/src/frontend/src/hooks/useCachedMe.ts similarity index 100% rename from frontend/src/hooks/useCachedMe.ts rename to src/frontend/src/hooks/useCachedMe.ts diff --git a/frontend/src/hooks/useDebounce.ts b/src/frontend/src/hooks/useDebounce.ts similarity index 100% rename from frontend/src/hooks/useDebounce.ts rename to src/frontend/src/hooks/useDebounce.ts diff --git a/frontend/src/hooks/useFrontendVersion.ts b/src/frontend/src/hooks/useFrontendVersion.ts similarity index 100% rename from frontend/src/hooks/useFrontendVersion.ts rename to src/frontend/src/hooks/useFrontendVersion.ts diff --git a/frontend/src/hooks/useGlobalProgram.ts b/src/frontend/src/hooks/useGlobalProgram.ts similarity index 100% rename from frontend/src/hooks/useGlobalProgram.ts rename to src/frontend/src/hooks/useGlobalProgram.ts diff --git a/frontend/src/hooks/useInterval.ts b/src/frontend/src/hooks/useInterval.ts similarity index 100% rename from frontend/src/hooks/useInterval.ts rename to src/frontend/src/hooks/useInterval.ts diff --git a/frontend/src/hooks/usePassFunctionFromChild.ts b/src/frontend/src/hooks/usePassFunctionFromChild.ts similarity index 100% rename from frontend/src/hooks/usePassFunctionFromChild.ts rename to src/frontend/src/hooks/usePassFunctionFromChild.ts diff --git a/frontend/src/hooks/usePaymentPlanAction.ts b/src/frontend/src/hooks/usePaymentPlanAction.ts similarity index 100% rename from frontend/src/hooks/usePaymentPlanAction.ts rename to src/frontend/src/hooks/usePaymentPlanAction.ts diff --git a/frontend/src/hooks/usePaymentRefetchQueries.ts b/src/frontend/src/hooks/usePaymentRefetchQueries.ts similarity index 100% rename from frontend/src/hooks/usePaymentRefetchQueries.ts rename to src/frontend/src/hooks/usePaymentRefetchQueries.ts diff --git a/frontend/src/hooks/usePermissions.ts b/src/frontend/src/hooks/usePermissions.ts similarity index 100% rename from frontend/src/hooks/usePermissions.ts rename to src/frontend/src/hooks/usePermissions.ts diff --git a/frontend/src/hooks/useSnackBar.tsx b/src/frontend/src/hooks/useSnackBar.tsx similarity index 100% rename from frontend/src/hooks/useSnackBar.tsx rename to src/frontend/src/hooks/useSnackBar.tsx diff --git a/frontend/src/i18n.js b/src/frontend/src/i18n.js similarity index 100% rename from frontend/src/i18n.js rename to src/frontend/src/i18n.js diff --git a/frontend/src/images/logo-transparent.png b/src/frontend/src/images/logo-transparent.png similarity index 100% rename from frontend/src/images/logo-transparent.png rename to src/frontend/src/images/logo-transparent.png diff --git a/frontend/src/images/logo-with-subtitle-transparent.png b/src/frontend/src/images/logo-with-subtitle-transparent.png similarity index 100% rename from frontend/src/images/logo-with-subtitle-transparent.png rename to src/frontend/src/images/logo-with-subtitle-transparent.png diff --git a/frontend/src/images/logo-with-subtitle.jpg b/src/frontend/src/images/logo-with-subtitle.jpg similarity index 100% rename from frontend/src/images/logo-with-subtitle.jpg rename to src/frontend/src/images/logo-with-subtitle.jpg diff --git a/frontend/src/images/logo.jpg b/src/frontend/src/images/logo.jpg similarity index 100% rename from frontend/src/images/logo.jpg rename to src/frontend/src/images/logo.jpg diff --git a/frontend/src/index.css b/src/frontend/src/index.css similarity index 100% rename from frontend/src/index.css rename to src/frontend/src/index.css diff --git a/frontend/src/index.d.ts b/src/frontend/src/index.d.ts similarity index 100% rename from frontend/src/index.d.ts rename to src/frontend/src/index.d.ts diff --git a/frontend/src/main.tsx b/src/frontend/src/main.tsx similarity index 100% rename from frontend/src/main.tsx rename to src/frontend/src/main.tsx diff --git a/frontend/src/programContext.tsx b/src/frontend/src/programContext.tsx similarity index 100% rename from frontend/src/programContext.tsx rename to src/frontend/src/programContext.tsx diff --git a/frontend/src/providers.tsx b/src/frontend/src/providers.tsx similarity index 100% rename from frontend/src/providers.tsx rename to src/frontend/src/providers.tsx diff --git a/frontend/src/react-app-env.d.ts b/src/frontend/src/react-app-env.d.ts similarity index 100% rename from frontend/src/react-app-env.d.ts rename to src/frontend/src/react-app-env.d.ts diff --git a/frontend/src/serviceWorker.ts b/src/frontend/src/serviceWorker.ts similarity index 100% rename from frontend/src/serviceWorker.ts rename to src/frontend/src/serviceWorker.ts diff --git a/frontend/src/shared/Formik/FormikAdminAreaAutocomplete/FormikAdminAreaAutocomplete.tsx b/src/frontend/src/shared/Formik/FormikAdminAreaAutocomplete/FormikAdminAreaAutocomplete.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikAdminAreaAutocomplete/FormikAdminAreaAutocomplete.tsx rename to src/frontend/src/shared/Formik/FormikAdminAreaAutocomplete/FormikAdminAreaAutocomplete.tsx diff --git a/frontend/src/shared/Formik/FormikAdminAreaAutocomplete/FormikAdminAreaAutocompleteMultiple.tsx b/src/frontend/src/shared/Formik/FormikAdminAreaAutocomplete/FormikAdminAreaAutocompleteMultiple.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikAdminAreaAutocomplete/FormikAdminAreaAutocompleteMultiple.tsx rename to src/frontend/src/shared/Formik/FormikAdminAreaAutocomplete/FormikAdminAreaAutocompleteMultiple.tsx diff --git a/frontend/src/shared/Formik/FormikAdminAreaAutocomplete/index.ts b/src/frontend/src/shared/Formik/FormikAdminAreaAutocomplete/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikAdminAreaAutocomplete/index.ts rename to src/frontend/src/shared/Formik/FormikAdminAreaAutocomplete/index.ts diff --git a/frontend/src/shared/Formik/FormikAsyncAutocomplete/FormikAsyncAutocomplete.tsx b/src/frontend/src/shared/Formik/FormikAsyncAutocomplete/FormikAsyncAutocomplete.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikAsyncAutocomplete/FormikAsyncAutocomplete.tsx rename to src/frontend/src/shared/Formik/FormikAsyncAutocomplete/FormikAsyncAutocomplete.tsx diff --git a/frontend/src/shared/Formik/FormikAsyncAutocomplete/index.ts b/src/frontend/src/shared/Formik/FormikAsyncAutocomplete/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikAsyncAutocomplete/index.ts rename to src/frontend/src/shared/Formik/FormikAsyncAutocomplete/index.ts diff --git a/frontend/src/shared/Formik/FormikAutocomplete/FormikAutocomplete.tsx b/src/frontend/src/shared/Formik/FormikAutocomplete/FormikAutocomplete.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikAutocomplete/FormikAutocomplete.tsx rename to src/frontend/src/shared/Formik/FormikAutocomplete/FormikAutocomplete.tsx diff --git a/frontend/src/shared/Formik/FormikAutocomplete/index.ts b/src/frontend/src/shared/Formik/FormikAutocomplete/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikAutocomplete/index.ts rename to src/frontend/src/shared/Formik/FormikAutocomplete/index.ts diff --git a/frontend/src/shared/Formik/FormikCheckboxField/FormikCheckboxField.tsx b/src/frontend/src/shared/Formik/FormikCheckboxField/FormikCheckboxField.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikCheckboxField/FormikCheckboxField.tsx rename to src/frontend/src/shared/Formik/FormikCheckboxField/FormikCheckboxField.tsx diff --git a/frontend/src/shared/Formik/FormikCheckboxField/index.ts b/src/frontend/src/shared/Formik/FormikCheckboxField/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikCheckboxField/index.ts rename to src/frontend/src/shared/Formik/FormikCheckboxField/index.ts diff --git a/frontend/src/shared/Formik/FormikCheckboxGroup/FormikCheckboxGroup.tsx b/src/frontend/src/shared/Formik/FormikCheckboxGroup/FormikCheckboxGroup.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikCheckboxGroup/FormikCheckboxGroup.tsx rename to src/frontend/src/shared/Formik/FormikCheckboxGroup/FormikCheckboxGroup.tsx diff --git a/frontend/src/shared/Formik/FormikCheckboxGroup/index.ts b/src/frontend/src/shared/Formik/FormikCheckboxGroup/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikCheckboxGroup/index.ts rename to src/frontend/src/shared/Formik/FormikCheckboxGroup/index.ts diff --git a/frontend/src/shared/Formik/FormikCurrencyAutocomplete/FormikCurrencyAutocomplete.tsx b/src/frontend/src/shared/Formik/FormikCurrencyAutocomplete/FormikCurrencyAutocomplete.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikCurrencyAutocomplete/FormikCurrencyAutocomplete.tsx rename to src/frontend/src/shared/Formik/FormikCurrencyAutocomplete/FormikCurrencyAutocomplete.tsx diff --git a/frontend/src/shared/Formik/FormikCurrencyAutocomplete/index.ts b/src/frontend/src/shared/Formik/FormikCurrencyAutocomplete/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikCurrencyAutocomplete/index.ts rename to src/frontend/src/shared/Formik/FormikCurrencyAutocomplete/index.ts diff --git a/frontend/src/shared/Formik/FormikDateField/FormikDateField.tsx b/src/frontend/src/shared/Formik/FormikDateField/FormikDateField.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikDateField/FormikDateField.tsx rename to src/frontend/src/shared/Formik/FormikDateField/FormikDateField.tsx diff --git a/frontend/src/shared/Formik/FormikDateField/index.ts b/src/frontend/src/shared/Formik/FormikDateField/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikDateField/index.ts rename to src/frontend/src/shared/Formik/FormikDateField/index.ts diff --git a/frontend/src/shared/Formik/FormikDecimalField/FormikDecimalField.tsx b/src/frontend/src/shared/Formik/FormikDecimalField/FormikDecimalField.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikDecimalField/FormikDecimalField.tsx rename to src/frontend/src/shared/Formik/FormikDecimalField/FormikDecimalField.tsx diff --git a/frontend/src/shared/Formik/FormikDecimalField/index.ts b/src/frontend/src/shared/Formik/FormikDecimalField/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikDecimalField/index.ts rename to src/frontend/src/shared/Formik/FormikDecimalField/index.ts diff --git a/frontend/src/shared/Formik/FormikFileField/FormikFileField.tsx b/src/frontend/src/shared/Formik/FormikFileField/FormikFileField.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikFileField/FormikFileField.tsx rename to src/frontend/src/shared/Formik/FormikFileField/FormikFileField.tsx diff --git a/frontend/src/shared/Formik/FormikFileField/index.ts b/src/frontend/src/shared/Formik/FormikFileField/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikFileField/index.ts rename to src/frontend/src/shared/Formik/FormikFileField/index.ts diff --git a/frontend/src/shared/Formik/FormikMultiSelectField/FormikMultiSelectField.tsx b/src/frontend/src/shared/Formik/FormikMultiSelectField/FormikMultiSelectField.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikMultiSelectField/FormikMultiSelectField.tsx rename to src/frontend/src/shared/Formik/FormikMultiSelectField/FormikMultiSelectField.tsx diff --git a/frontend/src/shared/Formik/FormikMultiSelectField/index.ts b/src/frontend/src/shared/Formik/FormikMultiSelectField/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikMultiSelectField/index.ts rename to src/frontend/src/shared/Formik/FormikMultiSelectField/index.ts diff --git a/frontend/src/shared/Formik/FormikRadioGroup/FormikRadioGroup.tsx b/src/frontend/src/shared/Formik/FormikRadioGroup/FormikRadioGroup.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikRadioGroup/FormikRadioGroup.tsx rename to src/frontend/src/shared/Formik/FormikRadioGroup/FormikRadioGroup.tsx diff --git a/frontend/src/shared/Formik/FormikRadioGroup/index.ts b/src/frontend/src/shared/Formik/FormikRadioGroup/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikRadioGroup/index.ts rename to src/frontend/src/shared/Formik/FormikRadioGroup/index.ts diff --git a/frontend/src/shared/Formik/FormikSelectField/FormikSelectField.tsx b/src/frontend/src/shared/Formik/FormikSelectField/FormikSelectField.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikSelectField/FormikSelectField.tsx rename to src/frontend/src/shared/Formik/FormikSelectField/FormikSelectField.tsx diff --git a/frontend/src/shared/Formik/FormikSelectField/index.ts b/src/frontend/src/shared/Formik/FormikSelectField/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikSelectField/index.ts rename to src/frontend/src/shared/Formik/FormikSelectField/index.ts diff --git a/frontend/src/shared/Formik/FormikSliderField/FormikSliderField.tsx b/src/frontend/src/shared/Formik/FormikSliderField/FormikSliderField.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikSliderField/FormikSliderField.tsx rename to src/frontend/src/shared/Formik/FormikSliderField/FormikSliderField.tsx diff --git a/frontend/src/shared/Formik/FormikSliderField/index.ts b/src/frontend/src/shared/Formik/FormikSliderField/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikSliderField/index.ts rename to src/frontend/src/shared/Formik/FormikSliderField/index.ts diff --git a/frontend/src/shared/Formik/FormikSwitchField/FormikSwitchField.tsx b/src/frontend/src/shared/Formik/FormikSwitchField/FormikSwitchField.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikSwitchField/FormikSwitchField.tsx rename to src/frontend/src/shared/Formik/FormikSwitchField/FormikSwitchField.tsx diff --git a/frontend/src/shared/Formik/FormikSwitchField/index.ts b/src/frontend/src/shared/Formik/FormikSwitchField/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikSwitchField/index.ts rename to src/frontend/src/shared/Formik/FormikSwitchField/index.ts diff --git a/frontend/src/shared/Formik/FormikTextField/FormikTextField.tsx b/src/frontend/src/shared/Formik/FormikTextField/FormikTextField.tsx similarity index 100% rename from frontend/src/shared/Formik/FormikTextField/FormikTextField.tsx rename to src/frontend/src/shared/Formik/FormikTextField/FormikTextField.tsx diff --git a/frontend/src/shared/Formik/FormikTextField/index.ts b/src/frontend/src/shared/Formik/FormikTextField/index.ts similarity index 100% rename from frontend/src/shared/Formik/FormikTextField/index.ts rename to src/frontend/src/shared/Formik/FormikTextField/index.ts diff --git a/frontend/src/shared/StyledTextField.tsx b/src/frontend/src/shared/StyledTextField.tsx similarity index 100% rename from frontend/src/shared/StyledTextField.tsx rename to src/frontend/src/shared/StyledTextField.tsx diff --git a/frontend/src/shared/autocompletes/AdminAreaAutocomplete.tsx b/src/frontend/src/shared/autocompletes/AdminAreaAutocomplete.tsx similarity index 100% rename from frontend/src/shared/autocompletes/AdminAreaAutocomplete.tsx rename to src/frontend/src/shared/autocompletes/AdminAreaAutocomplete.tsx diff --git a/frontend/src/shared/autocompletes/AdminAreaAutocompleteMultiple.tsx b/src/frontend/src/shared/autocompletes/AdminAreaAutocompleteMultiple.tsx similarity index 100% rename from frontend/src/shared/autocompletes/AdminAreaAutocompleteMultiple.tsx rename to src/frontend/src/shared/autocompletes/AdminAreaAutocompleteMultiple.tsx diff --git a/frontend/src/shared/autocompletes/AdminAreaFixedAutocomplete.tsx b/src/frontend/src/shared/autocompletes/AdminAreaFixedAutocomplete.tsx similarity index 100% rename from frontend/src/shared/autocompletes/AdminAreaFixedAutocomplete.tsx rename to src/frontend/src/shared/autocompletes/AdminAreaFixedAutocomplete.tsx diff --git a/frontend/src/shared/autocompletes/AssigneeAutocomplete.tsx b/src/frontend/src/shared/autocompletes/AssigneeAutocomplete.tsx similarity index 100% rename from frontend/src/shared/autocompletes/AssigneeAutocomplete.tsx rename to src/frontend/src/shared/autocompletes/AssigneeAutocomplete.tsx diff --git a/frontend/src/shared/autocompletes/BaseAutocomplete.tsx b/src/frontend/src/shared/autocompletes/BaseAutocomplete.tsx similarity index 100% rename from frontend/src/shared/autocompletes/BaseAutocomplete.tsx rename to src/frontend/src/shared/autocompletes/BaseAutocomplete.tsx diff --git a/frontend/src/shared/autocompletes/CreatedByAutocomplete.tsx b/src/frontend/src/shared/autocompletes/CreatedByAutocomplete.tsx similarity index 100% rename from frontend/src/shared/autocompletes/CreatedByAutocomplete.tsx rename to src/frontend/src/shared/autocompletes/CreatedByAutocomplete.tsx diff --git a/frontend/src/shared/autocompletes/LanguageAutocomplete.tsx b/src/frontend/src/shared/autocompletes/LanguageAutocomplete.tsx similarity index 100% rename from frontend/src/shared/autocompletes/LanguageAutocomplete.tsx rename to src/frontend/src/shared/autocompletes/LanguageAutocomplete.tsx diff --git a/frontend/src/shared/autocompletes/ProgramAutocomplete.tsx b/src/frontend/src/shared/autocompletes/ProgramAutocomplete.tsx similarity index 100% rename from frontend/src/shared/autocompletes/ProgramAutocomplete.tsx rename to src/frontend/src/shared/autocompletes/ProgramAutocomplete.tsx diff --git a/frontend/src/shared/autocompletes/RdiAutocomplete.tsx b/src/frontend/src/shared/autocompletes/RdiAutocomplete.tsx similarity index 100% rename from frontend/src/shared/autocompletes/RdiAutocomplete.tsx rename to src/frontend/src/shared/autocompletes/RdiAutocomplete.tsx diff --git a/frontend/src/shared/autocompletes/StyledAutocomplete.tsx b/src/frontend/src/shared/autocompletes/StyledAutocomplete.tsx similarity index 100% rename from frontend/src/shared/autocompletes/StyledAutocomplete.tsx rename to src/frontend/src/shared/autocompletes/StyledAutocomplete.tsx diff --git a/frontend/src/shared/autocompletes/TargetPopulationAutocomplete.tsx b/src/frontend/src/shared/autocompletes/TargetPopulationAutocomplete.tsx similarity index 100% rename from frontend/src/shared/autocompletes/TargetPopulationAutocomplete.tsx rename to src/frontend/src/shared/autocompletes/TargetPopulationAutocomplete.tsx diff --git a/frontend/src/shared/autocompletes/rest/AdminAreaAutocompleteMultipleRest.tsx b/src/frontend/src/shared/autocompletes/rest/AdminAreaAutocompleteMultipleRest.tsx similarity index 100% rename from frontend/src/shared/autocompletes/rest/AdminAreaAutocompleteMultipleRest.tsx rename to src/frontend/src/shared/autocompletes/rest/AdminAreaAutocompleteMultipleRest.tsx diff --git a/frontend/src/shared/autocompletes/rest/BaseAutocompleteRest.tsx b/src/frontend/src/shared/autocompletes/rest/BaseAutocompleteRest.tsx similarity index 100% rename from frontend/src/shared/autocompletes/rest/BaseAutocompleteRest.tsx rename to src/frontend/src/shared/autocompletes/rest/BaseAutocompleteRest.tsx diff --git a/frontend/src/shared/autocompletes/rest/ProgramCycleAutocompleteRest.tsx b/src/frontend/src/shared/autocompletes/rest/ProgramCycleAutocompleteRest.tsx similarity index 100% rename from frontend/src/shared/autocompletes/rest/ProgramCycleAutocompleteRest.tsx rename to src/frontend/src/shared/autocompletes/rest/ProgramCycleAutocompleteRest.tsx diff --git a/frontend/src/shared/autocompletes/rest/RdiAutocompleteRest.tsx b/src/frontend/src/shared/autocompletes/rest/RdiAutocompleteRest.tsx similarity index 100% rename from frontend/src/shared/autocompletes/rest/RdiAutocompleteRest.tsx rename to src/frontend/src/shared/autocompletes/rest/RdiAutocompleteRest.tsx diff --git a/frontend/src/shared/autocompletes/rest/TargetPopulationAutocompleteRest.tsx b/src/frontend/src/shared/autocompletes/rest/TargetPopulationAutocompleteRest.tsx similarity index 100% rename from frontend/src/shared/autocompletes/rest/TargetPopulationAutocompleteRest.tsx rename to src/frontend/src/shared/autocompletes/rest/TargetPopulationAutocompleteRest.tsx diff --git a/frontend/src/testUtils/testProviders.tsx b/src/frontend/src/testUtils/testProviders.tsx similarity index 100% rename from frontend/src/testUtils/testProviders.tsx rename to src/frontend/src/testUtils/testProviders.tsx diff --git a/frontend/src/testUtils/testUtils.tsx b/src/frontend/src/testUtils/testUtils.tsx similarity index 100% rename from frontend/src/testUtils/testUtils.tsx rename to src/frontend/src/testUtils/testUtils.tsx diff --git a/frontend/src/theme.ts b/src/frontend/src/theme.ts similarity index 100% rename from frontend/src/theme.ts rename to src/frontend/src/theme.ts diff --git a/frontend/src/utils/constants.ts b/src/frontend/src/utils/constants.ts similarity index 100% rename from frontend/src/utils/constants.ts rename to src/frontend/src/utils/constants.ts diff --git a/frontend/src/utils/en.json b/src/frontend/src/utils/en.json similarity index 100% rename from frontend/src/utils/en.json rename to src/frontend/src/utils/en.json diff --git a/frontend/src/utils/targetingUtils.ts b/src/frontend/src/utils/targetingUtils.ts similarity index 100% rename from frontend/src/utils/targetingUtils.ts rename to src/frontend/src/utils/targetingUtils.ts diff --git a/frontend/src/utils/utils.ts b/src/frontend/src/utils/utils.ts similarity index 100% rename from frontend/src/utils/utils.ts rename to src/frontend/src/utils/utils.ts diff --git a/frontend/src/vite-env.d.ts b/src/frontend/src/vite-env.d.ts similarity index 100% rename from frontend/src/vite-env.d.ts rename to src/frontend/src/vite-env.d.ts diff --git a/frontend/tsconfig.json b/src/frontend/tsconfig.json similarity index 100% rename from frontend/tsconfig.json rename to src/frontend/tsconfig.json diff --git a/frontend/tsconfig.node.json b/src/frontend/tsconfig.node.json similarity index 100% rename from frontend/tsconfig.node.json rename to src/frontend/tsconfig.node.json diff --git a/frontend/vite.config.ts b/src/frontend/vite.config.ts similarity index 100% rename from frontend/vite.config.ts rename to src/frontend/vite.config.ts diff --git a/frontend/yarn.lock b/src/frontend/yarn.lock similarity index 100% rename from frontend/yarn.lock rename to src/frontend/yarn.lock diff --git a/backend/gunicorn_config.py b/src/gunicorn_config.py similarity index 100% rename from backend/gunicorn_config.py rename to src/gunicorn_config.py diff --git a/backend/hct_mis_api/__init__.py b/src/hct_mis_api/__init__.py similarity index 100% rename from backend/hct_mis_api/__init__.py rename to src/hct_mis_api/__init__.py diff --git a/backend/hct_mis_api/api/migrations/__init__.py b/src/hct_mis_api/api/__init__.py similarity index 100% rename from backend/hct_mis_api/api/migrations/__init__.py rename to src/hct_mis_api/api/__init__.py diff --git a/backend/hct_mis_api/api/admin.py b/src/hct_mis_api/api/admin.py similarity index 100% rename from backend/hct_mis_api/api/admin.py rename to src/hct_mis_api/api/admin.py diff --git a/backend/hct_mis_api/api/auth.py b/src/hct_mis_api/api/auth.py similarity index 100% rename from backend/hct_mis_api/api/auth.py rename to src/hct_mis_api/api/auth.py diff --git a/backend/hct_mis_api/api/caches.py b/src/hct_mis_api/api/caches.py similarity index 100% rename from backend/hct_mis_api/api/caches.py rename to src/hct_mis_api/api/caches.py diff --git a/backend/hct_mis_api/api/endpoints/__init__.py b/src/hct_mis_api/api/endpoints/__init__.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/__init__.py rename to src/hct_mis_api/api/endpoints/__init__.py diff --git a/backend/hct_mis_api/api/endpoints/base.py b/src/hct_mis_api/api/endpoints/base.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/base.py rename to src/hct_mis_api/api/endpoints/base.py diff --git a/backend/hct_mis_api/api/endpoints/core/__init__.py b/src/hct_mis_api/api/endpoints/core/__init__.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/core/__init__.py rename to src/hct_mis_api/api/endpoints/core/__init__.py diff --git a/backend/hct_mis_api/api/endpoints/core/serializers.py b/src/hct_mis_api/api/endpoints/core/serializers.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/core/serializers.py rename to src/hct_mis_api/api/endpoints/core/serializers.py diff --git a/backend/hct_mis_api/api/endpoints/core/views.py b/src/hct_mis_api/api/endpoints/core/views.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/core/views.py rename to src/hct_mis_api/api/endpoints/core/views.py diff --git a/backend/hct_mis_api/api/endpoints/lookups/__init__.py b/src/hct_mis_api/api/endpoints/lookups/__init__.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/lookups/__init__.py rename to src/hct_mis_api/api/endpoints/lookups/__init__.py diff --git a/backend/hct_mis_api/api/endpoints/lookups/area.py b/src/hct_mis_api/api/endpoints/lookups/area.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/lookups/area.py rename to src/hct_mis_api/api/endpoints/lookups/area.py diff --git a/backend/hct_mis_api/api/endpoints/lookups/base.py b/src/hct_mis_api/api/endpoints/lookups/base.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/lookups/base.py rename to src/hct_mis_api/api/endpoints/lookups/base.py diff --git a/backend/hct_mis_api/api/tests/__init__.py b/src/hct_mis_api/api/endpoints/program/__init__.py similarity index 100% rename from backend/hct_mis_api/api/tests/__init__.py rename to src/hct_mis_api/api/endpoints/program/__init__.py diff --git a/backend/hct_mis_api/api/endpoints/program/serializers.py b/src/hct_mis_api/api/endpoints/program/serializers.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/program/serializers.py rename to src/hct_mis_api/api/endpoints/program/serializers.py diff --git a/backend/hct_mis_api/api/endpoints/program/views.py b/src/hct_mis_api/api/endpoints/program/views.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/program/views.py rename to src/hct_mis_api/api/endpoints/program/views.py diff --git a/backend/hct_mis_api/api/endpoints/rdi/__init__.py b/src/hct_mis_api/api/endpoints/rdi/__init__.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/rdi/__init__.py rename to src/hct_mis_api/api/endpoints/rdi/__init__.py diff --git a/backend/hct_mis_api/api/endpoints/rdi/base.py b/src/hct_mis_api/api/endpoints/rdi/base.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/rdi/base.py rename to src/hct_mis_api/api/endpoints/rdi/base.py diff --git a/backend/hct_mis_api/api/endpoints/rdi/delegate_people.py b/src/hct_mis_api/api/endpoints/rdi/delegate_people.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/rdi/delegate_people.py rename to src/hct_mis_api/api/endpoints/rdi/delegate_people.py diff --git a/backend/hct_mis_api/api/endpoints/rdi/mixin.py b/src/hct_mis_api/api/endpoints/rdi/mixin.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/rdi/mixin.py rename to src/hct_mis_api/api/endpoints/rdi/mixin.py diff --git a/backend/hct_mis_api/api/endpoints/rdi/program.py b/src/hct_mis_api/api/endpoints/rdi/program.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/rdi/program.py rename to src/hct_mis_api/api/endpoints/rdi/program.py diff --git a/backend/hct_mis_api/api/endpoints/rdi/push_people.py b/src/hct_mis_api/api/endpoints/rdi/push_people.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/rdi/push_people.py rename to src/hct_mis_api/api/endpoints/rdi/push_people.py diff --git a/backend/hct_mis_api/api/endpoints/rdi/upload.py b/src/hct_mis_api/api/endpoints/rdi/upload.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/rdi/upload.py rename to src/hct_mis_api/api/endpoints/rdi/upload.py diff --git a/backend/hct_mis_api/api/endpoints/serializers.py b/src/hct_mis_api/api/endpoints/serializers.py similarity index 100% rename from backend/hct_mis_api/api/endpoints/serializers.py rename to src/hct_mis_api/api/endpoints/serializers.py diff --git a/backend/hct_mis_api/api/migrations/0001_migration_squashed_0003_migration.py b/src/hct_mis_api/api/migrations/0001_migration_squashed_0003_migration.py similarity index 100% rename from backend/hct_mis_api/api/migrations/0001_migration_squashed_0003_migration.py rename to src/hct_mis_api/api/migrations/0001_migration_squashed_0003_migration.py diff --git a/backend/hct_mis_api/api/migrations/0002_migration.py b/src/hct_mis_api/api/migrations/0002_migration.py similarity index 100% rename from backend/hct_mis_api/api/migrations/0002_migration.py rename to src/hct_mis_api/api/migrations/0002_migration.py diff --git a/backend/hct_mis_api/apps/__init__.py b/src/hct_mis_api/api/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/__init__.py rename to src/hct_mis_api/api/migrations/__init__.py diff --git a/backend/hct_mis_api/api/models.py b/src/hct_mis_api/api/models.py similarity index 100% rename from backend/hct_mis_api/api/models.py rename to src/hct_mis_api/api/models.py diff --git a/backend/hct_mis_api/api/router.py b/src/hct_mis_api/api/router.py similarity index 100% rename from backend/hct_mis_api/api/router.py rename to src/hct_mis_api/api/router.py diff --git a/backend/hct_mis_api/api/urls.py b/src/hct_mis_api/api/urls.py similarity index 100% rename from backend/hct_mis_api/api/urls.py rename to src/hct_mis_api/api/urls.py diff --git a/backend/hct_mis_api/api/utils.py b/src/hct_mis_api/api/utils.py similarity index 100% rename from backend/hct_mis_api/api/utils.py rename to src/hct_mis_api/api/utils.py diff --git a/backend/hct_mis_api/apps/account/__init__.py b/src/hct_mis_api/apps/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/account/__init__.py rename to src/hct_mis_api/apps/__init__.py diff --git a/backend/hct_mis_api/apps/account/api/__init__.py b/src/hct_mis_api/apps/account/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/account/api/__init__.py rename to src/hct_mis_api/apps/account/__init__.py diff --git a/backend/hct_mis_api/apps/account/admin/__init__.py b/src/hct_mis_api/apps/account/admin/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/account/admin/__init__.py rename to src/hct_mis_api/apps/account/admin/__init__.py diff --git a/backend/hct_mis_api/apps/account/admin/ad.py b/src/hct_mis_api/apps/account/admin/ad.py similarity index 100% rename from backend/hct_mis_api/apps/account/admin/ad.py rename to src/hct_mis_api/apps/account/admin/ad.py diff --git a/backend/hct_mis_api/apps/account/admin/filters.py b/src/hct_mis_api/apps/account/admin/filters.py similarity index 100% rename from backend/hct_mis_api/apps/account/admin/filters.py rename to src/hct_mis_api/apps/account/admin/filters.py diff --git a/backend/hct_mis_api/apps/account/admin/forms.py b/src/hct_mis_api/apps/account/admin/forms.py similarity index 100% rename from backend/hct_mis_api/apps/account/admin/forms.py rename to src/hct_mis_api/apps/account/admin/forms.py diff --git a/backend/hct_mis_api/apps/account/admin/group.py b/src/hct_mis_api/apps/account/admin/group.py similarity index 100% rename from backend/hct_mis_api/apps/account/admin/group.py rename to src/hct_mis_api/apps/account/admin/group.py diff --git a/backend/hct_mis_api/apps/account/admin/mixins.py b/src/hct_mis_api/apps/account/admin/mixins.py similarity index 100% rename from backend/hct_mis_api/apps/account/admin/mixins.py rename to src/hct_mis_api/apps/account/admin/mixins.py diff --git a/backend/hct_mis_api/apps/account/admin/partner.py b/src/hct_mis_api/apps/account/admin/partner.py similarity index 100% rename from backend/hct_mis_api/apps/account/admin/partner.py rename to src/hct_mis_api/apps/account/admin/partner.py diff --git a/backend/hct_mis_api/apps/account/admin/role.py b/src/hct_mis_api/apps/account/admin/role.py similarity index 100% rename from backend/hct_mis_api/apps/account/admin/role.py rename to src/hct_mis_api/apps/account/admin/role.py diff --git a/backend/hct_mis_api/apps/account/admin/user.py b/src/hct_mis_api/apps/account/admin/user.py similarity index 100% rename from backend/hct_mis_api/apps/account/admin/user.py rename to src/hct_mis_api/apps/account/admin/user.py diff --git a/backend/hct_mis_api/apps/account/admin/user_role.py b/src/hct_mis_api/apps/account/admin/user_role.py similarity index 100% rename from backend/hct_mis_api/apps/account/admin/user_role.py rename to src/hct_mis_api/apps/account/admin/user_role.py diff --git a/backend/hct_mis_api/apps/account/migrations/__init__.py b/src/hct_mis_api/apps/account/api/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/__init__.py rename to src/hct_mis_api/apps/account/api/__init__.py diff --git a/backend/hct_mis_api/apps/account/api/fields.py b/src/hct_mis_api/apps/account/api/fields.py similarity index 100% rename from backend/hct_mis_api/apps/account/api/fields.py rename to src/hct_mis_api/apps/account/api/fields.py diff --git a/backend/hct_mis_api/apps/account/api/permissions.py b/src/hct_mis_api/apps/account/api/permissions.py similarity index 100% rename from backend/hct_mis_api/apps/account/api/permissions.py rename to src/hct_mis_api/apps/account/api/permissions.py diff --git a/backend/hct_mis_api/apps/account/apps.py b/src/hct_mis_api/apps/account/apps.py similarity index 100% rename from backend/hct_mis_api/apps/account/apps.py rename to src/hct_mis_api/apps/account/apps.py diff --git a/backend/hct_mis_api/apps/account/authentication.py b/src/hct_mis_api/apps/account/authentication.py similarity index 100% rename from backend/hct_mis_api/apps/account/authentication.py rename to src/hct_mis_api/apps/account/authentication.py diff --git a/backend/hct_mis_api/apps/account/export_users_xlsx.py b/src/hct_mis_api/apps/account/export_users_xlsx.py similarity index 100% rename from backend/hct_mis_api/apps/account/export_users_xlsx.py rename to src/hct_mis_api/apps/account/export_users_xlsx.py diff --git a/backend/hct_mis_api/apps/account/fields.py b/src/hct_mis_api/apps/account/fields.py similarity index 100% rename from backend/hct_mis_api/apps/account/fields.py rename to src/hct_mis_api/apps/account/fields.py diff --git a/backend/hct_mis_api/apps/account/filters.py b/src/hct_mis_api/apps/account/filters.py similarity index 100% rename from backend/hct_mis_api/apps/account/filters.py rename to src/hct_mis_api/apps/account/filters.py diff --git a/backend/hct_mis_api/apps/account/fixtures.py b/src/hct_mis_api/apps/account/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/account/fixtures.py rename to src/hct_mis_api/apps/account/fixtures.py diff --git a/backend/hct_mis_api/apps/account/fixtures/data.json b/src/hct_mis_api/apps/account/fixtures/data.json similarity index 100% rename from backend/hct_mis_api/apps/account/fixtures/data.json rename to src/hct_mis_api/apps/account/fixtures/data.json diff --git a/backend/hct_mis_api/apps/account/fixtures/superuser.json b/src/hct_mis_api/apps/account/fixtures/superuser.json similarity index 100% rename from backend/hct_mis_api/apps/account/fixtures/superuser.json rename to src/hct_mis_api/apps/account/fixtures/superuser.json diff --git a/backend/hct_mis_api/apps/account/microsoft_graph.py b/src/hct_mis_api/apps/account/microsoft_graph.py similarity index 100% rename from backend/hct_mis_api/apps/account/microsoft_graph.py rename to src/hct_mis_api/apps/account/microsoft_graph.py diff --git a/backend/hct_mis_api/apps/account/migrations/0001_migration_squashed_0030_migration.py b/src/hct_mis_api/apps/account/migrations/0001_migration_squashed_0030_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0001_migration_squashed_0030_migration.py rename to src/hct_mis_api/apps/account/migrations/0001_migration_squashed_0030_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0031_migration_squashed_0041_migration.py b/src/hct_mis_api/apps/account/migrations/0031_migration_squashed_0041_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0031_migration_squashed_0041_migration.py rename to src/hct_mis_api/apps/account/migrations/0031_migration_squashed_0041_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0042_migration_squashed_0050_migration.py b/src/hct_mis_api/apps/account/migrations/0042_migration_squashed_0050_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0042_migration_squashed_0050_migration.py rename to src/hct_mis_api/apps/account/migrations/0042_migration_squashed_0050_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0051_migration.py b/src/hct_mis_api/apps/account/migrations/0051_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0051_migration.py rename to src/hct_mis_api/apps/account/migrations/0051_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0051_migration_squashed_0062_migration.py b/src/hct_mis_api/apps/account/migrations/0051_migration_squashed_0062_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0051_migration_squashed_0062_migration.py rename to src/hct_mis_api/apps/account/migrations/0051_migration_squashed_0062_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0052_migration.py b/src/hct_mis_api/apps/account/migrations/0052_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0052_migration.py rename to src/hct_mis_api/apps/account/migrations/0052_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0053_migration.py b/src/hct_mis_api/apps/account/migrations/0053_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0053_migration.py rename to src/hct_mis_api/apps/account/migrations/0053_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0054_migration.py b/src/hct_mis_api/apps/account/migrations/0054_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0054_migration.py rename to src/hct_mis_api/apps/account/migrations/0054_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0055_migration.py b/src/hct_mis_api/apps/account/migrations/0055_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0055_migration.py rename to src/hct_mis_api/apps/account/migrations/0055_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0056_migration.py b/src/hct_mis_api/apps/account/migrations/0056_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0056_migration.py rename to src/hct_mis_api/apps/account/migrations/0056_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0057_migration.py b/src/hct_mis_api/apps/account/migrations/0057_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0057_migration.py rename to src/hct_mis_api/apps/account/migrations/0057_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0058_migration.py b/src/hct_mis_api/apps/account/migrations/0058_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0058_migration.py rename to src/hct_mis_api/apps/account/migrations/0058_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0059_migration.py b/src/hct_mis_api/apps/account/migrations/0059_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0059_migration.py rename to src/hct_mis_api/apps/account/migrations/0059_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0060_migration.py b/src/hct_mis_api/apps/account/migrations/0060_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0060_migration.py rename to src/hct_mis_api/apps/account/migrations/0060_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0061_migration.py b/src/hct_mis_api/apps/account/migrations/0061_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0061_migration.py rename to src/hct_mis_api/apps/account/migrations/0061_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0062_migration.py b/src/hct_mis_api/apps/account/migrations/0062_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0062_migration.py rename to src/hct_mis_api/apps/account/migrations/0062_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0063_migration.py b/src/hct_mis_api/apps/account/migrations/0063_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0063_migration.py rename to src/hct_mis_api/apps/account/migrations/0063_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0064_migration.py b/src/hct_mis_api/apps/account/migrations/0064_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0064_migration.py rename to src/hct_mis_api/apps/account/migrations/0064_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0065_migration.py b/src/hct_mis_api/apps/account/migrations/0065_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0065_migration.py rename to src/hct_mis_api/apps/account/migrations/0065_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0066_migration.py b/src/hct_mis_api/apps/account/migrations/0066_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0066_migration.py rename to src/hct_mis_api/apps/account/migrations/0066_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0067_migration.py b/src/hct_mis_api/apps/account/migrations/0067_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0067_migration.py rename to src/hct_mis_api/apps/account/migrations/0067_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0068_migration.py b/src/hct_mis_api/apps/account/migrations/0068_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0068_migration.py rename to src/hct_mis_api/apps/account/migrations/0068_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0069_migration.py b/src/hct_mis_api/apps/account/migrations/0069_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0069_migration.py rename to src/hct_mis_api/apps/account/migrations/0069_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0070_migration.py b/src/hct_mis_api/apps/account/migrations/0070_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0070_migration.py rename to src/hct_mis_api/apps/account/migrations/0070_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0071_migration.py b/src/hct_mis_api/apps/account/migrations/0071_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0071_migration.py rename to src/hct_mis_api/apps/account/migrations/0071_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0072_migration.py b/src/hct_mis_api/apps/account/migrations/0072_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0072_migration.py rename to src/hct_mis_api/apps/account/migrations/0072_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0073_migration.py b/src/hct_mis_api/apps/account/migrations/0073_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0073_migration.py rename to src/hct_mis_api/apps/account/migrations/0073_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0074_migration.py b/src/hct_mis_api/apps/account/migrations/0074_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0074_migration.py rename to src/hct_mis_api/apps/account/migrations/0074_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0075_migration.py b/src/hct_mis_api/apps/account/migrations/0075_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0075_migration.py rename to src/hct_mis_api/apps/account/migrations/0075_migration.py diff --git a/backend/hct_mis_api/apps/account/migrations/0076_migration.py b/src/hct_mis_api/apps/account/migrations/0076_migration.py similarity index 100% rename from backend/hct_mis_api/apps/account/migrations/0076_migration.py rename to src/hct_mis_api/apps/account/migrations/0076_migration.py diff --git a/backend/hct_mis_api/apps/account/tests/__init__.py b/src/hct_mis_api/apps/account/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/__init__.py rename to src/hct_mis_api/apps/account/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/account/models.py b/src/hct_mis_api/apps/account/models.py similarity index 100% rename from backend/hct_mis_api/apps/account/models.py rename to src/hct_mis_api/apps/account/models.py diff --git a/backend/hct_mis_api/apps/account/permissions.py b/src/hct_mis_api/apps/account/permissions.py similarity index 100% rename from backend/hct_mis_api/apps/account/permissions.py rename to src/hct_mis_api/apps/account/permissions.py diff --git a/backend/hct_mis_api/apps/account/schema.py b/src/hct_mis_api/apps/account/schema.py similarity index 100% rename from backend/hct_mis_api/apps/account/schema.py rename to src/hct_mis_api/apps/account/schema.py diff --git a/backend/hct_mis_api/apps/account/signals.py b/src/hct_mis_api/apps/account/signals.py similarity index 100% rename from backend/hct_mis_api/apps/account/signals.py rename to src/hct_mis_api/apps/account/signals.py diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/group/change_list.html b/src/hct_mis_api/apps/account/templates/admin/account/group/change_list.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/group/change_list.html rename to src/hct_mis_api/apps/account/templates/admin/account/group/change_list.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/group/members.html b/src/hct_mis_api/apps/account/templates/admin/account/group/members.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/group/members.html rename to src/hct_mis_api/apps/account/templates/admin/account/group/members.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/parent/permissions.html b/src/hct_mis_api/apps/account/templates/admin/account/parent/permissions.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/parent/permissions.html rename to src/hct_mis_api/apps/account/templates/admin/account/parent/permissions.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/role/change_list.html b/src/hct_mis_api/apps/account/templates/admin/account/role/change_list.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/role/change_list.html rename to src/hct_mis_api/apps/account/templates/admin/account/role/change_list.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/role/matrix.html b/src/hct_mis_api/apps/account/templates/admin/account/role/matrix.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/role/matrix.html rename to src/hct_mis_api/apps/account/templates/admin/account/role/matrix.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/role/object_history.html b/src/hct_mis_api/apps/account/templates/admin/account/role/object_history.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/role/object_history.html rename to src/hct_mis_api/apps/account/templates/admin/account/role/object_history.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/user/business_area_role.html b/src/hct_mis_api/apps/account/templates/admin/account/user/business_area_role.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/user/business_area_role.html rename to src/hct_mis_api/apps/account/templates/admin/account/user/business_area_role.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/user/change_form.html b/src/hct_mis_api/apps/account/templates/admin/account/user/change_form.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/user/change_form.html rename to src/hct_mis_api/apps/account/templates/admin/account/user/change_form.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/user/delete_confirmation.html b/src/hct_mis_api/apps/account/templates/admin/account/user/delete_confirmation.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/user/delete_confirmation.html rename to src/hct_mis_api/apps/account/templates/admin/account/user/delete_confirmation.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/user/import_csv.html b/src/hct_mis_api/apps/account/templates/admin/account/user/import_csv.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/user/import_csv.html rename to src/hct_mis_api/apps/account/templates/admin/account/user/import_csv.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/user/inspect.html b/src/hct_mis_api/apps/account/templates/admin/account/user/inspect.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/user/inspect.html rename to src/hct_mis_api/apps/account/templates/admin/account/user/inspect.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/account/user/privileges.html b/src/hct_mis_api/apps/account/templates/admin/account/user/privileges.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/account/user/privileges.html rename to src/hct_mis_api/apps/account/templates/admin/account/user/privileges.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/kobo_bulk.html b/src/hct_mis_api/apps/account/templates/admin/kobo_bulk.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/kobo_bulk.html rename to src/hct_mis_api/apps/account/templates/admin/kobo_bulk.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/kobo_users.html b/src/hct_mis_api/apps/account/templates/admin/kobo_users.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/kobo_users.html rename to src/hct_mis_api/apps/account/templates/admin/kobo_users.html diff --git a/backend/hct_mis_api/apps/account/templates/admin/load_users.html b/src/hct_mis_api/apps/account/templates/admin/load_users.html similarity index 100% rename from backend/hct_mis_api/apps/account/templates/admin/load_users.html rename to src/hct_mis_api/apps/account/templates/admin/load_users.html diff --git a/backend/hct_mis_api/apps/account/utils.py b/src/hct_mis_api/apps/account/utils.py similarity index 100% rename from backend/hct_mis_api/apps/account/utils.py rename to src/hct_mis_api/apps/account/utils.py diff --git a/backend/hct_mis_api/apps/account/views.py b/src/hct_mis_api/apps/account/views.py similarity index 100% rename from backend/hct_mis_api/apps/account/views.py rename to src/hct_mis_api/apps/account/views.py diff --git a/backend/hct_mis_api/apps/account/tests/snapshots/__init__.py b/src/hct_mis_api/apps/accountability/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/snapshots/__init__.py rename to src/hct_mis_api/apps/accountability/__init__.py diff --git a/backend/hct_mis_api/apps/accountability/admin.py b/src/hct_mis_api/apps/accountability/admin.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/admin.py rename to src/hct_mis_api/apps/accountability/admin.py diff --git a/backend/hct_mis_api/apps/accountability/apps.py b/src/hct_mis_api/apps/accountability/apps.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/apps.py rename to src/hct_mis_api/apps/accountability/apps.py diff --git a/backend/hct_mis_api/apps/accountability/celery_tasks.py b/src/hct_mis_api/apps/accountability/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/celery_tasks.py rename to src/hct_mis_api/apps/accountability/celery_tasks.py diff --git a/backend/hct_mis_api/apps/accountability/filters.py b/src/hct_mis_api/apps/accountability/filters.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/filters.py rename to src/hct_mis_api/apps/accountability/filters.py diff --git a/backend/hct_mis_api/apps/accountability/fixtures.py b/src/hct_mis_api/apps/accountability/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/fixtures.py rename to src/hct_mis_api/apps/accountability/fixtures.py diff --git a/backend/hct_mis_api/apps/accountability/fixtures/data-cypress.json b/src/hct_mis_api/apps/accountability/fixtures/data-cypress.json similarity index 100% rename from backend/hct_mis_api/apps/accountability/fixtures/data-cypress.json rename to src/hct_mis_api/apps/accountability/fixtures/data-cypress.json diff --git a/backend/hct_mis_api/apps/accountability/fixtures/data.json b/src/hct_mis_api/apps/accountability/fixtures/data.json similarity index 100% rename from backend/hct_mis_api/apps/accountability/fixtures/data.json rename to src/hct_mis_api/apps/accountability/fixtures/data.json diff --git a/backend/hct_mis_api/apps/accountability/inputs.py b/src/hct_mis_api/apps/accountability/inputs.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/inputs.py rename to src/hct_mis_api/apps/accountability/inputs.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0001_migration.py b/src/hct_mis_api/apps/accountability/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0001_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0001_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0001_migration_squashed_0011_migration.py b/src/hct_mis_api/apps/accountability/migrations/0001_migration_squashed_0011_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0001_migration_squashed_0011_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0001_migration_squashed_0011_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0002_migration.py b/src/hct_mis_api/apps/accountability/migrations/0002_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0002_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0002_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0003_migration.py b/src/hct_mis_api/apps/accountability/migrations/0003_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0003_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0003_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0004_migration.py b/src/hct_mis_api/apps/accountability/migrations/0004_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0004_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0004_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0005_migration.py b/src/hct_mis_api/apps/accountability/migrations/0005_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0005_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0005_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0006_migration.py b/src/hct_mis_api/apps/accountability/migrations/0006_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0006_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0006_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0007_migration.py b/src/hct_mis_api/apps/accountability/migrations/0007_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0007_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0007_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0008_migration.py b/src/hct_mis_api/apps/accountability/migrations/0008_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0008_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0008_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0009_migration.py b/src/hct_mis_api/apps/accountability/migrations/0009_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0009_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0009_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0010_migration.py b/src/hct_mis_api/apps/accountability/migrations/0010_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0010_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0010_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0011_migration.py b/src/hct_mis_api/apps/accountability/migrations/0011_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0011_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0011_migration.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/0012_migration.py b/src/hct_mis_api/apps/accountability/migrations/0012_migration.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/0012_migration.py rename to src/hct_mis_api/apps/accountability/migrations/0012_migration.py diff --git a/backend/hct_mis_api/apps/accountability/__init__.py b/src/hct_mis_api/apps/accountability/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/__init__.py rename to src/hct_mis_api/apps/accountability/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/accountability/models.py b/src/hct_mis_api/apps/accountability/models.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/models.py rename to src/hct_mis_api/apps/accountability/models.py diff --git a/backend/hct_mis_api/apps/accountability/mutations.py b/src/hct_mis_api/apps/accountability/mutations.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/mutations.py rename to src/hct_mis_api/apps/accountability/mutations.py diff --git a/backend/hct_mis_api/apps/accountability/nodes.py b/src/hct_mis_api/apps/accountability/nodes.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/nodes.py rename to src/hct_mis_api/apps/accountability/nodes.py diff --git a/backend/hct_mis_api/apps/accountability/schema.py b/src/hct_mis_api/apps/accountability/schema.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/schema.py rename to src/hct_mis_api/apps/accountability/schema.py diff --git a/backend/hct_mis_api/apps/accountability/migrations/__init__.py b/src/hct_mis_api/apps/accountability/services/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/migrations/__init__.py rename to src/hct_mis_api/apps/accountability/services/__init__.py diff --git a/backend/hct_mis_api/apps/accountability/services/export_survey_sample_service.py b/src/hct_mis_api/apps/accountability/services/export_survey_sample_service.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/services/export_survey_sample_service.py rename to src/hct_mis_api/apps/accountability/services/export_survey_sample_service.py diff --git a/backend/hct_mis_api/apps/accountability/services/feedback_crud_services.py b/src/hct_mis_api/apps/accountability/services/feedback_crud_services.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/services/feedback_crud_services.py rename to src/hct_mis_api/apps/accountability/services/feedback_crud_services.py diff --git a/backend/hct_mis_api/apps/accountability/services/message_crud_services.py b/src/hct_mis_api/apps/accountability/services/message_crud_services.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/services/message_crud_services.py rename to src/hct_mis_api/apps/accountability/services/message_crud_services.py diff --git a/backend/hct_mis_api/apps/accountability/services/sampling.py b/src/hct_mis_api/apps/accountability/services/sampling.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/services/sampling.py rename to src/hct_mis_api/apps/accountability/services/sampling.py diff --git a/backend/hct_mis_api/apps/accountability/services/survey_crud_services.py b/src/hct_mis_api/apps/accountability/services/survey_crud_services.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/services/survey_crud_services.py rename to src/hct_mis_api/apps/accountability/services/survey_crud_services.py diff --git a/backend/hct_mis_api/apps/accountability/services/verifiers.py b/src/hct_mis_api/apps/accountability/services/verifiers.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/services/verifiers.py rename to src/hct_mis_api/apps/accountability/services/verifiers.py diff --git a/backend/hct_mis_api/apps/accountability/templates/survey/survey_sample_xlsx_file_generated_email.html b/src/hct_mis_api/apps/accountability/templates/survey/survey_sample_xlsx_file_generated_email.html similarity index 100% rename from backend/hct_mis_api/apps/accountability/templates/survey/survey_sample_xlsx_file_generated_email.html rename to src/hct_mis_api/apps/accountability/templates/survey/survey_sample_xlsx_file_generated_email.html diff --git a/backend/hct_mis_api/apps/accountability/templates/survey/survey_sample_xlsx_file_generated_email.txt b/src/hct_mis_api/apps/accountability/templates/survey/survey_sample_xlsx_file_generated_email.txt similarity index 100% rename from backend/hct_mis_api/apps/accountability/templates/survey/survey_sample_xlsx_file_generated_email.txt rename to src/hct_mis_api/apps/accountability/templates/survey/survey_sample_xlsx_file_generated_email.txt diff --git a/backend/hct_mis_api/apps/accountability/views.py b/src/hct_mis_api/apps/accountability/views.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/views.py rename to src/hct_mis_api/apps/accountability/views.py diff --git a/backend/hct_mis_api/apps/accountability/services/__init__.py b/src/hct_mis_api/apps/activity_log/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/services/__init__.py rename to src/hct_mis_api/apps/activity_log/__init__.py diff --git a/backend/hct_mis_api/apps/activity_log/admin.py b/src/hct_mis_api/apps/activity_log/admin.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/admin.py rename to src/hct_mis_api/apps/activity_log/admin.py diff --git a/backend/hct_mis_api/apps/activity_log/apps.py b/src/hct_mis_api/apps/activity_log/apps.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/apps.py rename to src/hct_mis_api/apps/activity_log/apps.py diff --git a/backend/hct_mis_api/apps/activity_log/filters.py b/src/hct_mis_api/apps/activity_log/filters.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/filters.py rename to src/hct_mis_api/apps/activity_log/filters.py diff --git a/backend/hct_mis_api/apps/activity_log/migrations/0001_migration_squashed_0004_migration.py b/src/hct_mis_api/apps/activity_log/migrations/0001_migration_squashed_0004_migration.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/migrations/0001_migration_squashed_0004_migration.py rename to src/hct_mis_api/apps/activity_log/migrations/0001_migration_squashed_0004_migration.py diff --git a/backend/hct_mis_api/apps/activity_log/migrations/0005_migration.py b/src/hct_mis_api/apps/activity_log/migrations/0005_migration.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/migrations/0005_migration.py rename to src/hct_mis_api/apps/activity_log/migrations/0005_migration.py diff --git a/backend/hct_mis_api/apps/accountability/tests/__init__.py b/src/hct_mis_api/apps/activity_log/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/__init__.py rename to src/hct_mis_api/apps/activity_log/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/activity_log/models.py b/src/hct_mis_api/apps/activity_log/models.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/models.py rename to src/hct_mis_api/apps/activity_log/models.py diff --git a/backend/hct_mis_api/apps/activity_log/schema.py b/src/hct_mis_api/apps/activity_log/schema.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/schema.py rename to src/hct_mis_api/apps/activity_log/schema.py diff --git a/backend/hct_mis_api/apps/activity_log/utils.py b/src/hct_mis_api/apps/activity_log/utils.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/utils.py rename to src/hct_mis_api/apps/activity_log/utils.py diff --git a/backend/hct_mis_api/apps/administration/__init__.py b/src/hct_mis_api/apps/administration/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/administration/__init__.py rename to src/hct_mis_api/apps/administration/__init__.py diff --git a/backend/hct_mis_api/apps/administration/admin.py b/src/hct_mis_api/apps/administration/admin.py similarity index 100% rename from backend/hct_mis_api/apps/administration/admin.py rename to src/hct_mis_api/apps/administration/admin.py diff --git a/backend/hct_mis_api/apps/administration/apps.py b/src/hct_mis_api/apps/administration/apps.py similarity index 100% rename from backend/hct_mis_api/apps/administration/apps.py rename to src/hct_mis_api/apps/administration/apps.py diff --git a/backend/hct_mis_api/apps/administration/forms.py b/src/hct_mis_api/apps/administration/forms.py similarity index 100% rename from backend/hct_mis_api/apps/administration/forms.py rename to src/hct_mis_api/apps/administration/forms.py diff --git a/backend/hct_mis_api/apps/administration/panels/__init__.py b/src/hct_mis_api/apps/administration/panels/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/administration/panels/__init__.py rename to src/hct_mis_api/apps/administration/panels/__init__.py diff --git a/backend/hct_mis_api/apps/administration/panels/email.py b/src/hct_mis_api/apps/administration/panels/email.py similarity index 100% rename from backend/hct_mis_api/apps/administration/panels/email.py rename to src/hct_mis_api/apps/administration/panels/email.py diff --git a/backend/hct_mis_api/apps/administration/panels/es.py b/src/hct_mis_api/apps/administration/panels/es.py similarity index 100% rename from backend/hct_mis_api/apps/administration/panels/es.py rename to src/hct_mis_api/apps/administration/panels/es.py diff --git a/backend/hct_mis_api/apps/administration/site.py b/src/hct_mis_api/apps/administration/site.py similarity index 100% rename from backend/hct_mis_api/apps/administration/site.py rename to src/hct_mis_api/apps/administration/site.py diff --git a/backend/hct_mis_api/apps/administration/static/administration/pygments.css b/src/hct_mis_api/apps/administration/static/administration/pygments.css similarity index 100% rename from backend/hct_mis_api/apps/administration/static/administration/pygments.css rename to src/hct_mis_api/apps/administration/static/administration/pygments.css diff --git a/backend/hct_mis_api/apps/administration/templates/admin/base.html b/src/hct_mis_api/apps/administration/templates/admin/base.html similarity index 100% rename from backend/hct_mis_api/apps/administration/templates/admin/base.html rename to src/hct_mis_api/apps/administration/templates/admin/base.html diff --git a/backend/hct_mis_api/apps/administration/templates/admin/clear_cache.html b/src/hct_mis_api/apps/administration/templates/admin/clear_cache.html similarity index 100% rename from backend/hct_mis_api/apps/administration/templates/admin/clear_cache.html rename to src/hct_mis_api/apps/administration/templates/admin/clear_cache.html diff --git a/backend/hct_mis_api/apps/administration/templates/admin/login.html b/src/hct_mis_api/apps/administration/templates/admin/login.html similarity index 100% rename from backend/hct_mis_api/apps/administration/templates/admin/login.html rename to src/hct_mis_api/apps/administration/templates/admin/login.html diff --git a/backend/hct_mis_api/apps/administration/templates/admin_cursor_paginator/change_list.html b/src/hct_mis_api/apps/administration/templates/admin_cursor_paginator/change_list.html similarity index 100% rename from backend/hct_mis_api/apps/administration/templates/admin_cursor_paginator/change_list.html rename to src/hct_mis_api/apps/administration/templates/admin_cursor_paginator/change_list.html diff --git a/backend/hct_mis_api/apps/administration/templates/administration/json.html b/src/hct_mis_api/apps/administration/templates/administration/json.html similarity index 100% rename from backend/hct_mis_api/apps/administration/templates/administration/json.html rename to src/hct_mis_api/apps/administration/templates/administration/json.html diff --git a/backend/hct_mis_api/apps/administration/templates/administration/panels/elasticsearch.html b/src/hct_mis_api/apps/administration/templates/administration/panels/elasticsearch.html similarity index 100% rename from backend/hct_mis_api/apps/administration/templates/administration/panels/elasticsearch.html rename to src/hct_mis_api/apps/administration/templates/administration/panels/elasticsearch.html diff --git a/backend/hct_mis_api/apps/administration/widgets.py b/src/hct_mis_api/apps/administration/widgets.py similarity index 100% rename from backend/hct_mis_api/apps/administration/widgets.py rename to src/hct_mis_api/apps/administration/widgets.py diff --git a/backend/hct_mis_api/apps/accountability/tests/snapshots/__init__.py b/src/hct_mis_api/apps/cash_assist_datahub/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/snapshots/__init__.py rename to src/hct_mis_api/apps/cash_assist_datahub/__init__.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/admin.py b/src/hct_mis_api/apps/cash_assist_datahub/admin.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/admin.py rename to src/hct_mis_api/apps/cash_assist_datahub/admin.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/apps.py b/src/hct_mis_api/apps/cash_assist_datahub/apps.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/apps.py rename to src/hct_mis_api/apps/cash_assist_datahub/apps.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/celery_tasks.py b/src/hct_mis_api/apps/cash_assist_datahub/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/celery_tasks.py rename to src/hct_mis_api/apps/cash_assist_datahub/celery_tasks.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/fixtures.py b/src/hct_mis_api/apps/cash_assist_datahub/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/fixtures.py rename to src/hct_mis_api/apps/cash_assist_datahub/fixtures.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/management/commands/create_sessions.py b/src/hct_mis_api/apps/cash_assist_datahub/management/commands/create_sessions.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/management/commands/create_sessions.py rename to src/hct_mis_api/apps/cash_assist_datahub/management/commands/create_sessions.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/migrations/0001_migration_squashed_0015_migration.py b/src/hct_mis_api/apps/cash_assist_datahub/migrations/0001_migration_squashed_0015_migration.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/migrations/0001_migration_squashed_0015_migration.py rename to src/hct_mis_api/apps/cash_assist_datahub/migrations/0001_migration_squashed_0015_migration.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/migrations/0016_migration.py b/src/hct_mis_api/apps/cash_assist_datahub/migrations/0016_migration.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/migrations/0016_migration.py rename to src/hct_mis_api/apps/cash_assist_datahub/migrations/0016_migration.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/migrations/0017_migration.py b/src/hct_mis_api/apps/cash_assist_datahub/migrations/0017_migration.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/migrations/0017_migration.py rename to src/hct_mis_api/apps/cash_assist_datahub/migrations/0017_migration.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/migrations/0018_migration.py b/src/hct_mis_api/apps/cash_assist_datahub/migrations/0018_migration.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/migrations/0018_migration.py rename to src/hct_mis_api/apps/cash_assist_datahub/migrations/0018_migration.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/migrations/0019_migration.py b/src/hct_mis_api/apps/cash_assist_datahub/migrations/0019_migration.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/migrations/0019_migration.py rename to src/hct_mis_api/apps/cash_assist_datahub/migrations/0019_migration.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/migrations/0020_migration.py b/src/hct_mis_api/apps/cash_assist_datahub/migrations/0020_migration.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/migrations/0020_migration.py rename to src/hct_mis_api/apps/cash_assist_datahub/migrations/0020_migration.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/migrations/0021_migration.py b/src/hct_mis_api/apps/cash_assist_datahub/migrations/0021_migration.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/migrations/0021_migration.py rename to src/hct_mis_api/apps/cash_assist_datahub/migrations/0021_migration.py diff --git a/backend/hct_mis_api/apps/activity_log/__init__.py b/src/hct_mis_api/apps/cash_assist_datahub/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/__init__.py rename to src/hct_mis_api/apps/cash_assist_datahub/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/models.py b/src/hct_mis_api/apps/cash_assist_datahub/models.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/models.py rename to src/hct_mis_api/apps/cash_assist_datahub/models.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/tasks/pull_from_datahub.py b/src/hct_mis_api/apps/cash_assist_datahub/tasks/pull_from_datahub.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/tasks/pull_from_datahub.py rename to src/hct_mis_api/apps/cash_assist_datahub/tasks/pull_from_datahub.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/payment_record/inspect.html b/src/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/payment_record/inspect.html similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/payment_record/inspect.html rename to src/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/payment_record/inspect.html diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/session/debug.html b/src/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/session/debug.html similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/session/debug.html rename to src/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/session/debug.html diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/session/inspect.html b/src/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/session/inspect.html similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/session/inspect.html rename to src/hct_mis_api/apps/cash_assist_datahub/templates/admin/cash_assist_datahub/session/inspect.html diff --git a/backend/hct_mis_api/apps/activity_log/migrations/__init__.py b/src/hct_mis_api/apps/changelog/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/migrations/__init__.py rename to src/hct_mis_api/apps/changelog/__init__.py diff --git a/backend/hct_mis_api/apps/changelog/admin.py b/src/hct_mis_api/apps/changelog/admin.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/admin.py rename to src/hct_mis_api/apps/changelog/admin.py diff --git a/backend/hct_mis_api/apps/changelog/apps.py b/src/hct_mis_api/apps/changelog/apps.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/apps.py rename to src/hct_mis_api/apps/changelog/apps.py diff --git a/backend/hct_mis_api/apps/changelog/factory.py b/src/hct_mis_api/apps/changelog/factory.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/factory.py rename to src/hct_mis_api/apps/changelog/factory.py diff --git a/backend/hct_mis_api/apps/changelog/forms.py b/src/hct_mis_api/apps/changelog/forms.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/forms.py rename to src/hct_mis_api/apps/changelog/forms.py diff --git a/backend/hct_mis_api/apps/changelog/migrations/0001_migration_squashed_0002_migration.py b/src/hct_mis_api/apps/changelog/migrations/0001_migration_squashed_0002_migration.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/migrations/0001_migration_squashed_0002_migration.py rename to src/hct_mis_api/apps/changelog/migrations/0001_migration_squashed_0002_migration.py diff --git a/backend/hct_mis_api/apps/changelog/migrations/0003_migration.py b/src/hct_mis_api/apps/changelog/migrations/0003_migration.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/migrations/0003_migration.py rename to src/hct_mis_api/apps/changelog/migrations/0003_migration.py diff --git a/backend/hct_mis_api/apps/changelog/migrations/0003_migration_squashed_0004_migration.py b/src/hct_mis_api/apps/changelog/migrations/0003_migration_squashed_0004_migration.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/migrations/0003_migration_squashed_0004_migration.py rename to src/hct_mis_api/apps/changelog/migrations/0003_migration_squashed_0004_migration.py diff --git a/backend/hct_mis_api/apps/changelog/migrations/0004_migration.py b/src/hct_mis_api/apps/changelog/migrations/0004_migration.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/migrations/0004_migration.py rename to src/hct_mis_api/apps/changelog/migrations/0004_migration.py diff --git a/backend/hct_mis_api/apps/activity_log/tests/__init__.py b/src/hct_mis_api/apps/changelog/migrations/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from backend/hct_mis_api/apps/activity_log/tests/__init__.py rename to src/hct_mis_api/apps/changelog/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/changelog/models.py b/src/hct_mis_api/apps/changelog/models.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/models.py rename to src/hct_mis_api/apps/changelog/models.py diff --git a/backend/hct_mis_api/apps/changelog/static/changelog/changelog.css b/src/hct_mis_api/apps/changelog/static/changelog/changelog.css similarity index 100% rename from backend/hct_mis_api/apps/changelog/static/changelog/changelog.css rename to src/hct_mis_api/apps/changelog/static/changelog/changelog.css diff --git a/backend/hct_mis_api/apps/changelog/static/changelog/logo.17b19eb3.jpg b/src/hct_mis_api/apps/changelog/static/changelog/logo.17b19eb3.jpg similarity index 100% rename from backend/hct_mis_api/apps/changelog/static/changelog/logo.17b19eb3.jpg rename to src/hct_mis_api/apps/changelog/static/changelog/logo.17b19eb3.jpg diff --git a/backend/hct_mis_api/apps/changelog/templates/base.html b/src/hct_mis_api/apps/changelog/templates/base.html similarity index 100% rename from backend/hct_mis_api/apps/changelog/templates/base.html rename to src/hct_mis_api/apps/changelog/templates/base.html diff --git a/backend/hct_mis_api/apps/changelog/templates/changelog/changelog_detail.html b/src/hct_mis_api/apps/changelog/templates/changelog/changelog_detail.html similarity index 100% rename from backend/hct_mis_api/apps/changelog/templates/changelog/changelog_detail.html rename to src/hct_mis_api/apps/changelog/templates/changelog/changelog_detail.html diff --git a/backend/hct_mis_api/apps/changelog/templates/changelog/changelog_list.html b/src/hct_mis_api/apps/changelog/templates/changelog/changelog_list.html similarity index 100% rename from backend/hct_mis_api/apps/changelog/templates/changelog/changelog_list.html rename to src/hct_mis_api/apps/changelog/templates/changelog/changelog_list.html diff --git a/backend/hct_mis_api/apps/changelog/templates/changelog/widgets/editor.html b/src/hct_mis_api/apps/changelog/templates/changelog/widgets/editor.html similarity index 100% rename from backend/hct_mis_api/apps/changelog/templates/changelog/widgets/editor.html rename to src/hct_mis_api/apps/changelog/templates/changelog/widgets/editor.html diff --git a/backend/hct_mis_api/apps/changelog/urls.py b/src/hct_mis_api/apps/changelog/urls.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/urls.py rename to src/hct_mis_api/apps/changelog/urls.py diff --git a/backend/hct_mis_api/apps/changelog/views.py b/src/hct_mis_api/apps/changelog/views.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/views.py rename to src/hct_mis_api/apps/changelog/views.py diff --git a/backend/hct_mis_api/apps/changelog/widget.py b/src/hct_mis_api/apps/changelog/widget.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/widget.py rename to src/hct_mis_api/apps/changelog/widget.py diff --git a/backend/hct_mis_api/apps/core/__init__.py b/src/hct_mis_api/apps/core/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/__init__.py rename to src/hct_mis_api/apps/core/__init__.py diff --git a/backend/hct_mis_api/apps/core/admin.py b/src/hct_mis_api/apps/core/admin.py similarity index 100% rename from backend/hct_mis_api/apps/core/admin.py rename to src/hct_mis_api/apps/core/admin.py diff --git a/backend/hct_mis_api/apps/core/api/mixins.py b/src/hct_mis_api/apps/core/api/mixins.py similarity index 100% rename from backend/hct_mis_api/apps/core/api/mixins.py rename to src/hct_mis_api/apps/core/api/mixins.py diff --git a/backend/hct_mis_api/apps/core/apps.py b/src/hct_mis_api/apps/core/apps.py similarity index 100% rename from backend/hct_mis_api/apps/core/apps.py rename to src/hct_mis_api/apps/core/apps.py diff --git a/backend/hct_mis_api/apps/core/attributes_qet_queries.py b/src/hct_mis_api/apps/core/attributes_qet_queries.py similarity index 100% rename from backend/hct_mis_api/apps/core/attributes_qet_queries.py rename to src/hct_mis_api/apps/core/attributes_qet_queries.py diff --git a/backend/hct_mis_api/apps/core/base_test_case.py b/src/hct_mis_api/apps/core/base_test_case.py similarity index 100% rename from backend/hct_mis_api/apps/core/base_test_case.py rename to src/hct_mis_api/apps/core/base_test_case.py diff --git a/backend/hct_mis_api/apps/core/cache_keys.py b/src/hct_mis_api/apps/core/cache_keys.py similarity index 100% rename from backend/hct_mis_api/apps/core/cache_keys.py rename to src/hct_mis_api/apps/core/cache_keys.py diff --git a/backend/hct_mis_api/apps/core/celery.py b/src/hct_mis_api/apps/core/celery.py similarity index 100% rename from backend/hct_mis_api/apps/core/celery.py rename to src/hct_mis_api/apps/core/celery.py diff --git a/backend/hct_mis_api/apps/core/celery_tasks.py b/src/hct_mis_api/apps/core/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/core/celery_tasks.py rename to src/hct_mis_api/apps/core/celery_tasks.py diff --git a/backend/hct_mis_api/apps/core/context_processors.py b/src/hct_mis_api/apps/core/context_processors.py similarity index 100% rename from backend/hct_mis_api/apps/core/context_processors.py rename to src/hct_mis_api/apps/core/context_processors.py diff --git a/backend/hct_mis_api/apps/core/converters.py b/src/hct_mis_api/apps/core/converters.py similarity index 100% rename from backend/hct_mis_api/apps/core/converters.py rename to src/hct_mis_api/apps/core/converters.py diff --git a/backend/hct_mis_api/apps/core/countries.py b/src/hct_mis_api/apps/core/countries.py similarity index 100% rename from backend/hct_mis_api/apps/core/countries.py rename to src/hct_mis_api/apps/core/countries.py diff --git a/backend/hct_mis_api/apps/core/currencies.py b/src/hct_mis_api/apps/core/currencies.py similarity index 100% rename from backend/hct_mis_api/apps/core/currencies.py rename to src/hct_mis_api/apps/core/currencies.py diff --git a/backend/hct_mis_api/apps/core/dbrouters.py b/src/hct_mis_api/apps/core/dbrouters.py similarity index 100% rename from backend/hct_mis_api/apps/core/dbrouters.py rename to src/hct_mis_api/apps/core/dbrouters.py diff --git a/backend/hct_mis_api/apps/core/decorators.py b/src/hct_mis_api/apps/core/decorators.py similarity index 100% rename from backend/hct_mis_api/apps/core/decorators.py rename to src/hct_mis_api/apps/core/decorators.py diff --git a/backend/hct_mis_api/apps/core/es_analyzers.py b/src/hct_mis_api/apps/core/es_analyzers.py similarity index 100% rename from backend/hct_mis_api/apps/core/es_analyzers.py rename to src/hct_mis_api/apps/core/es_analyzers.py diff --git a/backend/hct_mis_api/apps/core/exceptions.py b/src/hct_mis_api/apps/core/exceptions.py similarity index 100% rename from backend/hct_mis_api/apps/core/exceptions.py rename to src/hct_mis_api/apps/core/exceptions.py diff --git a/backend/hct_mis_api/apps/core/exchange_rates/__init__.py b/src/hct_mis_api/apps/core/exchange_rates/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/exchange_rates/__init__.py rename to src/hct_mis_api/apps/core/exchange_rates/__init__.py diff --git a/backend/hct_mis_api/apps/core/exchange_rates/api.py b/src/hct_mis_api/apps/core/exchange_rates/api.py similarity index 100% rename from backend/hct_mis_api/apps/core/exchange_rates/api.py rename to src/hct_mis_api/apps/core/exchange_rates/api.py diff --git a/backend/hct_mis_api/apps/core/exchange_rates/exchange_rates.json b/src/hct_mis_api/apps/core/exchange_rates/exchange_rates.json similarity index 100% rename from backend/hct_mis_api/apps/core/exchange_rates/exchange_rates.json rename to src/hct_mis_api/apps/core/exchange_rates/exchange_rates.json diff --git a/backend/hct_mis_api/apps/core/exchange_rates/models.py b/src/hct_mis_api/apps/core/exchange_rates/models.py similarity index 100% rename from backend/hct_mis_api/apps/core/exchange_rates/models.py rename to src/hct_mis_api/apps/core/exchange_rates/models.py diff --git a/backend/hct_mis_api/apps/core/exchange_rates/utils.py b/src/hct_mis_api/apps/core/exchange_rates/utils.py similarity index 100% rename from backend/hct_mis_api/apps/core/exchange_rates/utils.py rename to src/hct_mis_api/apps/core/exchange_rates/utils.py diff --git a/backend/hct_mis_api/apps/core/extended_connection.py b/src/hct_mis_api/apps/core/extended_connection.py similarity index 100% rename from backend/hct_mis_api/apps/core/extended_connection.py rename to src/hct_mis_api/apps/core/extended_connection.py diff --git a/backend/hct_mis_api/apps/activity_log/tests/snapshots/__init__.py b/src/hct_mis_api/apps/core/field_attributes/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/tests/snapshots/__init__.py rename to src/hct_mis_api/apps/core/field_attributes/__init__.py diff --git a/backend/hct_mis_api/apps/core/field_attributes/core_fields_attributes.py b/src/hct_mis_api/apps/core/field_attributes/core_fields_attributes.py similarity index 100% rename from backend/hct_mis_api/apps/core/field_attributes/core_fields_attributes.py rename to src/hct_mis_api/apps/core/field_attributes/core_fields_attributes.py diff --git a/backend/hct_mis_api/apps/core/field_attributes/fields_types.py b/src/hct_mis_api/apps/core/field_attributes/fields_types.py similarity index 100% rename from backend/hct_mis_api/apps/core/field_attributes/fields_types.py rename to src/hct_mis_api/apps/core/field_attributes/fields_types.py diff --git a/backend/hct_mis_api/apps/core/field_attributes/lookup_functions.py b/src/hct_mis_api/apps/core/field_attributes/lookup_functions.py similarity index 100% rename from backend/hct_mis_api/apps/core/field_attributes/lookup_functions.py rename to src/hct_mis_api/apps/core/field_attributes/lookup_functions.py diff --git a/backend/hct_mis_api/apps/core/field_attributes/payment_channel_fields_attributes.py b/src/hct_mis_api/apps/core/field_attributes/payment_channel_fields_attributes.py similarity index 100% rename from backend/hct_mis_api/apps/core/field_attributes/payment_channel_fields_attributes.py rename to src/hct_mis_api/apps/core/field_attributes/payment_channel_fields_attributes.py diff --git a/backend/hct_mis_api/apps/core/filters.py b/src/hct_mis_api/apps/core/filters.py similarity index 100% rename from backend/hct_mis_api/apps/core/filters.py rename to src/hct_mis_api/apps/core/filters.py diff --git a/backend/hct_mis_api/apps/core/fixtures.py b/src/hct_mis_api/apps/core/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/core/fixtures.py rename to src/hct_mis_api/apps/core/fixtures.py diff --git a/backend/hct_mis_api/apps/core/fixtures/businessareapartnerthrough.json b/src/hct_mis_api/apps/core/fixtures/businessareapartnerthrough.json similarity index 100% rename from backend/hct_mis_api/apps/core/fixtures/businessareapartnerthrough.json rename to src/hct_mis_api/apps/core/fixtures/businessareapartnerthrough.json diff --git a/backend/hct_mis_api/apps/core/fixtures/data-selenium.json b/src/hct_mis_api/apps/core/fixtures/data-selenium.json similarity index 100% rename from backend/hct_mis_api/apps/core/fixtures/data-selenium.json rename to src/hct_mis_api/apps/core/fixtures/data-selenium.json diff --git a/backend/hct_mis_api/apps/core/fixtures/data.json b/src/hct_mis_api/apps/core/fixtures/data.json similarity index 100% rename from backend/hct_mis_api/apps/core/fixtures/data.json rename to src/hct_mis_api/apps/core/fixtures/data.json diff --git a/backend/hct_mis_api/apps/core/fixtures/pdu.json b/src/hct_mis_api/apps/core/fixtures/pdu.json similarity index 100% rename from backend/hct_mis_api/apps/core/fixtures/pdu.json rename to src/hct_mis_api/apps/core/fixtures/pdu.json diff --git a/backend/hct_mis_api/apps/core/flex_fields_importer.py b/src/hct_mis_api/apps/core/flex_fields_importer.py similarity index 100% rename from backend/hct_mis_api/apps/core/flex_fields_importer.py rename to src/hct_mis_api/apps/core/flex_fields_importer.py diff --git a/backend/hct_mis_api/apps/core/forms.py b/src/hct_mis_api/apps/core/forms.py similarity index 100% rename from backend/hct_mis_api/apps/core/forms.py rename to src/hct_mis_api/apps/core/forms.py diff --git a/backend/hct_mis_api/apps/core/hope_redirect.py b/src/hct_mis_api/apps/core/hope_redirect.py similarity index 100% rename from backend/hct_mis_api/apps/core/hope_redirect.py rename to src/hct_mis_api/apps/core/hope_redirect.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/__init__.py b/src/hct_mis_api/apps/core/kobo/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/__init__.py rename to src/hct_mis_api/apps/core/kobo/__init__.py diff --git a/backend/hct_mis_api/apps/core/kobo/api.py b/src/hct_mis_api/apps/core/kobo/api.py similarity index 100% rename from backend/hct_mis_api/apps/core/kobo/api.py rename to src/hct_mis_api/apps/core/kobo/api.py diff --git a/backend/hct_mis_api/apps/core/kobo/common.py b/src/hct_mis_api/apps/core/kobo/common.py similarity index 100% rename from backend/hct_mis_api/apps/core/kobo/common.py rename to src/hct_mis_api/apps/core/kobo/common.py diff --git a/backend/hct_mis_api/apps/core/languages.py b/src/hct_mis_api/apps/core/languages.py similarity index 100% rename from backend/hct_mis_api/apps/core/languages.py rename to src/hct_mis_api/apps/core/languages.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/migrations/__init__.py b/src/hct_mis_api/apps/core/management/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/migrations/__init__.py rename to src/hct_mis_api/apps/core/management/__init__.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/tests/__init__.py b/src/hct_mis_api/apps/core/management/commands/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/cash_assist_datahub/tests/__init__.py rename to src/hct_mis_api/apps/core/management/commands/__init__.py diff --git a/backend/hct_mis_api/apps/core/management/commands/addunicefusers.py b/src/hct_mis_api/apps/core/management/commands/addunicefusers.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/addunicefusers.py rename to src/hct_mis_api/apps/core/management/commands/addunicefusers.py diff --git a/backend/hct_mis_api/apps/core/management/commands/createadminpermissiongroups.py b/src/hct_mis_api/apps/core/management/commands/createadminpermissiongroups.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/createadminpermissiongroups.py rename to src/hct_mis_api/apps/core/management/commands/createadminpermissiongroups.py diff --git a/backend/hct_mis_api/apps/core/management/commands/dropalldb.py b/src/hct_mis_api/apps/core/management/commands/dropalldb.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/dropalldb.py rename to src/hct_mis_api/apps/core/management/commands/dropalldb.py diff --git a/backend/hct_mis_api/apps/core/management/commands/fixexchangerates.py b/src/hct_mis_api/apps/core/management/commands/fixexchangerates.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/fixexchangerates.py rename to src/hct_mis_api/apps/core/management/commands/fixexchangerates.py diff --git a/backend/hct_mis_api/apps/core/management/commands/generatedocumenttypes.py b/src/hct_mis_api/apps/core/management/commands/generatedocumenttypes.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/generatedocumenttypes.py rename to src/hct_mis_api/apps/core/management/commands/generatedocumenttypes.py diff --git a/backend/hct_mis_api/apps/core/management/commands/generatefixtures.py b/src/hct_mis_api/apps/core/management/commands/generatefixtures.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/generatefixtures.py rename to src/hct_mis_api/apps/core/management/commands/generatefixtures.py diff --git a/backend/hct_mis_api/apps/core/management/commands/generateroles.py b/src/hct_mis_api/apps/core/management/commands/generateroles.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/generateroles.py rename to src/hct_mis_api/apps/core/management/commands/generateroles.py diff --git a/backend/hct_mis_api/apps/core/management/commands/init-e2e-scenario.py b/src/hct_mis_api/apps/core/management/commands/init-e2e-scenario.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/init-e2e-scenario.py rename to src/hct_mis_api/apps/core/management/commands/init-e2e-scenario.py diff --git a/backend/hct_mis_api/apps/core/management/commands/init.py b/src/hct_mis_api/apps/core/management/commands/init.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/init.py rename to src/hct_mis_api/apps/core/management/commands/init.py diff --git a/backend/hct_mis_api/apps/core/management/commands/initcypress.py b/src/hct_mis_api/apps/core/management/commands/initcypress.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/initcypress.py rename to src/hct_mis_api/apps/core/management/commands/initcypress.py diff --git a/backend/hct_mis_api/apps/core/management/commands/initdemo.py b/src/hct_mis_api/apps/core/management/commands/initdemo.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/initdemo.py rename to src/hct_mis_api/apps/core/management/commands/initdemo.py diff --git a/backend/hct_mis_api/apps/core/management/commands/initempty.py b/src/hct_mis_api/apps/core/management/commands/initempty.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/initempty.py rename to src/hct_mis_api/apps/core/management/commands/initempty.py diff --git a/backend/hct_mis_api/apps/core/management/commands/initemptyprod.py b/src/hct_mis_api/apps/core/management/commands/initemptyprod.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/initemptyprod.py rename to src/hct_mis_api/apps/core/management/commands/initemptyprod.py diff --git a/backend/hct_mis_api/apps/core/management/commands/initemptystaging.py b/src/hct_mis_api/apps/core/management/commands/initemptystaging.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/initemptystaging.py rename to src/hct_mis_api/apps/core/management/commands/initemptystaging.py diff --git a/backend/hct_mis_api/apps/core/management/commands/loadbusinessareas.py b/src/hct_mis_api/apps/core/management/commands/loadbusinessareas.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/loadbusinessareas.py rename to src/hct_mis_api/apps/core/management/commands/loadbusinessareas.py diff --git a/backend/hct_mis_api/apps/core/management/commands/loadcountrycodes.py b/src/hct_mis_api/apps/core/management/commands/loadcountrycodes.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/loadcountrycodes.py rename to src/hct_mis_api/apps/core/management/commands/loadcountrycodes.py diff --git a/backend/hct_mis_api/apps/core/management/commands/loadflexfieldsattributes.py b/src/hct_mis_api/apps/core/management/commands/loadflexfieldsattributes.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/loadflexfieldsattributes.py rename to src/hct_mis_api/apps/core/management/commands/loadflexfieldsattributes.py diff --git a/backend/hct_mis_api/apps/core/management/commands/makemigrations.py b/src/hct_mis_api/apps/core/management/commands/makemigrations.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/makemigrations.py rename to src/hct_mis_api/apps/core/management/commands/makemigrations.py diff --git a/backend/hct_mis_api/apps/core/management/commands/migrate.py b/src/hct_mis_api/apps/core/management/commands/migrate.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/migrate.py rename to src/hct_mis_api/apps/core/management/commands/migrate.py diff --git a/backend/hct_mis_api/apps/core/management/commands/migratealldb.py b/src/hct_mis_api/apps/core/management/commands/migratealldb.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/migratealldb.py rename to src/hct_mis_api/apps/core/management/commands/migratealldb.py diff --git a/backend/hct_mis_api/apps/core/management/commands/reindex_individuals_per_business_area.py b/src/hct_mis_api/apps/core/management/commands/reindex_individuals_per_business_area.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/reindex_individuals_per_business_area.py rename to src/hct_mis_api/apps/core/management/commands/reindex_individuals_per_business_area.py diff --git a/backend/hct_mis_api/apps/core/management/commands/reset_business_area_sequences.py b/src/hct_mis_api/apps/core/management/commands/reset_business_area_sequences.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/reset_business_area_sequences.py rename to src/hct_mis_api/apps/core/management/commands/reset_business_area_sequences.py diff --git a/backend/hct_mis_api/apps/core/management/commands/upgrade.py b/src/hct_mis_api/apps/core/management/commands/upgrade.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/upgrade.py rename to src/hct_mis_api/apps/core/management/commands/upgrade.py diff --git a/backend/hct_mis_api/apps/core/management/sql.py b/src/hct_mis_api/apps/core/management/sql.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/sql.py rename to src/hct_mis_api/apps/core/management/sql.py diff --git a/backend/hct_mis_api/apps/core/memcache.py b/src/hct_mis_api/apps/core/memcache.py similarity index 100% rename from backend/hct_mis_api/apps/core/memcache.py rename to src/hct_mis_api/apps/core/memcache.py diff --git a/backend/hct_mis_api/apps/core/migrations/0001_migration.py b/src/hct_mis_api/apps/core/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0001_migration.py rename to src/hct_mis_api/apps/core/migrations/0001_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0002_migration_squashed_0006_migration.py b/src/hct_mis_api/apps/core/migrations/0002_migration_squashed_0006_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0002_migration_squashed_0006_migration.py rename to src/hct_mis_api/apps/core/migrations/0002_migration_squashed_0006_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0007_migration_squashed_0016_migration.py b/src/hct_mis_api/apps/core/migrations/0007_migration_squashed_0016_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0007_migration_squashed_0016_migration.py rename to src/hct_mis_api/apps/core/migrations/0007_migration_squashed_0016_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0017_migration_squashed_0040_migration.py b/src/hct_mis_api/apps/core/migrations/0017_migration_squashed_0040_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0017_migration_squashed_0040_migration.py rename to src/hct_mis_api/apps/core/migrations/0017_migration_squashed_0040_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0041_migration.py b/src/hct_mis_api/apps/core/migrations/0041_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0041_migration.py rename to src/hct_mis_api/apps/core/migrations/0041_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0042_migration_squashed_0043_migration.py b/src/hct_mis_api/apps/core/migrations/0042_migration_squashed_0043_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0042_migration_squashed_0043_migration.py rename to src/hct_mis_api/apps/core/migrations/0042_migration_squashed_0043_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0044_migration_squashed_0057_migration.py b/src/hct_mis_api/apps/core/migrations/0044_migration_squashed_0057_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0044_migration_squashed_0057_migration.py rename to src/hct_mis_api/apps/core/migrations/0044_migration_squashed_0057_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0058_migration.py b/src/hct_mis_api/apps/core/migrations/0058_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0058_migration.py rename to src/hct_mis_api/apps/core/migrations/0058_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0058_migration_squashed_0059_migration.py b/src/hct_mis_api/apps/core/migrations/0058_migration_squashed_0059_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0058_migration_squashed_0059_migration.py rename to src/hct_mis_api/apps/core/migrations/0058_migration_squashed_0059_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0059_migration.py b/src/hct_mis_api/apps/core/migrations/0059_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0059_migration.py rename to src/hct_mis_api/apps/core/migrations/0059_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0060_migration_squashed_0064_migration.py b/src/hct_mis_api/apps/core/migrations/0060_migration_squashed_0064_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0060_migration_squashed_0064_migration.py rename to src/hct_mis_api/apps/core/migrations/0060_migration_squashed_0064_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0065_migration_squashed_0067_migration.py b/src/hct_mis_api/apps/core/migrations/0065_migration_squashed_0067_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0065_migration_squashed_0067_migration.py rename to src/hct_mis_api/apps/core/migrations/0065_migration_squashed_0067_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0068_migration.py b/src/hct_mis_api/apps/core/migrations/0068_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0068_migration.py rename to src/hct_mis_api/apps/core/migrations/0068_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0068_migration_squashed_0076_migration.py b/src/hct_mis_api/apps/core/migrations/0068_migration_squashed_0076_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0068_migration_squashed_0076_migration.py rename to src/hct_mis_api/apps/core/migrations/0068_migration_squashed_0076_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0069_migration.py b/src/hct_mis_api/apps/core/migrations/0069_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0069_migration.py rename to src/hct_mis_api/apps/core/migrations/0069_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0070_migration.py b/src/hct_mis_api/apps/core/migrations/0070_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0070_migration.py rename to src/hct_mis_api/apps/core/migrations/0070_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0071_migration.py b/src/hct_mis_api/apps/core/migrations/0071_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0071_migration.py rename to src/hct_mis_api/apps/core/migrations/0071_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0072_migration.py b/src/hct_mis_api/apps/core/migrations/0072_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0072_migration.py rename to src/hct_mis_api/apps/core/migrations/0072_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0073_migration.py b/src/hct_mis_api/apps/core/migrations/0073_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0073_migration.py rename to src/hct_mis_api/apps/core/migrations/0073_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0074_migration.py b/src/hct_mis_api/apps/core/migrations/0074_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0074_migration.py rename to src/hct_mis_api/apps/core/migrations/0074_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0075_migration.py b/src/hct_mis_api/apps/core/migrations/0075_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0075_migration.py rename to src/hct_mis_api/apps/core/migrations/0075_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0076_migration.py b/src/hct_mis_api/apps/core/migrations/0076_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0076_migration.py rename to src/hct_mis_api/apps/core/migrations/0076_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0077_migration.py b/src/hct_mis_api/apps/core/migrations/0077_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0077_migration.py rename to src/hct_mis_api/apps/core/migrations/0077_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0078_migration.py b/src/hct_mis_api/apps/core/migrations/0078_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0078_migration.py rename to src/hct_mis_api/apps/core/migrations/0078_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0079_migration.py b/src/hct_mis_api/apps/core/migrations/0079_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0079_migration.py rename to src/hct_mis_api/apps/core/migrations/0079_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0080_migration.py b/src/hct_mis_api/apps/core/migrations/0080_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0080_migration.py rename to src/hct_mis_api/apps/core/migrations/0080_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0081_migration.py b/src/hct_mis_api/apps/core/migrations/0081_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0081_migration.py rename to src/hct_mis_api/apps/core/migrations/0081_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0082_migration.py b/src/hct_mis_api/apps/core/migrations/0082_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0082_migration.py rename to src/hct_mis_api/apps/core/migrations/0082_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0083_migration.py b/src/hct_mis_api/apps/core/migrations/0083_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0083_migration.py rename to src/hct_mis_api/apps/core/migrations/0083_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0084_migration.py b/src/hct_mis_api/apps/core/migrations/0084_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0084_migration.py rename to src/hct_mis_api/apps/core/migrations/0084_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0085_migration.py b/src/hct_mis_api/apps/core/migrations/0085_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0085_migration.py rename to src/hct_mis_api/apps/core/migrations/0085_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0086_migration.py b/src/hct_mis_api/apps/core/migrations/0086_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0086_migration.py rename to src/hct_mis_api/apps/core/migrations/0086_migration.py diff --git a/backend/hct_mis_api/apps/core/migrations/0087_migration.py b/src/hct_mis_api/apps/core/migrations/0087_migration.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/0087_migration.py rename to src/hct_mis_api/apps/core/migrations/0087_migration.py diff --git a/backend/hct_mis_api/apps/changelog/__init__.py b/src/hct_mis_api/apps/core/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/__init__.py rename to src/hct_mis_api/apps/core/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/core/mixins.py b/src/hct_mis_api/apps/core/mixins.py similarity index 100% rename from backend/hct_mis_api/apps/core/mixins.py rename to src/hct_mis_api/apps/core/mixins.py diff --git a/backend/hct_mis_api/apps/core/models.py b/src/hct_mis_api/apps/core/models.py similarity index 100% rename from backend/hct_mis_api/apps/core/models.py rename to src/hct_mis_api/apps/core/models.py diff --git a/backend/hct_mis_api/apps/core/permissions.py b/src/hct_mis_api/apps/core/permissions.py similarity index 100% rename from backend/hct_mis_api/apps/core/permissions.py rename to src/hct_mis_api/apps/core/permissions.py diff --git a/backend/hct_mis_api/apps/core/permissions_views_mixins.py b/src/hct_mis_api/apps/core/permissions_views_mixins.py similarity index 100% rename from backend/hct_mis_api/apps/core/permissions_views_mixins.py rename to src/hct_mis_api/apps/core/permissions_views_mixins.py diff --git a/backend/hct_mis_api/apps/core/querysets.py b/src/hct_mis_api/apps/core/querysets.py similarity index 100% rename from backend/hct_mis_api/apps/core/querysets.py rename to src/hct_mis_api/apps/core/querysets.py diff --git a/backend/hct_mis_api/apps/core/rest_api.py b/src/hct_mis_api/apps/core/rest_api.py similarity index 100% rename from backend/hct_mis_api/apps/core/rest_api.py rename to src/hct_mis_api/apps/core/rest_api.py diff --git a/backend/hct_mis_api/apps/core/scalars.py b/src/hct_mis_api/apps/core/scalars.py similarity index 100% rename from backend/hct_mis_api/apps/core/scalars.py rename to src/hct_mis_api/apps/core/scalars.py diff --git a/backend/hct_mis_api/apps/core/schema.py b/src/hct_mis_api/apps/core/schema.py similarity index 100% rename from backend/hct_mis_api/apps/core/schema.py rename to src/hct_mis_api/apps/core/schema.py diff --git a/backend/hct_mis_api/apps/changelog/migrations/__init__.py b/src/hct_mis_api/apps/core/services/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from backend/hct_mis_api/apps/changelog/migrations/__init__.py rename to src/hct_mis_api/apps/core/services/__init__.py diff --git a/backend/hct_mis_api/apps/changelog/tests/__init__.py b/src/hct_mis_api/apps/core/services/rapid_pro/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from backend/hct_mis_api/apps/changelog/tests/__init__.py rename to src/hct_mis_api/apps/core/services/rapid_pro/__init__.py diff --git a/backend/hct_mis_api/apps/core/services/rapid_pro/api.py b/src/hct_mis_api/apps/core/services/rapid_pro/api.py similarity index 100% rename from backend/hct_mis_api/apps/core/services/rapid_pro/api.py rename to src/hct_mis_api/apps/core/services/rapid_pro/api.py diff --git a/backend/hct_mis_api/apps/core/signals.py b/src/hct_mis_api/apps/core/signals.py similarity index 100% rename from backend/hct_mis_api/apps/core/signals.py rename to src/hct_mis_api/apps/core/signals.py diff --git a/backend/hct_mis_api/apps/core/static/core/img/hope_email_header.png b/src/hct_mis_api/apps/core/static/core/img/hope_email_header.png similarity index 100% rename from backend/hct_mis_api/apps/core/static/core/img/hope_email_header.png rename to src/hct_mis_api/apps/core/static/core/img/hope_email_header.png diff --git a/backend/hct_mis_api/apps/core/storage.py b/src/hct_mis_api/apps/core/storage.py similarity index 100% rename from backend/hct_mis_api/apps/core/storage.py rename to src/hct_mis_api/apps/core/storage.py diff --git a/backend/hct_mis_api/apps/core/field_attributes/__init__.py b/src/hct_mis_api/apps/core/tasks/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/field_attributes/__init__.py rename to src/hct_mis_api/apps/core/tasks/__init__.py diff --git a/backend/hct_mis_api/apps/core/tasks/upload_new_template_and_update_flex_fields.py b/src/hct_mis_api/apps/core/tasks/upload_new_template_and_update_flex_fields.py similarity index 100% rename from backend/hct_mis_api/apps/core/tasks/upload_new_template_and_update_flex_fields.py rename to src/hct_mis_api/apps/core/tasks/upload_new_template_and_update_flex_fields.py diff --git a/backend/hct_mis_api/apps/core/tasks_schedules.py b/src/hct_mis_api/apps/core/tasks_schedules.py similarity index 100% rename from backend/hct_mis_api/apps/core/tasks_schedules.py rename to src/hct_mis_api/apps/core/tasks_schedules.py diff --git a/backend/hct_mis_api/apps/core/templates/core/admin/ba_members.html b/src/hct_mis_api/apps/core/templates/core/admin/ba_members.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/admin/ba_members.html rename to src/hct_mis_api/apps/core/templates/core/admin/ba_members.html diff --git a/backend/hct_mis_api/apps/core/templates/core/admin/ca_doap.html b/src/hct_mis_api/apps/core/templates/core/admin/ca_doap.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/admin/ca_doap.html rename to src/hct_mis_api/apps/core/templates/core/admin/ca_doap.html diff --git a/backend/hct_mis_api/apps/core/templates/core/admin/create_tp.html b/src/hct_mis_api/apps/core/templates/core/admin/create_tp.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/admin/create_tp.html rename to src/hct_mis_api/apps/core/templates/core/admin/create_tp.html diff --git a/backend/hct_mis_api/apps/core/templates/core/admin/export_locations.html b/src/hct_mis_api/apps/core/templates/core/admin/export_locations.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/admin/export_locations.html rename to src/hct_mis_api/apps/core/templates/core/admin/export_locations.html diff --git a/backend/hct_mis_api/apps/core/templates/core/admin/import_locations.html b/src/hct_mis_api/apps/core/templates/core/admin/import_locations.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/admin/import_locations.html rename to src/hct_mis_api/apps/core/templates/core/admin/import_locations.html diff --git a/backend/hct_mis_api/apps/core/templates/core/admin/load_admin_areas.html b/src/hct_mis_api/apps/core/templates/core/admin/load_admin_areas.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/admin/load_admin_areas.html rename to src/hct_mis_api/apps/core/templates/core/admin/load_admin_areas.html diff --git a/backend/hct_mis_api/apps/core/templates/core/admin/split_ba.html b/src/hct_mis_api/apps/core/templates/core/admin/split_ba.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/admin/split_ba.html rename to src/hct_mis_api/apps/core/templates/core/admin/split_ba.html diff --git a/backend/hct_mis_api/apps/core/templates/core/base_send_email.html b/src/hct_mis_api/apps/core/templates/core/base_send_email.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/base_send_email.html rename to src/hct_mis_api/apps/core/templates/core/base_send_email.html diff --git a/backend/hct_mis_api/apps/core/templates/core/test_rapidpro.html b/src/hct_mis_api/apps/core/templates/core/test_rapidpro.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/test_rapidpro.html rename to src/hct_mis_api/apps/core/templates/core/test_rapidpro.html diff --git a/backend/hct_mis_api/apps/core/templates/core/upload_file.html b/src/hct_mis_api/apps/core/templates/core/upload_file.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/upload_file.html rename to src/hct_mis_api/apps/core/templates/core/upload_file.html diff --git a/backend/hct_mis_api/apps/core/templates/core/xls_form.html b/src/hct_mis_api/apps/core/templates/core/xls_form.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/core/xls_form.html rename to src/hct_mis_api/apps/core/templates/core/xls_form.html diff --git a/backend/hct_mis_api/apps/core/templates/matomo.html b/src/hct_mis_api/apps/core/templates/matomo.html similarity index 100% rename from backend/hct_mis_api/apps/core/templates/matomo.html rename to src/hct_mis_api/apps/core/templates/matomo.html diff --git a/backend/hct_mis_api/apps/core/kobo/__init__.py b/src/hct_mis_api/apps/core/templatetags/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/kobo/__init__.py rename to src/hct_mis_api/apps/core/templatetags/__init__.py diff --git a/backend/hct_mis_api/apps/core/templatetags/accounts.py b/src/hct_mis_api/apps/core/templatetags/accounts.py similarity index 100% rename from backend/hct_mis_api/apps/core/templatetags/accounts.py rename to src/hct_mis_api/apps/core/templatetags/accounts.py diff --git a/backend/hct_mis_api/apps/core/templatetags/hope.py b/src/hct_mis_api/apps/core/templatetags/hope.py similarity index 100% rename from backend/hct_mis_api/apps/core/templatetags/hope.py rename to src/hct_mis_api/apps/core/templatetags/hope.py diff --git a/backend/hct_mis_api/apps/core/utils.py b/src/hct_mis_api/apps/core/utils.py similarity index 100% rename from backend/hct_mis_api/apps/core/utils.py rename to src/hct_mis_api/apps/core/utils.py diff --git a/backend/hct_mis_api/apps/core/validators.py b/src/hct_mis_api/apps/core/validators.py similarity index 100% rename from backend/hct_mis_api/apps/core/validators.py rename to src/hct_mis_api/apps/core/validators.py diff --git a/backend/hct_mis_api/apps/core/views.py b/src/hct_mis_api/apps/core/views.py similarity index 100% rename from backend/hct_mis_api/apps/core/views.py rename to src/hct_mis_api/apps/core/views.py diff --git a/backend/hct_mis_api/apps/core/management/__init__.py b/src/hct_mis_api/apps/erp_datahub/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/__init__.py rename to src/hct_mis_api/apps/erp_datahub/__init__.py diff --git a/backend/hct_mis_api/apps/erp_datahub/admin.py b/src/hct_mis_api/apps/erp_datahub/admin.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/admin.py rename to src/hct_mis_api/apps/erp_datahub/admin.py diff --git a/backend/hct_mis_api/apps/erp_datahub/apps.py b/src/hct_mis_api/apps/erp_datahub/apps.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/apps.py rename to src/hct_mis_api/apps/erp_datahub/apps.py diff --git a/backend/hct_mis_api/apps/erp_datahub/celery_tasks.py b/src/hct_mis_api/apps/erp_datahub/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/celery_tasks.py rename to src/hct_mis_api/apps/erp_datahub/celery_tasks.py diff --git a/backend/hct_mis_api/apps/erp_datahub/fixtures.py b/src/hct_mis_api/apps/erp_datahub/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/fixtures.py rename to src/hct_mis_api/apps/erp_datahub/fixtures.py diff --git a/backend/hct_mis_api/apps/erp_datahub/migrations/0001_migration_squashed_0017_migration.py b/src/hct_mis_api/apps/erp_datahub/migrations/0001_migration_squashed_0017_migration.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/migrations/0001_migration_squashed_0017_migration.py rename to src/hct_mis_api/apps/erp_datahub/migrations/0001_migration_squashed_0017_migration.py diff --git a/backend/hct_mis_api/apps/erp_datahub/migrations/0018_migration.py b/src/hct_mis_api/apps/erp_datahub/migrations/0018_migration.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/migrations/0018_migration.py rename to src/hct_mis_api/apps/erp_datahub/migrations/0018_migration.py diff --git a/backend/hct_mis_api/apps/erp_datahub/migrations/0019_migration.py b/src/hct_mis_api/apps/erp_datahub/migrations/0019_migration.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/migrations/0019_migration.py rename to src/hct_mis_api/apps/erp_datahub/migrations/0019_migration.py diff --git a/backend/hct_mis_api/apps/erp_datahub/migrations/0020_migration.py b/src/hct_mis_api/apps/erp_datahub/migrations/0020_migration.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/migrations/0020_migration.py rename to src/hct_mis_api/apps/erp_datahub/migrations/0020_migration.py diff --git a/backend/hct_mis_api/apps/core/management/commands/__init__.py b/src/hct_mis_api/apps/erp_datahub/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/management/commands/__init__.py rename to src/hct_mis_api/apps/erp_datahub/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/erp_datahub/models.py b/src/hct_mis_api/apps/erp_datahub/models.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/models.py rename to src/hct_mis_api/apps/erp_datahub/models.py diff --git a/backend/hct_mis_api/apps/core/migrations/__init__.py b/src/hct_mis_api/apps/erp_datahub/tasks/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/migrations/__init__.py rename to src/hct_mis_api/apps/erp_datahub/tasks/__init__.py diff --git a/backend/hct_mis_api/apps/erp_datahub/tasks/pull_from_erp_datahub.py b/src/hct_mis_api/apps/erp_datahub/tasks/pull_from_erp_datahub.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/tasks/pull_from_erp_datahub.py rename to src/hct_mis_api/apps/erp_datahub/tasks/pull_from_erp_datahub.py diff --git a/backend/hct_mis_api/apps/erp_datahub/tasks/sync_to_mis_datahub.py b/src/hct_mis_api/apps/erp_datahub/tasks/sync_to_mis_datahub.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/tasks/sync_to_mis_datahub.py rename to src/hct_mis_api/apps/erp_datahub/tasks/sync_to_mis_datahub.py diff --git a/backend/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/down_payment/assign_business_office.html b/src/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/down_payment/assign_business_office.html similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/down_payment/assign_business_office.html rename to src/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/down_payment/assign_business_office.html diff --git a/backend/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/funds_commitment/assign_business_office.html b/src/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/funds_commitment/assign_business_office.html similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/funds_commitment/assign_business_office.html rename to src/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/funds_commitment/assign_business_office.html diff --git a/backend/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/session/inspect.html b/src/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/session/inspect.html similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/session/inspect.html rename to src/hct_mis_api/apps/erp_datahub/templates/admin/erp_datahub/session/inspect.html diff --git a/backend/hct_mis_api/apps/erp_datahub/utils.py b/src/hct_mis_api/apps/erp_datahub/utils.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/utils.py rename to src/hct_mis_api/apps/erp_datahub/utils.py diff --git a/backend/hct_mis_api/apps/core/services/__init__.py b/src/hct_mis_api/apps/geo/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/services/__init__.py rename to src/hct_mis_api/apps/geo/__init__.py diff --git a/backend/hct_mis_api/apps/geo/admin.py b/src/hct_mis_api/apps/geo/admin.py similarity index 100% rename from backend/hct_mis_api/apps/geo/admin.py rename to src/hct_mis_api/apps/geo/admin.py diff --git a/backend/hct_mis_api/apps/core/services/rapid_pro/__init__.py b/src/hct_mis_api/apps/geo/api/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/services/rapid_pro/__init__.py rename to src/hct_mis_api/apps/geo/api/__init__.py diff --git a/backend/hct_mis_api/apps/geo/api/caches.py b/src/hct_mis_api/apps/geo/api/caches.py similarity index 100% rename from backend/hct_mis_api/apps/geo/api/caches.py rename to src/hct_mis_api/apps/geo/api/caches.py diff --git a/backend/hct_mis_api/apps/geo/api/filters.py b/src/hct_mis_api/apps/geo/api/filters.py similarity index 100% rename from backend/hct_mis_api/apps/geo/api/filters.py rename to src/hct_mis_api/apps/geo/api/filters.py diff --git a/backend/hct_mis_api/apps/geo/api/serializers.py b/src/hct_mis_api/apps/geo/api/serializers.py similarity index 100% rename from backend/hct_mis_api/apps/geo/api/serializers.py rename to src/hct_mis_api/apps/geo/api/serializers.py diff --git a/backend/hct_mis_api/apps/geo/api/urls.py b/src/hct_mis_api/apps/geo/api/urls.py similarity index 100% rename from backend/hct_mis_api/apps/geo/api/urls.py rename to src/hct_mis_api/apps/geo/api/urls.py diff --git a/backend/hct_mis_api/apps/geo/api/views.py b/src/hct_mis_api/apps/geo/api/views.py similarity index 100% rename from backend/hct_mis_api/apps/geo/api/views.py rename to src/hct_mis_api/apps/geo/api/views.py diff --git a/backend/hct_mis_api/apps/geo/apps.py b/src/hct_mis_api/apps/geo/apps.py similarity index 100% rename from backend/hct_mis_api/apps/geo/apps.py rename to src/hct_mis_api/apps/geo/apps.py diff --git a/backend/hct_mis_api/apps/geo/compat.py b/src/hct_mis_api/apps/geo/compat.py similarity index 100% rename from backend/hct_mis_api/apps/geo/compat.py rename to src/hct_mis_api/apps/geo/compat.py diff --git a/backend/hct_mis_api/apps/geo/filters.py b/src/hct_mis_api/apps/geo/filters.py similarity index 100% rename from backend/hct_mis_api/apps/geo/filters.py rename to src/hct_mis_api/apps/geo/filters.py diff --git a/backend/hct_mis_api/apps/geo/fixtures.py b/src/hct_mis_api/apps/geo/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/geo/fixtures.py rename to src/hct_mis_api/apps/geo/fixtures.py diff --git a/backend/hct_mis_api/apps/geo/fixtures/data.json b/src/hct_mis_api/apps/geo/fixtures/data.json similarity index 100% rename from backend/hct_mis_api/apps/geo/fixtures/data.json rename to src/hct_mis_api/apps/geo/fixtures/data.json diff --git a/backend/hct_mis_api/apps/core/tasks/__init__.py b/src/hct_mis_api/apps/geo/management/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/tasks/__init__.py rename to src/hct_mis_api/apps/geo/management/__init__.py diff --git a/backend/hct_mis_api/apps/core/templatetags/__init__.py b/src/hct_mis_api/apps/geo/management/commands/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/templatetags/__init__.py rename to src/hct_mis_api/apps/geo/management/commands/__init__.py diff --git a/backend/hct_mis_api/apps/geo/management/commands/loadcountries.py b/src/hct_mis_api/apps/geo/management/commands/loadcountries.py similarity index 100% rename from backend/hct_mis_api/apps/geo/management/commands/loadcountries.py rename to src/hct_mis_api/apps/geo/management/commands/loadcountries.py diff --git a/backend/hct_mis_api/apps/geo/migrations/0001_migration.py b/src/hct_mis_api/apps/geo/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/0001_migration.py rename to src/hct_mis_api/apps/geo/migrations/0001_migration.py diff --git a/backend/hct_mis_api/apps/geo/migrations/0002_migration.py b/src/hct_mis_api/apps/geo/migrations/0002_migration.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/0002_migration.py rename to src/hct_mis_api/apps/geo/migrations/0002_migration.py diff --git a/backend/hct_mis_api/apps/geo/migrations/0003_migration.py b/src/hct_mis_api/apps/geo/migrations/0003_migration.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/0003_migration.py rename to src/hct_mis_api/apps/geo/migrations/0003_migration.py diff --git a/backend/hct_mis_api/apps/geo/migrations/0004_migration.py b/src/hct_mis_api/apps/geo/migrations/0004_migration.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/0004_migration.py rename to src/hct_mis_api/apps/geo/migrations/0004_migration.py diff --git a/backend/hct_mis_api/apps/geo/migrations/0005_migration.py b/src/hct_mis_api/apps/geo/migrations/0005_migration.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/0005_migration.py rename to src/hct_mis_api/apps/geo/migrations/0005_migration.py diff --git a/backend/hct_mis_api/apps/geo/migrations/0005_migration_squashed_0007_migration.py b/src/hct_mis_api/apps/geo/migrations/0005_migration_squashed_0007_migration.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/0005_migration_squashed_0007_migration.py rename to src/hct_mis_api/apps/geo/migrations/0005_migration_squashed_0007_migration.py diff --git a/backend/hct_mis_api/apps/geo/migrations/0006_migration.py b/src/hct_mis_api/apps/geo/migrations/0006_migration.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/0006_migration.py rename to src/hct_mis_api/apps/geo/migrations/0006_migration.py diff --git a/backend/hct_mis_api/apps/geo/migrations/0007_migration.py b/src/hct_mis_api/apps/geo/migrations/0007_migration.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/0007_migration.py rename to src/hct_mis_api/apps/geo/migrations/0007_migration.py diff --git a/backend/hct_mis_api/apps/geo/migrations/0008_migration.py b/src/hct_mis_api/apps/geo/migrations/0008_migration.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/0008_migration.py rename to src/hct_mis_api/apps/geo/migrations/0008_migration.py diff --git a/backend/hct_mis_api/apps/geo/migrations/0009_migration.py b/src/hct_mis_api/apps/geo/migrations/0009_migration.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/0009_migration.py rename to src/hct_mis_api/apps/geo/migrations/0009_migration.py diff --git a/backend/hct_mis_api/apps/core/tests/__init__.py b/src/hct_mis_api/apps/geo/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/__init__.py rename to src/hct_mis_api/apps/geo/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/geo/missing_countries.py b/src/hct_mis_api/apps/geo/missing_countries.py similarity index 100% rename from backend/hct_mis_api/apps/geo/missing_countries.py rename to src/hct_mis_api/apps/geo/missing_countries.py diff --git a/backend/hct_mis_api/apps/geo/models.py b/src/hct_mis_api/apps/geo/models.py similarity index 100% rename from backend/hct_mis_api/apps/geo/models.py rename to src/hct_mis_api/apps/geo/models.py diff --git a/backend/hct_mis_api/apps/geo/schema.py b/src/hct_mis_api/apps/geo/schema.py similarity index 100% rename from backend/hct_mis_api/apps/geo/schema.py rename to src/hct_mis_api/apps/geo/schema.py diff --git a/backend/hct_mis_api/apps/geo/signals.py b/src/hct_mis_api/apps/geo/signals.py similarity index 100% rename from backend/hct_mis_api/apps/geo/signals.py rename to src/hct_mis_api/apps/geo/signals.py diff --git a/backend/hct_mis_api/apps/geo/templates/admin/geo/import_area_csv.html b/src/hct_mis_api/apps/geo/templates/admin/geo/import_area_csv.html similarity index 100% rename from backend/hct_mis_api/apps/geo/templates/admin/geo/import_area_csv.html rename to src/hct_mis_api/apps/geo/templates/admin/geo/import_area_csv.html diff --git a/backend/hct_mis_api/apps/core/tests/snapshots/__init__.py b/src/hct_mis_api/apps/grievance/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/snapshots/__init__.py rename to src/hct_mis_api/apps/grievance/__init__.py diff --git a/backend/hct_mis_api/apps/grievance/admin.py b/src/hct_mis_api/apps/grievance/admin.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/admin.py rename to src/hct_mis_api/apps/grievance/admin.py diff --git a/backend/hct_mis_api/apps/grievance/apps.py b/src/hct_mis_api/apps/grievance/apps.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/apps.py rename to src/hct_mis_api/apps/grievance/apps.py diff --git a/backend/hct_mis_api/apps/grievance/celery_tasks.py b/src/hct_mis_api/apps/grievance/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/celery_tasks.py rename to src/hct_mis_api/apps/grievance/celery_tasks.py diff --git a/backend/hct_mis_api/apps/grievance/constants.py b/src/hct_mis_api/apps/grievance/constants.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/constants.py rename to src/hct_mis_api/apps/grievance/constants.py diff --git a/backend/hct_mis_api/apps/grievance/documents.py b/src/hct_mis_api/apps/grievance/documents.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/documents.py rename to src/hct_mis_api/apps/grievance/documents.py diff --git a/backend/hct_mis_api/apps/grievance/filters.py b/src/hct_mis_api/apps/grievance/filters.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/filters.py rename to src/hct_mis_api/apps/grievance/filters.py diff --git a/backend/hct_mis_api/apps/grievance/fixtures.py b/src/hct_mis_api/apps/grievance/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/fixtures.py rename to src/hct_mis_api/apps/grievance/fixtures.py diff --git a/backend/hct_mis_api/apps/grievance/fixtures/data-cypress.json b/src/hct_mis_api/apps/grievance/fixtures/data-cypress.json similarity index 100% rename from backend/hct_mis_api/apps/grievance/fixtures/data-cypress.json rename to src/hct_mis_api/apps/grievance/fixtures/data-cypress.json diff --git a/backend/hct_mis_api/apps/grievance/fixtures/data.json b/src/hct_mis_api/apps/grievance/fixtures/data.json similarity index 100% rename from backend/hct_mis_api/apps/grievance/fixtures/data.json rename to src/hct_mis_api/apps/grievance/fixtures/data.json diff --git a/backend/hct_mis_api/apps/grievance/inputs.py b/src/hct_mis_api/apps/grievance/inputs.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/inputs.py rename to src/hct_mis_api/apps/grievance/inputs.py diff --git a/backend/hct_mis_api/apps/grievance/management/commands/fix_grievance_tickets.py b/src/hct_mis_api/apps/grievance/management/commands/fix_grievance_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/management/commands/fix_grievance_tickets.py rename to src/hct_mis_api/apps/grievance/management/commands/fix_grievance_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/management/commands/update_household_unicef_id.py b/src/hct_mis_api/apps/grievance/management/commands/update_household_unicef_id.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/management/commands/update_household_unicef_id.py rename to src/hct_mis_api/apps/grievance/management/commands/update_household_unicef_id.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0001_migration_squashed_0034_migration.py b/src/hct_mis_api/apps/grievance/migrations/0001_migration_squashed_0034_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0001_migration_squashed_0034_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0001_migration_squashed_0034_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0035_migration_squashed_0049_migration.py b/src/hct_mis_api/apps/grievance/migrations/0035_migration_squashed_0049_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0035_migration_squashed_0049_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0035_migration_squashed_0049_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0050_migration.py b/src/hct_mis_api/apps/grievance/migrations/0050_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0050_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0050_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0050_migration_squashed_0054_migration.py b/src/hct_mis_api/apps/grievance/migrations/0050_migration_squashed_0054_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0050_migration_squashed_0054_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0050_migration_squashed_0054_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0051_migration.py b/src/hct_mis_api/apps/grievance/migrations/0051_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0051_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0051_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0052_migration.py b/src/hct_mis_api/apps/grievance/migrations/0052_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0052_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0052_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0053_migration.py b/src/hct_mis_api/apps/grievance/migrations/0053_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0053_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0053_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0054_migration.py b/src/hct_mis_api/apps/grievance/migrations/0054_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0054_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0054_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0055_migration_squashed_0061_migration.py b/src/hct_mis_api/apps/grievance/migrations/0055_migration_squashed_0061_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0055_migration_squashed_0061_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0055_migration_squashed_0061_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0062_migration.py b/src/hct_mis_api/apps/grievance/migrations/0062_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0062_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0062_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0062_migration_squashed_0069_migration.py b/src/hct_mis_api/apps/grievance/migrations/0062_migration_squashed_0069_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0062_migration_squashed_0069_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0062_migration_squashed_0069_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0063_migration.py b/src/hct_mis_api/apps/grievance/migrations/0063_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0063_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0063_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0064_migration.py b/src/hct_mis_api/apps/grievance/migrations/0064_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0064_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0064_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0065_migration.py b/src/hct_mis_api/apps/grievance/migrations/0065_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0065_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0065_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0066_migration.py b/src/hct_mis_api/apps/grievance/migrations/0066_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0066_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0066_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0067_migration.py b/src/hct_mis_api/apps/grievance/migrations/0067_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0067_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0067_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0068_migration.py b/src/hct_mis_api/apps/grievance/migrations/0068_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0068_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0068_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0069_migration.py b/src/hct_mis_api/apps/grievance/migrations/0069_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0069_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0069_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0070_migration.py b/src/hct_mis_api/apps/grievance/migrations/0070_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0070_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0070_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0071_migration.py b/src/hct_mis_api/apps/grievance/migrations/0071_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0071_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0071_migration.py diff --git a/backend/hct_mis_api/apps/grievance/migrations/0072_migration.py b/src/hct_mis_api/apps/grievance/migrations/0072_migration.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/0072_migration.py rename to src/hct_mis_api/apps/grievance/migrations/0072_migration.py diff --git a/backend/hct_mis_api/apps/erp_datahub/__init__.py b/src/hct_mis_api/apps/grievance/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/__init__.py rename to src/hct_mis_api/apps/grievance/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/grievance/models.py b/src/hct_mis_api/apps/grievance/models.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/models.py rename to src/hct_mis_api/apps/grievance/models.py diff --git a/backend/hct_mis_api/apps/grievance/mutations.py b/src/hct_mis_api/apps/grievance/mutations.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/mutations.py rename to src/hct_mis_api/apps/grievance/mutations.py diff --git a/backend/hct_mis_api/apps/grievance/notifications.py b/src/hct_mis_api/apps/grievance/notifications.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/notifications.py rename to src/hct_mis_api/apps/grievance/notifications.py diff --git a/backend/hct_mis_api/apps/grievance/schema.py b/src/hct_mis_api/apps/grievance/schema.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/schema.py rename to src/hct_mis_api/apps/grievance/schema.py diff --git a/backend/hct_mis_api/apps/grievance/schema_dashboard.py b/src/hct_mis_api/apps/grievance/schema_dashboard.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/schema_dashboard.py rename to src/hct_mis_api/apps/grievance/schema_dashboard.py diff --git a/backend/hct_mis_api/apps/erp_datahub/migrations/__init__.py b/src/hct_mis_api/apps/grievance/services/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/migrations/__init__.py rename to src/hct_mis_api/apps/grievance/services/__init__.py diff --git a/backend/hct_mis_api/apps/grievance/services/bulk_action_service.py b/src/hct_mis_api/apps/grievance/services/bulk_action_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/bulk_action_service.py rename to src/hct_mis_api/apps/grievance/services/bulk_action_service.py diff --git a/backend/hct_mis_api/apps/erp_datahub/tasks/__init__.py b/src/hct_mis_api/apps/grievance/services/data_change/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/tasks/__init__.py rename to src/hct_mis_api/apps/grievance/services/data_change/__init__.py diff --git a/backend/hct_mis_api/apps/grievance/services/data_change/add_individual_service.py b/src/hct_mis_api/apps/grievance/services/data_change/add_individual_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/data_change/add_individual_service.py rename to src/hct_mis_api/apps/grievance/services/data_change/add_individual_service.py diff --git a/backend/hct_mis_api/apps/grievance/services/data_change/data_change_service.py b/src/hct_mis_api/apps/grievance/services/data_change/data_change_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/data_change/data_change_service.py rename to src/hct_mis_api/apps/grievance/services/data_change/data_change_service.py diff --git a/backend/hct_mis_api/apps/grievance/services/data_change/household_data_update_service.py b/src/hct_mis_api/apps/grievance/services/data_change/household_data_update_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/data_change/household_data_update_service.py rename to src/hct_mis_api/apps/grievance/services/data_change/household_data_update_service.py diff --git a/backend/hct_mis_api/apps/grievance/services/data_change/household_delete_service.py b/src/hct_mis_api/apps/grievance/services/data_change/household_delete_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/data_change/household_delete_service.py rename to src/hct_mis_api/apps/grievance/services/data_change/household_delete_service.py diff --git a/backend/hct_mis_api/apps/grievance/services/data_change/individual_dalete_service.py b/src/hct_mis_api/apps/grievance/services/data_change/individual_dalete_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/data_change/individual_dalete_service.py rename to src/hct_mis_api/apps/grievance/services/data_change/individual_dalete_service.py diff --git a/backend/hct_mis_api/apps/grievance/services/data_change/individual_data_update_service.py b/src/hct_mis_api/apps/grievance/services/data_change/individual_data_update_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/data_change/individual_data_update_service.py rename to src/hct_mis_api/apps/grievance/services/data_change/individual_data_update_service.py diff --git a/backend/hct_mis_api/apps/grievance/services/data_change/utils.py b/src/hct_mis_api/apps/grievance/services/data_change/utils.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/data_change/utils.py rename to src/hct_mis_api/apps/grievance/services/data_change/utils.py diff --git a/backend/hct_mis_api/apps/grievance/services/data_change_services.py b/src/hct_mis_api/apps/grievance/services/data_change_services.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/data_change_services.py rename to src/hct_mis_api/apps/grievance/services/data_change_services.py diff --git a/backend/hct_mis_api/apps/grievance/services/needs_adjudication_ticket_services.py b/src/hct_mis_api/apps/grievance/services/needs_adjudication_ticket_services.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/needs_adjudication_ticket_services.py rename to src/hct_mis_api/apps/grievance/services/needs_adjudication_ticket_services.py diff --git a/backend/hct_mis_api/apps/grievance/services/payment_verification_services.py b/src/hct_mis_api/apps/grievance/services/payment_verification_services.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/payment_verification_services.py rename to src/hct_mis_api/apps/grievance/services/payment_verification_services.py diff --git a/backend/hct_mis_api/apps/grievance/services/reassign_roles_services.py b/src/hct_mis_api/apps/grievance/services/reassign_roles_services.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/reassign_roles_services.py rename to src/hct_mis_api/apps/grievance/services/reassign_roles_services.py diff --git a/backend/hct_mis_api/apps/grievance/services/referral_services.py b/src/hct_mis_api/apps/grievance/services/referral_services.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/referral_services.py rename to src/hct_mis_api/apps/grievance/services/referral_services.py diff --git a/backend/hct_mis_api/apps/grievance/services/system_ticket_service.py b/src/hct_mis_api/apps/grievance/services/system_ticket_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/system_ticket_service.py rename to src/hct_mis_api/apps/grievance/services/system_ticket_service.py diff --git a/backend/hct_mis_api/apps/grievance/services/ticket_based_on_payment_record_services.py b/src/hct_mis_api/apps/grievance/services/ticket_based_on_payment_record_services.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/ticket_based_on_payment_record_services.py rename to src/hct_mis_api/apps/grievance/services/ticket_based_on_payment_record_services.py diff --git a/backend/hct_mis_api/apps/grievance/services/ticket_creator_service.py b/src/hct_mis_api/apps/grievance/services/ticket_creator_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/ticket_creator_service.py rename to src/hct_mis_api/apps/grievance/services/ticket_creator_service.py diff --git a/backend/hct_mis_api/apps/grievance/services/ticket_status_changer_service.py b/src/hct_mis_api/apps/grievance/services/ticket_status_changer_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/ticket_status_changer_service.py rename to src/hct_mis_api/apps/grievance/services/ticket_status_changer_service.py diff --git a/backend/hct_mis_api/apps/grievance/signals.py b/src/hct_mis_api/apps/grievance/signals.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/signals.py rename to src/hct_mis_api/apps/grievance/signals.py diff --git a/backend/hct_mis_api/apps/erp_datahub/tests/__init__.py b/src/hct_mis_api/apps/grievance/tasks/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/tests/__init__.py rename to src/hct_mis_api/apps/grievance/tasks/__init__.py diff --git a/backend/hct_mis_api/apps/grievance/tasks/deduplicate_and_check_sanctions.py b/src/hct_mis_api/apps/grievance/tasks/deduplicate_and_check_sanctions.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tasks/deduplicate_and_check_sanctions.py rename to src/hct_mis_api/apps/grievance/tasks/deduplicate_and_check_sanctions.py diff --git a/backend/hct_mis_api/apps/grievance/templates/assignment_change_notification_email.html b/src/hct_mis_api/apps/grievance/templates/assignment_change_notification_email.html similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/assignment_change_notification_email.html rename to src/hct_mis_api/apps/grievance/templates/assignment_change_notification_email.html diff --git a/backend/hct_mis_api/apps/grievance/templates/assignment_change_notification_email.txt b/src/hct_mis_api/apps/grievance/templates/assignment_change_notification_email.txt similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/assignment_change_notification_email.txt rename to src/hct_mis_api/apps/grievance/templates/assignment_change_notification_email.txt diff --git a/backend/hct_mis_api/apps/grievance/templates/base_notification_email.html b/src/hct_mis_api/apps/grievance/templates/base_notification_email.html similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/base_notification_email.html rename to src/hct_mis_api/apps/grievance/templates/base_notification_email.html diff --git a/backend/hct_mis_api/apps/grievance/templates/base_notification_email.txt b/src/hct_mis_api/apps/grievance/templates/base_notification_email.txt similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/base_notification_email.txt rename to src/hct_mis_api/apps/grievance/templates/base_notification_email.txt diff --git a/backend/hct_mis_api/apps/grievance/templates/note_added_notification_email.html b/src/hct_mis_api/apps/grievance/templates/note_added_notification_email.html similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/note_added_notification_email.html rename to src/hct_mis_api/apps/grievance/templates/note_added_notification_email.html diff --git a/backend/hct_mis_api/apps/grievance/templates/note_added_notification_email.txt b/src/hct_mis_api/apps/grievance/templates/note_added_notification_email.txt similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/note_added_notification_email.txt rename to src/hct_mis_api/apps/grievance/templates/note_added_notification_email.txt diff --git a/backend/hct_mis_api/apps/grievance/templates/overdue_notification_email.html b/src/hct_mis_api/apps/grievance/templates/overdue_notification_email.html similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/overdue_notification_email.html rename to src/hct_mis_api/apps/grievance/templates/overdue_notification_email.html diff --git a/backend/hct_mis_api/apps/grievance/templates/overdue_notification_email.txt b/src/hct_mis_api/apps/grievance/templates/overdue_notification_email.txt similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/overdue_notification_email.txt rename to src/hct_mis_api/apps/grievance/templates/overdue_notification_email.txt diff --git a/backend/hct_mis_api/apps/grievance/templates/send_back_to_in_progress_notification_email.html b/src/hct_mis_api/apps/grievance/templates/send_back_to_in_progress_notification_email.html similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/send_back_to_in_progress_notification_email.html rename to src/hct_mis_api/apps/grievance/templates/send_back_to_in_progress_notification_email.html diff --git a/backend/hct_mis_api/apps/grievance/templates/send_back_to_in_progress_notification_email.txt b/src/hct_mis_api/apps/grievance/templates/send_back_to_in_progress_notification_email.txt similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/send_back_to_in_progress_notification_email.txt rename to src/hct_mis_api/apps/grievance/templates/send_back_to_in_progress_notification_email.txt diff --git a/backend/hct_mis_api/apps/grievance/templates/send_for_approve_notification_email.html b/src/hct_mis_api/apps/grievance/templates/send_for_approve_notification_email.html similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/send_for_approve_notification_email.html rename to src/hct_mis_api/apps/grievance/templates/send_for_approve_notification_email.html diff --git a/backend/hct_mis_api/apps/grievance/templates/send_for_approve_notification_email.txt b/src/hct_mis_api/apps/grievance/templates/send_for_approve_notification_email.txt similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/send_for_approve_notification_email.txt rename to src/hct_mis_api/apps/grievance/templates/send_for_approve_notification_email.txt diff --git a/backend/hct_mis_api/apps/grievance/templates/sensitive_reminder_notification_email.html b/src/hct_mis_api/apps/grievance/templates/sensitive_reminder_notification_email.html similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/sensitive_reminder_notification_email.html rename to src/hct_mis_api/apps/grievance/templates/sensitive_reminder_notification_email.html diff --git a/backend/hct_mis_api/apps/grievance/templates/sensitive_reminder_notification_email.txt b/src/hct_mis_api/apps/grievance/templates/sensitive_reminder_notification_email.txt similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/sensitive_reminder_notification_email.txt rename to src/hct_mis_api/apps/grievance/templates/sensitive_reminder_notification_email.txt diff --git a/backend/hct_mis_api/apps/grievance/templates/universal_category_created_notification_email.html b/src/hct_mis_api/apps/grievance/templates/universal_category_created_notification_email.html similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/universal_category_created_notification_email.html rename to src/hct_mis_api/apps/grievance/templates/universal_category_created_notification_email.html diff --git a/backend/hct_mis_api/apps/grievance/templates/universal_category_created_notification_email.txt b/src/hct_mis_api/apps/grievance/templates/universal_category_created_notification_email.txt similarity index 100% rename from backend/hct_mis_api/apps/grievance/templates/universal_category_created_notification_email.txt rename to src/hct_mis_api/apps/grievance/templates/universal_category_created_notification_email.txt diff --git a/backend/hct_mis_api/apps/grievance/utils.py b/src/hct_mis_api/apps/grievance/utils.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/utils.py rename to src/hct_mis_api/apps/grievance/utils.py diff --git a/backend/hct_mis_api/apps/grievance/validators.py b/src/hct_mis_api/apps/grievance/validators.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/validators.py rename to src/hct_mis_api/apps/grievance/validators.py diff --git a/backend/hct_mis_api/apps/geo/__init__.py b/src/hct_mis_api/apps/household/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/geo/__init__.py rename to src/hct_mis_api/apps/household/__init__.py diff --git a/backend/hct_mis_api/apps/household/admin/__init__.py b/src/hct_mis_api/apps/household/admin/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/household/admin/__init__.py rename to src/hct_mis_api/apps/household/admin/__init__.py diff --git a/backend/hct_mis_api/apps/household/admin/bank.py b/src/hct_mis_api/apps/household/admin/bank.py similarity index 100% rename from backend/hct_mis_api/apps/household/admin/bank.py rename to src/hct_mis_api/apps/household/admin/bank.py diff --git a/backend/hct_mis_api/apps/household/admin/document.py b/src/hct_mis_api/apps/household/admin/document.py similarity index 100% rename from backend/hct_mis_api/apps/household/admin/document.py rename to src/hct_mis_api/apps/household/admin/document.py diff --git a/backend/hct_mis_api/apps/household/admin/entitlementcard.py b/src/hct_mis_api/apps/household/admin/entitlementcard.py similarity index 100% rename from backend/hct_mis_api/apps/household/admin/entitlementcard.py rename to src/hct_mis_api/apps/household/admin/entitlementcard.py diff --git a/backend/hct_mis_api/apps/household/admin/household.py b/src/hct_mis_api/apps/household/admin/household.py similarity index 100% rename from backend/hct_mis_api/apps/household/admin/household.py rename to src/hct_mis_api/apps/household/admin/household.py diff --git a/backend/hct_mis_api/apps/household/admin/individual.py b/src/hct_mis_api/apps/household/admin/individual.py similarity index 100% rename from backend/hct_mis_api/apps/household/admin/individual.py rename to src/hct_mis_api/apps/household/admin/individual.py diff --git a/backend/hct_mis_api/apps/household/admin/mixins.py b/src/hct_mis_api/apps/household/admin/mixins.py similarity index 100% rename from backend/hct_mis_api/apps/household/admin/mixins.py rename to src/hct_mis_api/apps/household/admin/mixins.py diff --git a/backend/hct_mis_api/apps/household/admin/xlsupdate.py b/src/hct_mis_api/apps/household/admin/xlsupdate.py similarity index 100% rename from backend/hct_mis_api/apps/household/admin/xlsupdate.py rename to src/hct_mis_api/apps/household/admin/xlsupdate.py diff --git a/backend/hct_mis_api/apps/household/apps.py b/src/hct_mis_api/apps/household/apps.py similarity index 100% rename from backend/hct_mis_api/apps/household/apps.py rename to src/hct_mis_api/apps/household/apps.py diff --git a/backend/hct_mis_api/apps/household/celery_tasks.py b/src/hct_mis_api/apps/household/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/household/celery_tasks.py rename to src/hct_mis_api/apps/household/celery_tasks.py diff --git a/backend/hct_mis_api/apps/household/const.py b/src/hct_mis_api/apps/household/const.py similarity index 100% rename from backend/hct_mis_api/apps/household/const.py rename to src/hct_mis_api/apps/household/const.py diff --git a/backend/hct_mis_api/apps/household/documents.py b/src/hct_mis_api/apps/household/documents.py similarity index 100% rename from backend/hct_mis_api/apps/household/documents.py rename to src/hct_mis_api/apps/household/documents.py diff --git a/backend/hct_mis_api/apps/household/filters.py b/src/hct_mis_api/apps/household/filters.py similarity index 100% rename from backend/hct_mis_api/apps/household/filters.py rename to src/hct_mis_api/apps/household/filters.py diff --git a/backend/hct_mis_api/apps/household/fixtures.py b/src/hct_mis_api/apps/household/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/household/fixtures.py rename to src/hct_mis_api/apps/household/fixtures.py diff --git a/backend/hct_mis_api/apps/household/fixtures/data-cypress.json b/src/hct_mis_api/apps/household/fixtures/data-cypress.json similarity index 100% rename from backend/hct_mis_api/apps/household/fixtures/data-cypress.json rename to src/hct_mis_api/apps/household/fixtures/data-cypress.json diff --git a/backend/hct_mis_api/apps/household/fixtures/data.json b/src/hct_mis_api/apps/household/fixtures/data.json similarity index 100% rename from backend/hct_mis_api/apps/household/fixtures/data.json rename to src/hct_mis_api/apps/household/fixtures/data.json diff --git a/backend/hct_mis_api/apps/household/fixtures/documenttype.json b/src/hct_mis_api/apps/household/fixtures/documenttype.json similarity index 100% rename from backend/hct_mis_api/apps/household/fixtures/documenttype.json rename to src/hct_mis_api/apps/household/fixtures/documenttype.json diff --git a/backend/hct_mis_api/apps/household/forms.py b/src/hct_mis_api/apps/household/forms.py similarity index 100% rename from backend/hct_mis_api/apps/household/forms.py rename to src/hct_mis_api/apps/household/forms.py diff --git a/backend/hct_mis_api/apps/geo/api/__init__.py b/src/hct_mis_api/apps/household/management/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/geo/api/__init__.py rename to src/hct_mis_api/apps/household/management/__init__.py diff --git a/backend/hct_mis_api/apps/geo/management/__init__.py b/src/hct_mis_api/apps/household/management/commands/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/geo/management/__init__.py rename to src/hct_mis_api/apps/household/management/commands/__init__.py diff --git a/backend/hct_mis_api/apps/household/management/commands/detect_paid_households.py b/src/hct_mis_api/apps/household/management/commands/detect_paid_households.py similarity index 100% rename from backend/hct_mis_api/apps/household/management/commands/detect_paid_households.py rename to src/hct_mis_api/apps/household/management/commands/detect_paid_households.py diff --git a/backend/hct_mis_api/apps/household/management/commands/fixdocumentsstatus.py b/src/hct_mis_api/apps/household/management/commands/fixdocumentsstatus.py similarity index 100% rename from backend/hct_mis_api/apps/household/management/commands/fixdocumentsstatus.py rename to src/hct_mis_api/apps/household/management/commands/fixdocumentsstatus.py diff --git a/backend/hct_mis_api/apps/household/migrations/0001_migration.py b/src/hct_mis_api/apps/household/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0001_migration.py rename to src/hct_mis_api/apps/household/migrations/0001_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0002_migration.py b/src/hct_mis_api/apps/household/migrations/0002_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0002_migration.py rename to src/hct_mis_api/apps/household/migrations/0002_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0003_migration_squashed_0086_migration.py b/src/hct_mis_api/apps/household/migrations/0003_migration_squashed_0086_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0003_migration_squashed_0086_migration.py rename to src/hct_mis_api/apps/household/migrations/0003_migration_squashed_0086_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0087_migration.py b/src/hct_mis_api/apps/household/migrations/0087_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0087_migration.py rename to src/hct_mis_api/apps/household/migrations/0087_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0087_migration_squashed_0088_migration.py b/src/hct_mis_api/apps/household/migrations/0087_migration_squashed_0088_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0087_migration_squashed_0088_migration.py rename to src/hct_mis_api/apps/household/migrations/0087_migration_squashed_0088_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0088_migration.py b/src/hct_mis_api/apps/household/migrations/0088_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0088_migration.py rename to src/hct_mis_api/apps/household/migrations/0088_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0089_migration_squashed_0109_migration.py b/src/hct_mis_api/apps/household/migrations/0089_migration_squashed_0109_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0089_migration_squashed_0109_migration.py rename to src/hct_mis_api/apps/household/migrations/0089_migration_squashed_0109_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0110_migration.py b/src/hct_mis_api/apps/household/migrations/0110_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0110_migration.py rename to src/hct_mis_api/apps/household/migrations/0110_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0111_migration.py b/src/hct_mis_api/apps/household/migrations/0111_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0111_migration.py rename to src/hct_mis_api/apps/household/migrations/0111_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0112_migration.py b/src/hct_mis_api/apps/household/migrations/0112_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0112_migration.py rename to src/hct_mis_api/apps/household/migrations/0112_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0113_migration.py b/src/hct_mis_api/apps/household/migrations/0113_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0113_migration.py rename to src/hct_mis_api/apps/household/migrations/0113_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0114_migration.py b/src/hct_mis_api/apps/household/migrations/0114_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0114_migration.py rename to src/hct_mis_api/apps/household/migrations/0114_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0114_migration_squashed_0119_migration.py b/src/hct_mis_api/apps/household/migrations/0114_migration_squashed_0119_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0114_migration_squashed_0119_migration.py rename to src/hct_mis_api/apps/household/migrations/0114_migration_squashed_0119_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0115_migration.py b/src/hct_mis_api/apps/household/migrations/0115_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0115_migration.py rename to src/hct_mis_api/apps/household/migrations/0115_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0116_migration.py b/src/hct_mis_api/apps/household/migrations/0116_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0116_migration.py rename to src/hct_mis_api/apps/household/migrations/0116_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0117_migration.py b/src/hct_mis_api/apps/household/migrations/0117_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0117_migration.py rename to src/hct_mis_api/apps/household/migrations/0117_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0118_migration.py b/src/hct_mis_api/apps/household/migrations/0118_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0118_migration.py rename to src/hct_mis_api/apps/household/migrations/0118_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0119_migration.py b/src/hct_mis_api/apps/household/migrations/0119_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0119_migration.py rename to src/hct_mis_api/apps/household/migrations/0119_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0120_migration.py b/src/hct_mis_api/apps/household/migrations/0120_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0120_migration.py rename to src/hct_mis_api/apps/household/migrations/0120_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0121_migration.py b/src/hct_mis_api/apps/household/migrations/0121_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0121_migration.py rename to src/hct_mis_api/apps/household/migrations/0121_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0122_migration.py b/src/hct_mis_api/apps/household/migrations/0122_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0122_migration.py rename to src/hct_mis_api/apps/household/migrations/0122_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0123_migration.py b/src/hct_mis_api/apps/household/migrations/0123_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0123_migration.py rename to src/hct_mis_api/apps/household/migrations/0123_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0124_migration.py b/src/hct_mis_api/apps/household/migrations/0124_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0124_migration.py rename to src/hct_mis_api/apps/household/migrations/0124_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0125_migration.py b/src/hct_mis_api/apps/household/migrations/0125_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0125_migration.py rename to src/hct_mis_api/apps/household/migrations/0125_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0126_migration.py b/src/hct_mis_api/apps/household/migrations/0126_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0126_migration.py rename to src/hct_mis_api/apps/household/migrations/0126_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0127_migration.py b/src/hct_mis_api/apps/household/migrations/0127_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0127_migration.py rename to src/hct_mis_api/apps/household/migrations/0127_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0128_migration.py b/src/hct_mis_api/apps/household/migrations/0128_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0128_migration.py rename to src/hct_mis_api/apps/household/migrations/0128_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0129_migration.py b/src/hct_mis_api/apps/household/migrations/0129_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0129_migration.py rename to src/hct_mis_api/apps/household/migrations/0129_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0130_migration_squashed_0140_migration.py b/src/hct_mis_api/apps/household/migrations/0130_migration_squashed_0140_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0130_migration_squashed_0140_migration.py rename to src/hct_mis_api/apps/household/migrations/0130_migration_squashed_0140_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0141_migration.py b/src/hct_mis_api/apps/household/migrations/0141_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0141_migration.py rename to src/hct_mis_api/apps/household/migrations/0141_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0142_migration.py b/src/hct_mis_api/apps/household/migrations/0142_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0142_migration.py rename to src/hct_mis_api/apps/household/migrations/0142_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0143_migration.py b/src/hct_mis_api/apps/household/migrations/0143_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0143_migration.py rename to src/hct_mis_api/apps/household/migrations/0143_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0144_migration.py b/src/hct_mis_api/apps/household/migrations/0144_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0144_migration.py rename to src/hct_mis_api/apps/household/migrations/0144_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0145_migration.py b/src/hct_mis_api/apps/household/migrations/0145_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0145_migration.py rename to src/hct_mis_api/apps/household/migrations/0145_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0146_migration.py b/src/hct_mis_api/apps/household/migrations/0146_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0146_migration.py rename to src/hct_mis_api/apps/household/migrations/0146_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0147_migration.py b/src/hct_mis_api/apps/household/migrations/0147_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0147_migration.py rename to src/hct_mis_api/apps/household/migrations/0147_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0148_migration.py b/src/hct_mis_api/apps/household/migrations/0148_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0148_migration.py rename to src/hct_mis_api/apps/household/migrations/0148_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0148_migration_squashed_0169_migration.py b/src/hct_mis_api/apps/household/migrations/0148_migration_squashed_0169_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0148_migration_squashed_0169_migration.py rename to src/hct_mis_api/apps/household/migrations/0148_migration_squashed_0169_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0149_migration.py b/src/hct_mis_api/apps/household/migrations/0149_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0149_migration.py rename to src/hct_mis_api/apps/household/migrations/0149_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0150_migration.py b/src/hct_mis_api/apps/household/migrations/0150_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0150_migration.py rename to src/hct_mis_api/apps/household/migrations/0150_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0151_migration.py b/src/hct_mis_api/apps/household/migrations/0151_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0151_migration.py rename to src/hct_mis_api/apps/household/migrations/0151_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0152_migration.py b/src/hct_mis_api/apps/household/migrations/0152_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0152_migration.py rename to src/hct_mis_api/apps/household/migrations/0152_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0153_migration.py b/src/hct_mis_api/apps/household/migrations/0153_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0153_migration.py rename to src/hct_mis_api/apps/household/migrations/0153_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0154_migration.py b/src/hct_mis_api/apps/household/migrations/0154_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0154_migration.py rename to src/hct_mis_api/apps/household/migrations/0154_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0155_migration.py b/src/hct_mis_api/apps/household/migrations/0155_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0155_migration.py rename to src/hct_mis_api/apps/household/migrations/0155_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0156_migration.py b/src/hct_mis_api/apps/household/migrations/0156_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0156_migration.py rename to src/hct_mis_api/apps/household/migrations/0156_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0157_migration.py b/src/hct_mis_api/apps/household/migrations/0157_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0157_migration.py rename to src/hct_mis_api/apps/household/migrations/0157_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0158_migration.py b/src/hct_mis_api/apps/household/migrations/0158_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0158_migration.py rename to src/hct_mis_api/apps/household/migrations/0158_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0159_migration.py b/src/hct_mis_api/apps/household/migrations/0159_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0159_migration.py rename to src/hct_mis_api/apps/household/migrations/0159_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0160_migration.py b/src/hct_mis_api/apps/household/migrations/0160_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0160_migration.py rename to src/hct_mis_api/apps/household/migrations/0160_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0161_migration.py b/src/hct_mis_api/apps/household/migrations/0161_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0161_migration.py rename to src/hct_mis_api/apps/household/migrations/0161_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0162_migration.py b/src/hct_mis_api/apps/household/migrations/0162_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0162_migration.py rename to src/hct_mis_api/apps/household/migrations/0162_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0163_migration.py b/src/hct_mis_api/apps/household/migrations/0163_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0163_migration.py rename to src/hct_mis_api/apps/household/migrations/0163_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0164_migration.py b/src/hct_mis_api/apps/household/migrations/0164_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0164_migration.py rename to src/hct_mis_api/apps/household/migrations/0164_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0165_migration.py b/src/hct_mis_api/apps/household/migrations/0165_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0165_migration.py rename to src/hct_mis_api/apps/household/migrations/0165_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0166_migration.py b/src/hct_mis_api/apps/household/migrations/0166_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0166_migration.py rename to src/hct_mis_api/apps/household/migrations/0166_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0167_migration.py b/src/hct_mis_api/apps/household/migrations/0167_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0167_migration.py rename to src/hct_mis_api/apps/household/migrations/0167_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0168_migration.py b/src/hct_mis_api/apps/household/migrations/0168_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0168_migration.py rename to src/hct_mis_api/apps/household/migrations/0168_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0169_migration.py b/src/hct_mis_api/apps/household/migrations/0169_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0169_migration.py rename to src/hct_mis_api/apps/household/migrations/0169_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0170_migration.py b/src/hct_mis_api/apps/household/migrations/0170_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0170_migration.py rename to src/hct_mis_api/apps/household/migrations/0170_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0171_migration.py b/src/hct_mis_api/apps/household/migrations/0171_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0171_migration.py rename to src/hct_mis_api/apps/household/migrations/0171_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0172_migration.py b/src/hct_mis_api/apps/household/migrations/0172_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0172_migration.py rename to src/hct_mis_api/apps/household/migrations/0172_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0173_migration.py b/src/hct_mis_api/apps/household/migrations/0173_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0173_migration.py rename to src/hct_mis_api/apps/household/migrations/0173_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0174_migration.py b/src/hct_mis_api/apps/household/migrations/0174_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0174_migration.py rename to src/hct_mis_api/apps/household/migrations/0174_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0175_migration.py b/src/hct_mis_api/apps/household/migrations/0175_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0175_migration.py rename to src/hct_mis_api/apps/household/migrations/0175_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0176_migration.py b/src/hct_mis_api/apps/household/migrations/0176_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0176_migration.py rename to src/hct_mis_api/apps/household/migrations/0176_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0177_migration.py b/src/hct_mis_api/apps/household/migrations/0177_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0177_migration.py rename to src/hct_mis_api/apps/household/migrations/0177_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0178_migration.py b/src/hct_mis_api/apps/household/migrations/0178_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0178_migration.py rename to src/hct_mis_api/apps/household/migrations/0178_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0179_migration.py b/src/hct_mis_api/apps/household/migrations/0179_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0179_migration.py rename to src/hct_mis_api/apps/household/migrations/0179_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0180_migration.py b/src/hct_mis_api/apps/household/migrations/0180_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0180_migration.py rename to src/hct_mis_api/apps/household/migrations/0180_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0181_migration.py b/src/hct_mis_api/apps/household/migrations/0181_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0181_migration.py rename to src/hct_mis_api/apps/household/migrations/0181_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0182_migration.py b/src/hct_mis_api/apps/household/migrations/0182_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0182_migration.py rename to src/hct_mis_api/apps/household/migrations/0182_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0183_migration.py b/src/hct_mis_api/apps/household/migrations/0183_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0183_migration.py rename to src/hct_mis_api/apps/household/migrations/0183_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0184_migration.py b/src/hct_mis_api/apps/household/migrations/0184_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0184_migration.py rename to src/hct_mis_api/apps/household/migrations/0184_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/0185_migration.py b/src/hct_mis_api/apps/household/migrations/0185_migration.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/0185_migration.py rename to src/hct_mis_api/apps/household/migrations/0185_migration.py diff --git a/backend/hct_mis_api/apps/geo/management/commands/__init__.py b/src/hct_mis_api/apps/household/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/geo/management/commands/__init__.py rename to src/hct_mis_api/apps/household/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/household/models.py b/src/hct_mis_api/apps/household/models.py similarity index 100% rename from backend/hct_mis_api/apps/household/models.py rename to src/hct_mis_api/apps/household/models.py diff --git a/backend/hct_mis_api/apps/household/schema.py b/src/hct_mis_api/apps/household/schema.py similarity index 100% rename from backend/hct_mis_api/apps/household/schema.py rename to src/hct_mis_api/apps/household/schema.py diff --git a/backend/hct_mis_api/apps/household/serializers.py b/src/hct_mis_api/apps/household/serializers.py similarity index 100% rename from backend/hct_mis_api/apps/household/serializers.py rename to src/hct_mis_api/apps/household/serializers.py diff --git a/backend/hct_mis_api/apps/geo/migrations/__init__.py b/src/hct_mis_api/apps/household/services/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/geo/migrations/__init__.py rename to src/hct_mis_api/apps/household/services/__init__.py diff --git a/backend/hct_mis_api/apps/household/services/household_programs_with_delivered_quantity.py b/src/hct_mis_api/apps/household/services/household_programs_with_delivered_quantity.py similarity index 100% rename from backend/hct_mis_api/apps/household/services/household_programs_with_delivered_quantity.py rename to src/hct_mis_api/apps/household/services/household_programs_with_delivered_quantity.py diff --git a/backend/hct_mis_api/apps/household/services/household_recalculate_data.py b/src/hct_mis_api/apps/household/services/household_recalculate_data.py similarity index 100% rename from backend/hct_mis_api/apps/household/services/household_recalculate_data.py rename to src/hct_mis_api/apps/household/services/household_recalculate_data.py diff --git a/backend/hct_mis_api/apps/household/services/household_withdraw.py b/src/hct_mis_api/apps/household/services/household_withdraw.py similarity index 100% rename from backend/hct_mis_api/apps/household/services/household_withdraw.py rename to src/hct_mis_api/apps/household/services/household_withdraw.py diff --git a/backend/hct_mis_api/apps/household/services/individual_xlsx_update.py b/src/hct_mis_api/apps/household/services/individual_xlsx_update.py similarity index 100% rename from backend/hct_mis_api/apps/household/services/individual_xlsx_update.py rename to src/hct_mis_api/apps/household/services/individual_xlsx_update.py diff --git a/backend/hct_mis_api/apps/household/services/individuals_iban_xlsx_update.py b/src/hct_mis_api/apps/household/services/individuals_iban_xlsx_update.py similarity index 100% rename from backend/hct_mis_api/apps/household/services/individuals_iban_xlsx_update.py rename to src/hct_mis_api/apps/household/services/individuals_iban_xlsx_update.py diff --git a/backend/hct_mis_api/apps/household/signals.py b/src/hct_mis_api/apps/household/signals.py similarity index 100% rename from backend/hct_mis_api/apps/household/signals.py rename to src/hct_mis_api/apps/household/signals.py diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/advanced_filters_extra_buttons_change_list.html b/src/hct_mis_api/apps/household/templates/admin/household/advanced_filters_extra_buttons_change_list.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/advanced_filters_extra_buttons_change_list.html rename to src/hct_mis_api/apps/household/templates/admin/household/advanced_filters_extra_buttons_change_list.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/household/add_target_population.html b/src/hct_mis_api/apps/household/templates/admin/household/household/add_target_population.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/household/add_target_population.html rename to src/hct_mis_api/apps/household/templates/admin/household/household/add_target_population.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/household/create_target_population.html b/src/hct_mis_api/apps/household/templates/admin/household/household/create_target_population.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/household/create_target_population.html rename to src/hct_mis_api/apps/household/templates/admin/household/household/create_target_population.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/household/enroll_households_to_program.html b/src/hct_mis_api/apps/household/templates/admin/household/household/enroll_households_to_program.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/household/enroll_households_to_program.html rename to src/hct_mis_api/apps/household/templates/admin/household/household/enroll_households_to_program.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/household/mass_withdrawn.html b/src/hct_mis_api/apps/household/templates/admin/household/household/mass_withdrawn.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/household/mass_withdrawn.html rename to src/hct_mis_api/apps/household/templates/admin/household/household/mass_withdrawn.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/household/sanity_check.html b/src/hct_mis_api/apps/household/templates/admin/household/household/sanity_check.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/household/sanity_check.html rename to src/hct_mis_api/apps/household/templates/admin/household/household/sanity_check.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/household/tickets.html b/src/hct_mis_api/apps/household/templates/admin/household/household/tickets.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/household/tickets.html rename to src/hct_mis_api/apps/household/templates/admin/household/household/tickets.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/household/withdraw_households_from_list.html b/src/hct_mis_api/apps/household/templates/admin/household/household/withdraw_households_from_list.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/household/withdraw_households_from_list.html rename to src/hct_mis_api/apps/household/templates/admin/household/household/withdraw_households_from_list.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/household/withdrawn.html b/src/hct_mis_api/apps/household/templates/admin/household/household/withdrawn.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/household/withdrawn.html rename to src/hct_mis_api/apps/household/templates/admin/household/household/withdrawn.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/individual/business_area_slug_input_filter.html b/src/hct_mis_api/apps/household/templates/admin/household/individual/business_area_slug_input_filter.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/individual/business_area_slug_input_filter.html rename to src/hct_mis_api/apps/household/templates/admin/household/individual/business_area_slug_input_filter.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update.html b/src/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update.html rename to src/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update_email.html b/src/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update_email.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update_email.html rename to src/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update_email.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update_email.txt b/src/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update_email.txt similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update_email.txt rename to src/hct_mis_api/apps/household/templates/admin/household/individual/individuals_iban_xlsx_update_email.txt diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/individual/sanity_check.html b/src/hct_mis_api/apps/household/templates/admin/household/individual/sanity_check.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/individual/sanity_check.html rename to src/hct_mis_api/apps/household/templates/admin/household/individual/sanity_check.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update.html b/src/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update.html rename to src/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update_stage2.html b/src/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update_stage2.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update_stage2.html rename to src/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update_stage2.html diff --git a/backend/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update_stage3.html b/src/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update_stage3.html similarity index 100% rename from backend/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update_stage3.html rename to src/hct_mis_api/apps/household/templates/admin/household/individual/xlsx_update_stage3.html diff --git a/backend/hct_mis_api/apps/household/validators.py b/src/hct_mis_api/apps/household/validators.py similarity index 100% rename from backend/hct_mis_api/apps/household/validators.py rename to src/hct_mis_api/apps/household/validators.py diff --git a/backend/hct_mis_api/apps/household/views.py b/src/hct_mis_api/apps/household/views.py similarity index 100% rename from backend/hct_mis_api/apps/household/views.py rename to src/hct_mis_api/apps/household/views.py diff --git a/backend/hct_mis_api/apps/geo/tests/__init__.py b/src/hct_mis_api/apps/mis_datahub/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/geo/tests/__init__.py rename to src/hct_mis_api/apps/mis_datahub/__init__.py diff --git a/backend/hct_mis_api/apps/mis_datahub/admin.py b/src/hct_mis_api/apps/mis_datahub/admin.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/admin.py rename to src/hct_mis_api/apps/mis_datahub/admin.py diff --git a/backend/hct_mis_api/apps/mis_datahub/apps.py b/src/hct_mis_api/apps/mis_datahub/apps.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/apps.py rename to src/hct_mis_api/apps/mis_datahub/apps.py diff --git a/backend/hct_mis_api/apps/mis_datahub/celery_tasks.py b/src/hct_mis_api/apps/mis_datahub/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/celery_tasks.py rename to src/hct_mis_api/apps/mis_datahub/celery_tasks.py diff --git a/backend/hct_mis_api/apps/mis_datahub/migrations/0001_migration_squashed_0046_migration.py b/src/hct_mis_api/apps/mis_datahub/migrations/0001_migration_squashed_0046_migration.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/migrations/0001_migration_squashed_0046_migration.py rename to src/hct_mis_api/apps/mis_datahub/migrations/0001_migration_squashed_0046_migration.py diff --git a/backend/hct_mis_api/apps/mis_datahub/migrations/0047_migration.py b/src/hct_mis_api/apps/mis_datahub/migrations/0047_migration.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/migrations/0047_migration.py rename to src/hct_mis_api/apps/mis_datahub/migrations/0047_migration.py diff --git a/backend/hct_mis_api/apps/mis_datahub/migrations/0048_migration.py b/src/hct_mis_api/apps/mis_datahub/migrations/0048_migration.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/migrations/0048_migration.py rename to src/hct_mis_api/apps/mis_datahub/migrations/0048_migration.py diff --git a/backend/hct_mis_api/apps/mis_datahub/migrations/0049_migration.py b/src/hct_mis_api/apps/mis_datahub/migrations/0049_migration.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/migrations/0049_migration.py rename to src/hct_mis_api/apps/mis_datahub/migrations/0049_migration.py diff --git a/backend/hct_mis_api/apps/mis_datahub/migrations/0050_migration.py b/src/hct_mis_api/apps/mis_datahub/migrations/0050_migration.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/migrations/0050_migration.py rename to src/hct_mis_api/apps/mis_datahub/migrations/0050_migration.py diff --git a/backend/hct_mis_api/apps/mis_datahub/migrations/0051_migration.py b/src/hct_mis_api/apps/mis_datahub/migrations/0051_migration.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/migrations/0051_migration.py rename to src/hct_mis_api/apps/mis_datahub/migrations/0051_migration.py diff --git a/backend/hct_mis_api/apps/mis_datahub/migrations/0052_migration.py b/src/hct_mis_api/apps/mis_datahub/migrations/0052_migration.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/migrations/0052_migration.py rename to src/hct_mis_api/apps/mis_datahub/migrations/0052_migration.py diff --git a/backend/hct_mis_api/apps/mis_datahub/migrations/0053_migration.py b/src/hct_mis_api/apps/mis_datahub/migrations/0053_migration.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/migrations/0053_migration.py rename to src/hct_mis_api/apps/mis_datahub/migrations/0053_migration.py diff --git a/backend/hct_mis_api/apps/geo/tests/snapshots/__init__.py b/src/hct_mis_api/apps/mis_datahub/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/geo/tests/snapshots/__init__.py rename to src/hct_mis_api/apps/mis_datahub/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/mis_datahub/models.py b/src/hct_mis_api/apps/mis_datahub/models.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/models.py rename to src/hct_mis_api/apps/mis_datahub/models.py diff --git a/backend/hct_mis_api/apps/grievance/__init__.py b/src/hct_mis_api/apps/mis_datahub/tasks/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/__init__.py rename to src/hct_mis_api/apps/mis_datahub/tasks/__init__.py diff --git a/backend/hct_mis_api/apps/mis_datahub/tasks/send_tp_to_datahub.py b/src/hct_mis_api/apps/mis_datahub/tasks/send_tp_to_datahub.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/tasks/send_tp_to_datahub.py rename to src/hct_mis_api/apps/mis_datahub/tasks/send_tp_to_datahub.py diff --git a/backend/hct_mis_api/apps/mis_datahub/templates/admin/mis_datahub/session/inspect.html b/src/hct_mis_api/apps/mis_datahub/templates/admin/mis_datahub/session/inspect.html similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/templates/admin/mis_datahub/session/inspect.html rename to src/hct_mis_api/apps/mis_datahub/templates/admin/mis_datahub/session/inspect.html diff --git a/backend/hct_mis_api/apps/grievance/migrations/__init__.py b/src/hct_mis_api/apps/payment/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/migrations/__init__.py rename to src/hct_mis_api/apps/payment/__init__.py diff --git a/backend/hct_mis_api/apps/payment/admin.py b/src/hct_mis_api/apps/payment/admin.py similarity index 100% rename from backend/hct_mis_api/apps/payment/admin.py rename to src/hct_mis_api/apps/payment/admin.py diff --git a/backend/hct_mis_api/apps/grievance/services/__init__.py b/src/hct_mis_api/apps/payment/api/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/__init__.py rename to src/hct_mis_api/apps/payment/api/__init__.py diff --git a/backend/hct_mis_api/apps/payment/api/caches.py b/src/hct_mis_api/apps/payment/api/caches.py similarity index 100% rename from backend/hct_mis_api/apps/payment/api/caches.py rename to src/hct_mis_api/apps/payment/api/caches.py diff --git a/backend/hct_mis_api/apps/payment/api/filters.py b/src/hct_mis_api/apps/payment/api/filters.py similarity index 100% rename from backend/hct_mis_api/apps/payment/api/filters.py rename to src/hct_mis_api/apps/payment/api/filters.py diff --git a/backend/hct_mis_api/apps/payment/api/serializers.py b/src/hct_mis_api/apps/payment/api/serializers.py similarity index 100% rename from backend/hct_mis_api/apps/payment/api/serializers.py rename to src/hct_mis_api/apps/payment/api/serializers.py diff --git a/backend/hct_mis_api/apps/payment/api/urls.py b/src/hct_mis_api/apps/payment/api/urls.py similarity index 100% rename from backend/hct_mis_api/apps/payment/api/urls.py rename to src/hct_mis_api/apps/payment/api/urls.py diff --git a/backend/hct_mis_api/apps/payment/api/views.py b/src/hct_mis_api/apps/payment/api/views.py similarity index 100% rename from backend/hct_mis_api/apps/payment/api/views.py rename to src/hct_mis_api/apps/payment/api/views.py diff --git a/backend/hct_mis_api/apps/payment/apps.py b/src/hct_mis_api/apps/payment/apps.py similarity index 100% rename from backend/hct_mis_api/apps/payment/apps.py rename to src/hct_mis_api/apps/payment/apps.py diff --git a/backend/hct_mis_api/apps/payment/celery_tasks.py b/src/hct_mis_api/apps/payment/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/payment/celery_tasks.py rename to src/hct_mis_api/apps/payment/celery_tasks.py diff --git a/backend/hct_mis_api/apps/payment/delivery_mechanisms.py b/src/hct_mis_api/apps/payment/delivery_mechanisms.py similarity index 100% rename from backend/hct_mis_api/apps/payment/delivery_mechanisms.py rename to src/hct_mis_api/apps/payment/delivery_mechanisms.py diff --git a/backend/hct_mis_api/apps/payment/fields.py b/src/hct_mis_api/apps/payment/fields.py similarity index 100% rename from backend/hct_mis_api/apps/payment/fields.py rename to src/hct_mis_api/apps/payment/fields.py diff --git a/backend/hct_mis_api/apps/payment/filters.py b/src/hct_mis_api/apps/payment/filters.py similarity index 100% rename from backend/hct_mis_api/apps/payment/filters.py rename to src/hct_mis_api/apps/payment/filters.py diff --git a/backend/hct_mis_api/apps/payment/fixtures.py b/src/hct_mis_api/apps/payment/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/payment/fixtures.py rename to src/hct_mis_api/apps/payment/fixtures.py diff --git a/backend/hct_mis_api/apps/payment/fixtures/data-cypress.json b/src/hct_mis_api/apps/payment/fixtures/data-cypress.json similarity index 100% rename from backend/hct_mis_api/apps/payment/fixtures/data-cypress.json rename to src/hct_mis_api/apps/payment/fixtures/data-cypress.json diff --git a/backend/hct_mis_api/apps/payment/forms.py b/src/hct_mis_api/apps/payment/forms.py similarity index 100% rename from backend/hct_mis_api/apps/payment/forms.py rename to src/hct_mis_api/apps/payment/forms.py diff --git a/backend/hct_mis_api/apps/payment/inputs.py b/src/hct_mis_api/apps/payment/inputs.py similarity index 100% rename from backend/hct_mis_api/apps/payment/inputs.py rename to src/hct_mis_api/apps/payment/inputs.py diff --git a/backend/hct_mis_api/apps/grievance/services/data_change/__init__.py b/src/hct_mis_api/apps/payment/management/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/services/data_change/__init__.py rename to src/hct_mis_api/apps/payment/management/__init__.py diff --git a/backend/hct_mis_api/apps/grievance/tasks/__init__.py b/src/hct_mis_api/apps/payment/management/commands/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tasks/__init__.py rename to src/hct_mis_api/apps/payment/management/commands/__init__.py diff --git a/backend/hct_mis_api/apps/payment/management/commands/fix_payment_records.py b/src/hct_mis_api/apps/payment/management/commands/fix_payment_records.py similarity index 100% rename from backend/hct_mis_api/apps/payment/management/commands/fix_payment_records.py rename to src/hct_mis_api/apps/payment/management/commands/fix_payment_records.py diff --git a/backend/hct_mis_api/apps/payment/managers.py b/src/hct_mis_api/apps/payment/managers.py similarity index 100% rename from backend/hct_mis_api/apps/payment/managers.py rename to src/hct_mis_api/apps/payment/managers.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0001_migration.py b/src/hct_mis_api/apps/payment/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0001_migration.py rename to src/hct_mis_api/apps/payment/migrations/0001_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0002_migration_squashed_0003_migration.py b/src/hct_mis_api/apps/payment/migrations/0002_migration_squashed_0003_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0002_migration_squashed_0003_migration.py rename to src/hct_mis_api/apps/payment/migrations/0002_migration_squashed_0003_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0004_migration_squashed_0009_migration.py b/src/hct_mis_api/apps/payment/migrations/0004_migration_squashed_0009_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0004_migration_squashed_0009_migration.py rename to src/hct_mis_api/apps/payment/migrations/0004_migration_squashed_0009_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0010_migration_squashed_0029_migration.py b/src/hct_mis_api/apps/payment/migrations/0010_migration_squashed_0029_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0010_migration_squashed_0029_migration.py rename to src/hct_mis_api/apps/payment/migrations/0010_migration_squashed_0029_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0030_migration_squashed_0051_migration.py b/src/hct_mis_api/apps/payment/migrations/0030_migration_squashed_0051_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0030_migration_squashed_0051_migration.py rename to src/hct_mis_api/apps/payment/migrations/0030_migration_squashed_0051_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0052_migration_squashed_0071_migration.py b/src/hct_mis_api/apps/payment/migrations/0052_migration_squashed_0071_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0052_migration_squashed_0071_migration.py rename to src/hct_mis_api/apps/payment/migrations/0052_migration_squashed_0071_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0072_migration.py b/src/hct_mis_api/apps/payment/migrations/0072_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0072_migration.py rename to src/hct_mis_api/apps/payment/migrations/0072_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0073_migration_squashed_0074_migration.py b/src/hct_mis_api/apps/payment/migrations/0073_migration_squashed_0074_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0073_migration_squashed_0074_migration.py rename to src/hct_mis_api/apps/payment/migrations/0073_migration_squashed_0074_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0075_migration.py b/src/hct_mis_api/apps/payment/migrations/0075_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0075_migration.py rename to src/hct_mis_api/apps/payment/migrations/0075_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0076_migration_squashed_0077_migration.py b/src/hct_mis_api/apps/payment/migrations/0076_migration_squashed_0077_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0076_migration_squashed_0077_migration.py rename to src/hct_mis_api/apps/payment/migrations/0076_migration_squashed_0077_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0078_migration_squashed_0096_migration.py b/src/hct_mis_api/apps/payment/migrations/0078_migration_squashed_0096_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0078_migration_squashed_0096_migration.py rename to src/hct_mis_api/apps/payment/migrations/0078_migration_squashed_0096_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0097_migration.py b/src/hct_mis_api/apps/payment/migrations/0097_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0097_migration.py rename to src/hct_mis_api/apps/payment/migrations/0097_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0097_migration_squashed_0117_migration.py b/src/hct_mis_api/apps/payment/migrations/0097_migration_squashed_0117_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0097_migration_squashed_0117_migration.py rename to src/hct_mis_api/apps/payment/migrations/0097_migration_squashed_0117_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0098_migration.py b/src/hct_mis_api/apps/payment/migrations/0098_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0098_migration.py rename to src/hct_mis_api/apps/payment/migrations/0098_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0099_migration.py b/src/hct_mis_api/apps/payment/migrations/0099_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0099_migration.py rename to src/hct_mis_api/apps/payment/migrations/0099_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0100_migration.py b/src/hct_mis_api/apps/payment/migrations/0100_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0100_migration.py rename to src/hct_mis_api/apps/payment/migrations/0100_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0101_migration.py b/src/hct_mis_api/apps/payment/migrations/0101_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0101_migration.py rename to src/hct_mis_api/apps/payment/migrations/0101_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0102_migration.py b/src/hct_mis_api/apps/payment/migrations/0102_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0102_migration.py rename to src/hct_mis_api/apps/payment/migrations/0102_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0103_migration.py b/src/hct_mis_api/apps/payment/migrations/0103_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0103_migration.py rename to src/hct_mis_api/apps/payment/migrations/0103_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0104_migration.py b/src/hct_mis_api/apps/payment/migrations/0104_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0104_migration.py rename to src/hct_mis_api/apps/payment/migrations/0104_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0105_migration.py b/src/hct_mis_api/apps/payment/migrations/0105_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0105_migration.py rename to src/hct_mis_api/apps/payment/migrations/0105_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0106_migration.py b/src/hct_mis_api/apps/payment/migrations/0106_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0106_migration.py rename to src/hct_mis_api/apps/payment/migrations/0106_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0107_migration.py b/src/hct_mis_api/apps/payment/migrations/0107_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0107_migration.py rename to src/hct_mis_api/apps/payment/migrations/0107_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0108_migration.py b/src/hct_mis_api/apps/payment/migrations/0108_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0108_migration.py rename to src/hct_mis_api/apps/payment/migrations/0108_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0109_migration.py b/src/hct_mis_api/apps/payment/migrations/0109_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0109_migration.py rename to src/hct_mis_api/apps/payment/migrations/0109_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0110_migration.py b/src/hct_mis_api/apps/payment/migrations/0110_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0110_migration.py rename to src/hct_mis_api/apps/payment/migrations/0110_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0111_migration.py b/src/hct_mis_api/apps/payment/migrations/0111_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0111_migration.py rename to src/hct_mis_api/apps/payment/migrations/0111_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0112_migration.py b/src/hct_mis_api/apps/payment/migrations/0112_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0112_migration.py rename to src/hct_mis_api/apps/payment/migrations/0112_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0113_migration.py b/src/hct_mis_api/apps/payment/migrations/0113_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0113_migration.py rename to src/hct_mis_api/apps/payment/migrations/0113_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0114_migration.py b/src/hct_mis_api/apps/payment/migrations/0114_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0114_migration.py rename to src/hct_mis_api/apps/payment/migrations/0114_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0115_migration.py b/src/hct_mis_api/apps/payment/migrations/0115_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0115_migration.py rename to src/hct_mis_api/apps/payment/migrations/0115_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0116_migration.py b/src/hct_mis_api/apps/payment/migrations/0116_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0116_migration.py rename to src/hct_mis_api/apps/payment/migrations/0116_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0117_migration.py b/src/hct_mis_api/apps/payment/migrations/0117_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0117_migration.py rename to src/hct_mis_api/apps/payment/migrations/0117_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0118_migration.py b/src/hct_mis_api/apps/payment/migrations/0118_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0118_migration.py rename to src/hct_mis_api/apps/payment/migrations/0118_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0119_migration.py b/src/hct_mis_api/apps/payment/migrations/0119_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0119_migration.py rename to src/hct_mis_api/apps/payment/migrations/0119_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0120_migration.py b/src/hct_mis_api/apps/payment/migrations/0120_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0120_migration.py rename to src/hct_mis_api/apps/payment/migrations/0120_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0121_migration.py b/src/hct_mis_api/apps/payment/migrations/0121_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0121_migration.py rename to src/hct_mis_api/apps/payment/migrations/0121_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0122_migration.py b/src/hct_mis_api/apps/payment/migrations/0122_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0122_migration.py rename to src/hct_mis_api/apps/payment/migrations/0122_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0123_migration.py b/src/hct_mis_api/apps/payment/migrations/0123_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0123_migration.py rename to src/hct_mis_api/apps/payment/migrations/0123_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0124_migration.py b/src/hct_mis_api/apps/payment/migrations/0124_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0124_migration.py rename to src/hct_mis_api/apps/payment/migrations/0124_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0125_migration.py b/src/hct_mis_api/apps/payment/migrations/0125_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0125_migration.py rename to src/hct_mis_api/apps/payment/migrations/0125_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0126_migration.py b/src/hct_mis_api/apps/payment/migrations/0126_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0126_migration.py rename to src/hct_mis_api/apps/payment/migrations/0126_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0127_migration.py b/src/hct_mis_api/apps/payment/migrations/0127_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0127_migration.py rename to src/hct_mis_api/apps/payment/migrations/0127_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0128_migration.py b/src/hct_mis_api/apps/payment/migrations/0128_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0128_migration.py rename to src/hct_mis_api/apps/payment/migrations/0128_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0129_migration.py b/src/hct_mis_api/apps/payment/migrations/0129_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0129_migration.py rename to src/hct_mis_api/apps/payment/migrations/0129_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0130_migration.py b/src/hct_mis_api/apps/payment/migrations/0130_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0130_migration.py rename to src/hct_mis_api/apps/payment/migrations/0130_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0131_migration.py b/src/hct_mis_api/apps/payment/migrations/0131_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0131_migration.py rename to src/hct_mis_api/apps/payment/migrations/0131_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0132_migration.py b/src/hct_mis_api/apps/payment/migrations/0132_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0132_migration.py rename to src/hct_mis_api/apps/payment/migrations/0132_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0133_migration.py b/src/hct_mis_api/apps/payment/migrations/0133_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0133_migration.py rename to src/hct_mis_api/apps/payment/migrations/0133_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0134_migration.py b/src/hct_mis_api/apps/payment/migrations/0134_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0134_migration.py rename to src/hct_mis_api/apps/payment/migrations/0134_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0135_migration.py b/src/hct_mis_api/apps/payment/migrations/0135_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0135_migration.py rename to src/hct_mis_api/apps/payment/migrations/0135_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0136_migration.py b/src/hct_mis_api/apps/payment/migrations/0136_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0136_migration.py rename to src/hct_mis_api/apps/payment/migrations/0136_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0137_migration.py b/src/hct_mis_api/apps/payment/migrations/0137_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0137_migration.py rename to src/hct_mis_api/apps/payment/migrations/0137_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0138_migration.py b/src/hct_mis_api/apps/payment/migrations/0138_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0138_migration.py rename to src/hct_mis_api/apps/payment/migrations/0138_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0139_migration.py b/src/hct_mis_api/apps/payment/migrations/0139_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0139_migration.py rename to src/hct_mis_api/apps/payment/migrations/0139_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0140_migration.py b/src/hct_mis_api/apps/payment/migrations/0140_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0140_migration.py rename to src/hct_mis_api/apps/payment/migrations/0140_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0141_migration.py b/src/hct_mis_api/apps/payment/migrations/0141_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0141_migration.py rename to src/hct_mis_api/apps/payment/migrations/0141_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0142_migration.py b/src/hct_mis_api/apps/payment/migrations/0142_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0142_migration.py rename to src/hct_mis_api/apps/payment/migrations/0142_migration.py diff --git a/backend/hct_mis_api/apps/payment/migrations/0143_migration.py b/src/hct_mis_api/apps/payment/migrations/0143_migration.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/0143_migration.py rename to src/hct_mis_api/apps/payment/migrations/0143_migration.py diff --git a/backend/hct_mis_api/apps/grievance/tests/__init__.py b/src/hct_mis_api/apps/payment/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/__init__.py rename to src/hct_mis_api/apps/payment/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/payment/models.py b/src/hct_mis_api/apps/payment/models.py similarity index 100% rename from backend/hct_mis_api/apps/payment/models.py rename to src/hct_mis_api/apps/payment/models.py diff --git a/backend/hct_mis_api/apps/payment/mutations.py b/src/hct_mis_api/apps/payment/mutations.py similarity index 100% rename from backend/hct_mis_api/apps/payment/mutations.py rename to src/hct_mis_api/apps/payment/mutations.py diff --git a/backend/hct_mis_api/apps/payment/notifications.py b/src/hct_mis_api/apps/payment/notifications.py similarity index 100% rename from backend/hct_mis_api/apps/payment/notifications.py rename to src/hct_mis_api/apps/payment/notifications.py diff --git a/backend/hct_mis_api/apps/grievance/tests/services/__init__.py b/src/hct_mis_api/apps/payment/pdf/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/services/__init__.py rename to src/hct_mis_api/apps/payment/pdf/__init__.py diff --git a/backend/hct_mis_api/apps/payment/pdf/payment_plan_export_pdf_service.py b/src/hct_mis_api/apps/payment/pdf/payment_plan_export_pdf_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/pdf/payment_plan_export_pdf_service.py rename to src/hct_mis_api/apps/payment/pdf/payment_plan_export_pdf_service.py diff --git a/backend/hct_mis_api/apps/payment/schema.py b/src/hct_mis_api/apps/payment/schema.py similarity index 100% rename from backend/hct_mis_api/apps/payment/schema.py rename to src/hct_mis_api/apps/payment/schema.py diff --git a/backend/hct_mis_api/apps/grievance/tests/services/data_change/__init__.py b/src/hct_mis_api/apps/payment/services/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/services/data_change/__init__.py rename to src/hct_mis_api/apps/payment/services/__init__.py diff --git a/backend/hct_mis_api/apps/payment/services/create_cash_plan_from_reconciliation.py b/src/hct_mis_api/apps/payment/services/create_cash_plan_from_reconciliation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/create_cash_plan_from_reconciliation.py rename to src/hct_mis_api/apps/payment/services/create_cash_plan_from_reconciliation.py diff --git a/backend/hct_mis_api/apps/payment/services/create_payment_verifications.py b/src/hct_mis_api/apps/payment/services/create_payment_verifications.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/create_payment_verifications.py rename to src/hct_mis_api/apps/payment/services/create_payment_verifications.py diff --git a/backend/hct_mis_api/apps/payment/services/dashboard_service.py b/src/hct_mis_api/apps/payment/services/dashboard_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/dashboard_service.py rename to src/hct_mis_api/apps/payment/services/dashboard_service.py diff --git a/backend/hct_mis_api/apps/payment/services/handle_total_cash_in_households.py b/src/hct_mis_api/apps/payment/services/handle_total_cash_in_households.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/handle_total_cash_in_households.py rename to src/hct_mis_api/apps/payment/services/handle_total_cash_in_households.py diff --git a/backend/hct_mis_api/apps/payment/services/mark_as_failed.py b/src/hct_mis_api/apps/payment/services/mark_as_failed.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/mark_as_failed.py rename to src/hct_mis_api/apps/payment/services/mark_as_failed.py diff --git a/backend/hct_mis_api/apps/payment/services/payment_gateway.py b/src/hct_mis_api/apps/payment/services/payment_gateway.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/payment_gateway.py rename to src/hct_mis_api/apps/payment/services/payment_gateway.py diff --git a/backend/hct_mis_api/apps/payment/services/payment_household_snapshot_service.py b/src/hct_mis_api/apps/payment/services/payment_household_snapshot_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/payment_household_snapshot_service.py rename to src/hct_mis_api/apps/payment/services/payment_household_snapshot_service.py diff --git a/backend/hct_mis_api/apps/payment/services/payment_plan_services.py b/src/hct_mis_api/apps/payment/services/payment_plan_services.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/payment_plan_services.py rename to src/hct_mis_api/apps/payment/services/payment_plan_services.py diff --git a/backend/hct_mis_api/apps/payment/services/process_verification.py b/src/hct_mis_api/apps/payment/services/process_verification.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/process_verification.py rename to src/hct_mis_api/apps/payment/services/process_verification.py diff --git a/backend/hct_mis_api/apps/payment/services/sampling.py b/src/hct_mis_api/apps/payment/services/sampling.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/sampling.py rename to src/hct_mis_api/apps/payment/services/sampling.py diff --git a/backend/hct_mis_api/apps/payment/services/verification_plan_crud_services.py b/src/hct_mis_api/apps/payment/services/verification_plan_crud_services.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/verification_plan_crud_services.py rename to src/hct_mis_api/apps/payment/services/verification_plan_crud_services.py diff --git a/backend/hct_mis_api/apps/payment/services/verification_plan_status_change_services.py b/src/hct_mis_api/apps/payment/services/verification_plan_status_change_services.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/verification_plan_status_change_services.py rename to src/hct_mis_api/apps/payment/services/verification_plan_status_change_services.py diff --git a/backend/hct_mis_api/apps/payment/services/verifiers.py b/src/hct_mis_api/apps/payment/services/verifiers.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/verifiers.py rename to src/hct_mis_api/apps/payment/services/verifiers.py diff --git a/backend/hct_mis_api/apps/payment/signals.py b/src/hct_mis_api/apps/payment/signals.py similarity index 100% rename from backend/hct_mis_api/apps/payment/signals.py rename to src/hct_mis_api/apps/payment/signals.py diff --git a/backend/hct_mis_api/apps/payment/tasks/CheckRapidProVerificationTask.py b/src/hct_mis_api/apps/payment/tasks/CheckRapidProVerificationTask.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tasks/CheckRapidProVerificationTask.py rename to src/hct_mis_api/apps/payment/tasks/CheckRapidProVerificationTask.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/__init__.py b/src/hct_mis_api/apps/payment/tasks/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/__init__.py rename to src/hct_mis_api/apps/payment/tasks/__init__.py diff --git a/backend/hct_mis_api/apps/payment/templates/admin/cashplan/payments.html b/src/hct_mis_api/apps/payment/templates/admin/cashplan/payments.html similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/admin/cashplan/payments.html rename to src/hct_mis_api/apps/payment/templates/admin/cashplan/payments.html diff --git a/backend/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records.html b/src/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records.html similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records.html rename to src/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records.html diff --git a/backend/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records_email.html b/src/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records_email.html similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records_email.html rename to src/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records_email.html diff --git a/backend/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records_email.txt b/src/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records_email.txt similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records_email.txt rename to src/hct_mis_api/apps/payment/templates/admin/payment/payment_record/import_payment_records_email.txt diff --git a/backend/hct_mis_api/apps/payment/templates/payment/payment_plan_summary_pdf_template.html b/src/hct_mis_api/apps/payment/templates/payment/payment_plan_summary_pdf_template.html similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/payment/payment_plan_summary_pdf_template.html rename to src/hct_mis_api/apps/payment/templates/payment/payment_plan_summary_pdf_template.html diff --git a/backend/hct_mis_api/apps/payment/templates/payment/pdf_file_generated_email.html b/src/hct_mis_api/apps/payment/templates/payment/pdf_file_generated_email.html similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/payment/pdf_file_generated_email.html rename to src/hct_mis_api/apps/payment/templates/payment/pdf_file_generated_email.html diff --git a/backend/hct_mis_api/apps/payment/templates/payment/pdf_file_generated_email.txt b/src/hct_mis_api/apps/payment/templates/payment/pdf_file_generated_email.txt similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/payment/pdf_file_generated_email.txt rename to src/hct_mis_api/apps/payment/templates/payment/pdf_file_generated_email.txt diff --git a/backend/hct_mis_api/apps/payment/templates/payment/people_payment_plan_summary_pdf_template.html b/src/hct_mis_api/apps/payment/templates/payment/people_payment_plan_summary_pdf_template.html similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/payment/people_payment_plan_summary_pdf_template.html rename to src/hct_mis_api/apps/payment/templates/payment/people_payment_plan_summary_pdf_template.html diff --git a/backend/hct_mis_api/apps/payment/templates/payment/verification_plan_xlsx_file_generated_email.html b/src/hct_mis_api/apps/payment/templates/payment/verification_plan_xlsx_file_generated_email.html similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/payment/verification_plan_xlsx_file_generated_email.html rename to src/hct_mis_api/apps/payment/templates/payment/verification_plan_xlsx_file_generated_email.html diff --git a/backend/hct_mis_api/apps/payment/templates/payment/verification_plan_xlsx_file_generated_email.txt b/src/hct_mis_api/apps/payment/templates/payment/verification_plan_xlsx_file_generated_email.txt similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/payment/verification_plan_xlsx_file_generated_email.txt rename to src/hct_mis_api/apps/payment/templates/payment/verification_plan_xlsx_file_generated_email.txt diff --git a/backend/hct_mis_api/apps/payment/templates/payment/xlsx_file_generated_email.html b/src/hct_mis_api/apps/payment/templates/payment/xlsx_file_generated_email.html similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/payment/xlsx_file_generated_email.html rename to src/hct_mis_api/apps/payment/templates/payment/xlsx_file_generated_email.html diff --git a/backend/hct_mis_api/apps/payment/templates/payment/xlsx_file_generated_email.txt b/src/hct_mis_api/apps/payment/templates/payment/xlsx_file_generated_email.txt similarity index 100% rename from backend/hct_mis_api/apps/payment/templates/payment/xlsx_file_generated_email.txt rename to src/hct_mis_api/apps/payment/templates/payment/xlsx_file_generated_email.txt diff --git a/backend/hct_mis_api/apps/payment/utils.py b/src/hct_mis_api/apps/payment/utils.py similarity index 100% rename from backend/hct_mis_api/apps/payment/utils.py rename to src/hct_mis_api/apps/payment/utils.py diff --git a/backend/hct_mis_api/apps/payment/validators.py b/src/hct_mis_api/apps/payment/validators.py similarity index 100% rename from backend/hct_mis_api/apps/payment/validators.py rename to src/hct_mis_api/apps/payment/validators.py diff --git a/backend/hct_mis_api/apps/payment/views.py b/src/hct_mis_api/apps/payment/views.py similarity index 100% rename from backend/hct_mis_api/apps/payment/views.py rename to src/hct_mis_api/apps/payment/views.py diff --git a/backend/hct_mis_api/apps/household/__init__.py b/src/hct_mis_api/apps/payment/xlsx/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/household/__init__.py rename to src/hct_mis_api/apps/payment/xlsx/__init__.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/base_xlsx_export_service.py b/src/hct_mis_api/apps/payment/xlsx/base_xlsx_export_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/base_xlsx_export_service.py rename to src/hct_mis_api/apps/payment/xlsx/base_xlsx_export_service.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/base_xlsx_import_service.py b/src/hct_mis_api/apps/payment/xlsx/base_xlsx_import_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/base_xlsx_import_service.py rename to src/hct_mis_api/apps/payment/xlsx/base_xlsx_import_service.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/xlsx_error.py b/src/hct_mis_api/apps/payment/xlsx/xlsx_error.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/xlsx_error.py rename to src/hct_mis_api/apps/payment/xlsx/xlsx_error.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_base_service.py b/src/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_base_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_base_service.py rename to src/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_base_service.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_export_per_fsp_service.py b/src/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_export_per_fsp_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_export_per_fsp_service.py rename to src/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_export_per_fsp_service.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_export_service.py b/src/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_export_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_export_service.py rename to src/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_export_service.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_import_service.py b/src/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_import_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_import_service.py rename to src/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_import_service.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_per_fsp_import_service.py b/src/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_per_fsp_import_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_per_fsp_import_service.py rename to src/hct_mis_api/apps/payment/xlsx/xlsx_payment_plan_per_fsp_import_service.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/xlsx_verification_export_service.py b/src/hct_mis_api/apps/payment/xlsx/xlsx_verification_export_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/xlsx_verification_export_service.py rename to src/hct_mis_api/apps/payment/xlsx/xlsx_verification_export_service.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/xlsx_verification_import_service.py b/src/hct_mis_api/apps/payment/xlsx/xlsx_verification_import_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/xlsx_verification_import_service.py rename to src/hct_mis_api/apps/payment/xlsx/xlsx_verification_import_service.py diff --git a/backend/hct_mis_api/apps/household/management/__init__.py b/src/hct_mis_api/apps/periodic_data_update/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/household/management/__init__.py rename to src/hct_mis_api/apps/periodic_data_update/__init__.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/admin.py b/src/hct_mis_api/apps/periodic_data_update/admin.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/admin.py rename to src/hct_mis_api/apps/periodic_data_update/admin.py diff --git a/backend/hct_mis_api/apps/household/management/commands/__init__.py b/src/hct_mis_api/apps/periodic_data_update/api/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/household/management/commands/__init__.py rename to src/hct_mis_api/apps/periodic_data_update/api/__init__.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/api/caches.py b/src/hct_mis_api/apps/periodic_data_update/api/caches.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/api/caches.py rename to src/hct_mis_api/apps/periodic_data_update/api/caches.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/api/filters.py b/src/hct_mis_api/apps/periodic_data_update/api/filters.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/api/filters.py rename to src/hct_mis_api/apps/periodic_data_update/api/filters.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/api/serializers.py b/src/hct_mis_api/apps/periodic_data_update/api/serializers.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/api/serializers.py rename to src/hct_mis_api/apps/periodic_data_update/api/serializers.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/api/urls.py b/src/hct_mis_api/apps/periodic_data_update/api/urls.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/api/urls.py rename to src/hct_mis_api/apps/periodic_data_update/api/urls.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/api/views.py b/src/hct_mis_api/apps/periodic_data_update/api/views.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/api/views.py rename to src/hct_mis_api/apps/periodic_data_update/api/views.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/apps.py b/src/hct_mis_api/apps/periodic_data_update/apps.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/apps.py rename to src/hct_mis_api/apps/periodic_data_update/apps.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/celery_tasks.py b/src/hct_mis_api/apps/periodic_data_update/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/celery_tasks.py rename to src/hct_mis_api/apps/periodic_data_update/celery_tasks.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/fixtures.py b/src/hct_mis_api/apps/periodic_data_update/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/fixtures.py rename to src/hct_mis_api/apps/periodic_data_update/fixtures.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/migrations/0001_migration.py b/src/hct_mis_api/apps/periodic_data_update/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/migrations/0001_migration.py rename to src/hct_mis_api/apps/periodic_data_update/migrations/0001_migration.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/migrations/0002_migration.py b/src/hct_mis_api/apps/periodic_data_update/migrations/0002_migration.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/migrations/0002_migration.py rename to src/hct_mis_api/apps/periodic_data_update/migrations/0002_migration.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/migrations/0003_migration.py b/src/hct_mis_api/apps/periodic_data_update/migrations/0003_migration.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/migrations/0003_migration.py rename to src/hct_mis_api/apps/periodic_data_update/migrations/0003_migration.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/migrations/0004_migration.py b/src/hct_mis_api/apps/periodic_data_update/migrations/0004_migration.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/migrations/0004_migration.py rename to src/hct_mis_api/apps/periodic_data_update/migrations/0004_migration.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/migrations/0005_migration.py b/src/hct_mis_api/apps/periodic_data_update/migrations/0005_migration.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/migrations/0005_migration.py rename to src/hct_mis_api/apps/periodic_data_update/migrations/0005_migration.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/migrations/0006_migration.py b/src/hct_mis_api/apps/periodic_data_update/migrations/0006_migration.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/migrations/0006_migration.py rename to src/hct_mis_api/apps/periodic_data_update/migrations/0006_migration.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/migrations/0007_migration.py b/src/hct_mis_api/apps/periodic_data_update/migrations/0007_migration.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/migrations/0007_migration.py rename to src/hct_mis_api/apps/periodic_data_update/migrations/0007_migration.py diff --git a/backend/hct_mis_api/apps/household/migrations/__init__.py b/src/hct_mis_api/apps/periodic_data_update/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/household/migrations/__init__.py rename to src/hct_mis_api/apps/periodic_data_update/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/models.py b/src/hct_mis_api/apps/periodic_data_update/models.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/models.py rename to src/hct_mis_api/apps/periodic_data_update/models.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/service/flexible_attribute_service.py b/src/hct_mis_api/apps/periodic_data_update/service/flexible_attribute_service.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/service/flexible_attribute_service.py rename to src/hct_mis_api/apps/periodic_data_update/service/flexible_attribute_service.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/service/periodic_data_update_export_template_service.py b/src/hct_mis_api/apps/periodic_data_update/service/periodic_data_update_export_template_service.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/service/periodic_data_update_export_template_service.py rename to src/hct_mis_api/apps/periodic_data_update/service/periodic_data_update_export_template_service.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/service/periodic_data_update_import_service.py b/src/hct_mis_api/apps/periodic_data_update/service/periodic_data_update_import_service.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/service/periodic_data_update_import_service.py rename to src/hct_mis_api/apps/periodic_data_update/service/periodic_data_update_import_service.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/signals.py b/src/hct_mis_api/apps/periodic_data_update/signals.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/signals.py rename to src/hct_mis_api/apps/periodic_data_update/signals.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/utils.py b/src/hct_mis_api/apps/periodic_data_update/utils.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/utils.py rename to src/hct_mis_api/apps/periodic_data_update/utils.py diff --git a/backend/hct_mis_api/apps/power_query/migrations/0002_migration.py b/src/hct_mis_api/apps/power_query/migrations/0002_migration.py similarity index 100% rename from backend/hct_mis_api/apps/power_query/migrations/0002_migration.py rename to src/hct_mis_api/apps/power_query/migrations/0002_migration.py diff --git a/backend/hct_mis_api/apps/household/services/__init__.py b/src/hct_mis_api/apps/program/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/household/services/__init__.py rename to src/hct_mis_api/apps/program/__init__.py diff --git a/backend/hct_mis_api/apps/program/admin.py b/src/hct_mis_api/apps/program/admin.py similarity index 100% rename from backend/hct_mis_api/apps/program/admin.py rename to src/hct_mis_api/apps/program/admin.py diff --git a/backend/hct_mis_api/apps/household/tests/__init__.py b/src/hct_mis_api/apps/program/api/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/__init__.py rename to src/hct_mis_api/apps/program/api/__init__.py diff --git a/backend/hct_mis_api/apps/program/api/caches.py b/src/hct_mis_api/apps/program/api/caches.py similarity index 100% rename from backend/hct_mis_api/apps/program/api/caches.py rename to src/hct_mis_api/apps/program/api/caches.py diff --git a/backend/hct_mis_api/apps/program/api/filters.py b/src/hct_mis_api/apps/program/api/filters.py similarity index 100% rename from backend/hct_mis_api/apps/program/api/filters.py rename to src/hct_mis_api/apps/program/api/filters.py diff --git a/backend/hct_mis_api/apps/program/api/serializers.py b/src/hct_mis_api/apps/program/api/serializers.py similarity index 100% rename from backend/hct_mis_api/apps/program/api/serializers.py rename to src/hct_mis_api/apps/program/api/serializers.py diff --git a/backend/hct_mis_api/apps/program/api/urls.py b/src/hct_mis_api/apps/program/api/urls.py similarity index 100% rename from backend/hct_mis_api/apps/program/api/urls.py rename to src/hct_mis_api/apps/program/api/urls.py diff --git a/backend/hct_mis_api/apps/program/api/views.py b/src/hct_mis_api/apps/program/api/views.py similarity index 100% rename from backend/hct_mis_api/apps/program/api/views.py rename to src/hct_mis_api/apps/program/api/views.py diff --git a/backend/hct_mis_api/apps/program/apps.py b/src/hct_mis_api/apps/program/apps.py similarity index 100% rename from backend/hct_mis_api/apps/program/apps.py rename to src/hct_mis_api/apps/program/apps.py diff --git a/backend/hct_mis_api/apps/program/celery_tasks.py b/src/hct_mis_api/apps/program/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/program/celery_tasks.py rename to src/hct_mis_api/apps/program/celery_tasks.py diff --git a/backend/hct_mis_api/apps/program/filters.py b/src/hct_mis_api/apps/program/filters.py similarity index 100% rename from backend/hct_mis_api/apps/program/filters.py rename to src/hct_mis_api/apps/program/filters.py diff --git a/backend/hct_mis_api/apps/program/fixtures.py b/src/hct_mis_api/apps/program/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/program/fixtures.py rename to src/hct_mis_api/apps/program/fixtures.py diff --git a/backend/hct_mis_api/apps/program/fixtures/data-cypress.json b/src/hct_mis_api/apps/program/fixtures/data-cypress.json similarity index 100% rename from backend/hct_mis_api/apps/program/fixtures/data-cypress.json rename to src/hct_mis_api/apps/program/fixtures/data-cypress.json diff --git a/backend/hct_mis_api/apps/program/fixtures/data.json b/src/hct_mis_api/apps/program/fixtures/data.json similarity index 100% rename from backend/hct_mis_api/apps/program/fixtures/data.json rename to src/hct_mis_api/apps/program/fixtures/data.json diff --git a/backend/hct_mis_api/apps/program/fixtures/programpartnerthrough.json b/src/hct_mis_api/apps/program/fixtures/programpartnerthrough.json similarity index 100% rename from backend/hct_mis_api/apps/program/fixtures/programpartnerthrough.json rename to src/hct_mis_api/apps/program/fixtures/programpartnerthrough.json diff --git a/backend/hct_mis_api/apps/program/inputs.py b/src/hct_mis_api/apps/program/inputs.py similarity index 100% rename from backend/hct_mis_api/apps/program/inputs.py rename to src/hct_mis_api/apps/program/inputs.py diff --git a/backend/hct_mis_api/apps/program/migrations/0001_migration.py b/src/hct_mis_api/apps/program/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0001_migration.py rename to src/hct_mis_api/apps/program/migrations/0001_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0002_migration_squashed_0020_migration.py b/src/hct_mis_api/apps/program/migrations/0002_migration_squashed_0020_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0002_migration_squashed_0020_migration.py rename to src/hct_mis_api/apps/program/migrations/0002_migration_squashed_0020_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0021_migration.py b/src/hct_mis_api/apps/program/migrations/0021_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0021_migration.py rename to src/hct_mis_api/apps/program/migrations/0021_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0021_migration_squashed_0024_migration.py b/src/hct_mis_api/apps/program/migrations/0021_migration_squashed_0024_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0021_migration_squashed_0024_migration.py rename to src/hct_mis_api/apps/program/migrations/0021_migration_squashed_0024_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0022_migration.py b/src/hct_mis_api/apps/program/migrations/0022_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0022_migration.py rename to src/hct_mis_api/apps/program/migrations/0022_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0023_migration.py b/src/hct_mis_api/apps/program/migrations/0023_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0023_migration.py rename to src/hct_mis_api/apps/program/migrations/0023_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0024_migration.py b/src/hct_mis_api/apps/program/migrations/0024_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0024_migration.py rename to src/hct_mis_api/apps/program/migrations/0024_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0025_migration.py b/src/hct_mis_api/apps/program/migrations/0025_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0025_migration.py rename to src/hct_mis_api/apps/program/migrations/0025_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0025_migration_squashed_0030_migration.py b/src/hct_mis_api/apps/program/migrations/0025_migration_squashed_0030_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0025_migration_squashed_0030_migration.py rename to src/hct_mis_api/apps/program/migrations/0025_migration_squashed_0030_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0026_migration.py b/src/hct_mis_api/apps/program/migrations/0026_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0026_migration.py rename to src/hct_mis_api/apps/program/migrations/0026_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0027_migration.py b/src/hct_mis_api/apps/program/migrations/0027_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0027_migration.py rename to src/hct_mis_api/apps/program/migrations/0027_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0028_migration.py b/src/hct_mis_api/apps/program/migrations/0028_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0028_migration.py rename to src/hct_mis_api/apps/program/migrations/0028_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0029_migration.py b/src/hct_mis_api/apps/program/migrations/0029_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0029_migration.py rename to src/hct_mis_api/apps/program/migrations/0029_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0030_migration.py b/src/hct_mis_api/apps/program/migrations/0030_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0030_migration.py rename to src/hct_mis_api/apps/program/migrations/0030_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0031_migration.py b/src/hct_mis_api/apps/program/migrations/0031_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0031_migration.py rename to src/hct_mis_api/apps/program/migrations/0031_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0031_migration_squashed_0034_migration.py b/src/hct_mis_api/apps/program/migrations/0031_migration_squashed_0034_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0031_migration_squashed_0034_migration.py rename to src/hct_mis_api/apps/program/migrations/0031_migration_squashed_0034_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0032_migration.py b/src/hct_mis_api/apps/program/migrations/0032_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0032_migration.py rename to src/hct_mis_api/apps/program/migrations/0032_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0033_migration.py b/src/hct_mis_api/apps/program/migrations/0033_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0033_migration.py rename to src/hct_mis_api/apps/program/migrations/0033_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0034_migration.py b/src/hct_mis_api/apps/program/migrations/0034_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0034_migration.py rename to src/hct_mis_api/apps/program/migrations/0034_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0035_migration.py b/src/hct_mis_api/apps/program/migrations/0035_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0035_migration.py rename to src/hct_mis_api/apps/program/migrations/0035_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0035_migration_squashed_0036_migration.py b/src/hct_mis_api/apps/program/migrations/0035_migration_squashed_0036_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0035_migration_squashed_0036_migration.py rename to src/hct_mis_api/apps/program/migrations/0035_migration_squashed_0036_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0036_migration.py b/src/hct_mis_api/apps/program/migrations/0036_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0036_migration.py rename to src/hct_mis_api/apps/program/migrations/0036_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0037_migration.py b/src/hct_mis_api/apps/program/migrations/0037_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0037_migration.py rename to src/hct_mis_api/apps/program/migrations/0037_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0037_migration_squashed_0038_migration.py b/src/hct_mis_api/apps/program/migrations/0037_migration_squashed_0038_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0037_migration_squashed_0038_migration.py rename to src/hct_mis_api/apps/program/migrations/0037_migration_squashed_0038_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0038_migration.py b/src/hct_mis_api/apps/program/migrations/0038_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0038_migration.py rename to src/hct_mis_api/apps/program/migrations/0038_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0039_migration.py b/src/hct_mis_api/apps/program/migrations/0039_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0039_migration.py rename to src/hct_mis_api/apps/program/migrations/0039_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0040_migration.py b/src/hct_mis_api/apps/program/migrations/0040_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0040_migration.py rename to src/hct_mis_api/apps/program/migrations/0040_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0040_migration_squashed_0044_migration.py b/src/hct_mis_api/apps/program/migrations/0040_migration_squashed_0044_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0040_migration_squashed_0044_migration.py rename to src/hct_mis_api/apps/program/migrations/0040_migration_squashed_0044_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0041_migration.py b/src/hct_mis_api/apps/program/migrations/0041_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0041_migration.py rename to src/hct_mis_api/apps/program/migrations/0041_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0042_migration.py b/src/hct_mis_api/apps/program/migrations/0042_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0042_migration.py rename to src/hct_mis_api/apps/program/migrations/0042_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0043_migration.py b/src/hct_mis_api/apps/program/migrations/0043_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0043_migration.py rename to src/hct_mis_api/apps/program/migrations/0043_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0044_migration.py b/src/hct_mis_api/apps/program/migrations/0044_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0044_migration.py rename to src/hct_mis_api/apps/program/migrations/0044_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0045_migration.py b/src/hct_mis_api/apps/program/migrations/0045_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0045_migration.py rename to src/hct_mis_api/apps/program/migrations/0045_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0046_migration.py b/src/hct_mis_api/apps/program/migrations/0046_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0046_migration.py rename to src/hct_mis_api/apps/program/migrations/0046_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0047_migration.py b/src/hct_mis_api/apps/program/migrations/0047_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0047_migration.py rename to src/hct_mis_api/apps/program/migrations/0047_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0048_migration.py b/src/hct_mis_api/apps/program/migrations/0048_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0048_migration.py rename to src/hct_mis_api/apps/program/migrations/0048_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0049_migration.py b/src/hct_mis_api/apps/program/migrations/0049_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0049_migration.py rename to src/hct_mis_api/apps/program/migrations/0049_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0050_migration.py b/src/hct_mis_api/apps/program/migrations/0050_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0050_migration.py rename to src/hct_mis_api/apps/program/migrations/0050_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0051_migration.py b/src/hct_mis_api/apps/program/migrations/0051_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0051_migration.py rename to src/hct_mis_api/apps/program/migrations/0051_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0052_migration.py b/src/hct_mis_api/apps/program/migrations/0052_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0052_migration.py rename to src/hct_mis_api/apps/program/migrations/0052_migration.py diff --git a/backend/hct_mis_api/apps/program/migrations/0053_migration.py b/src/hct_mis_api/apps/program/migrations/0053_migration.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/0053_migration.py rename to src/hct_mis_api/apps/program/migrations/0053_migration.py diff --git a/backend/hct_mis_api/apps/household/tests/services/__init__.py b/src/hct_mis_api/apps/program/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/services/__init__.py rename to src/hct_mis_api/apps/program/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/program/models.py b/src/hct_mis_api/apps/program/models.py similarity index 100% rename from backend/hct_mis_api/apps/program/models.py rename to src/hct_mis_api/apps/program/models.py diff --git a/backend/hct_mis_api/apps/program/mutations.py b/src/hct_mis_api/apps/program/mutations.py similarity index 100% rename from backend/hct_mis_api/apps/program/mutations.py rename to src/hct_mis_api/apps/program/mutations.py diff --git a/backend/hct_mis_api/apps/program/schema.py b/src/hct_mis_api/apps/program/schema.py similarity index 100% rename from backend/hct_mis_api/apps/program/schema.py rename to src/hct_mis_api/apps/program/schema.py diff --git a/backend/hct_mis_api/apps/program/signals.py b/src/hct_mis_api/apps/program/signals.py similarity index 100% rename from backend/hct_mis_api/apps/program/signals.py rename to src/hct_mis_api/apps/program/signals.py diff --git a/backend/hct_mis_api/apps/program/templates/admin/program/program/create_target_population_from_text.html b/src/hct_mis_api/apps/program/templates/admin/program/program/create_target_population_from_text.html similarity index 100% rename from backend/hct_mis_api/apps/program/templates/admin/program/program/create_target_population_from_text.html rename to src/hct_mis_api/apps/program/templates/admin/program/program/create_target_population_from_text.html diff --git a/backend/hct_mis_api/apps/program/templates/admin/program/program/program_partner_access.html b/src/hct_mis_api/apps/program/templates/admin/program/program/program_partner_access.html similarity index 100% rename from backend/hct_mis_api/apps/program/templates/admin/program/program/program_partner_access.html rename to src/hct_mis_api/apps/program/templates/admin/program/program/program_partner_access.html diff --git a/backend/hct_mis_api/apps/program/templates/admin/program/program/program_partner_access_readonly.html b/src/hct_mis_api/apps/program/templates/admin/program/program/program_partner_access_readonly.html similarity index 100% rename from backend/hct_mis_api/apps/program/templates/admin/program/program/program_partner_access_readonly.html rename to src/hct_mis_api/apps/program/templates/admin/program/program/program_partner_access_readonly.html diff --git a/backend/hct_mis_api/apps/program/utils.py b/src/hct_mis_api/apps/program/utils.py similarity index 100% rename from backend/hct_mis_api/apps/program/utils.py rename to src/hct_mis_api/apps/program/utils.py diff --git a/backend/hct_mis_api/apps/program/validators.py b/src/hct_mis_api/apps/program/validators.py similarity index 100% rename from backend/hct_mis_api/apps/program/validators.py rename to src/hct_mis_api/apps/program/validators.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/__init__.py b/src/hct_mis_api/apps/registration_data/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/__init__.py rename to src/hct_mis_api/apps/registration_data/__init__.py diff --git a/backend/hct_mis_api/apps/registration_data/admin.py b/src/hct_mis_api/apps/registration_data/admin.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/admin.py rename to src/hct_mis_api/apps/registration_data/admin.py diff --git a/backend/hct_mis_api/apps/mis_datahub/__init__.py b/src/hct_mis_api/apps/registration_data/api/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/__init__.py rename to src/hct_mis_api/apps/registration_data/api/__init__.py diff --git a/backend/hct_mis_api/apps/registration_data/api/caches.py b/src/hct_mis_api/apps/registration_data/api/caches.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/api/caches.py rename to src/hct_mis_api/apps/registration_data/api/caches.py diff --git a/backend/hct_mis_api/apps/registration_data/api/filters.py b/src/hct_mis_api/apps/registration_data/api/filters.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/api/filters.py rename to src/hct_mis_api/apps/registration_data/api/filters.py diff --git a/backend/hct_mis_api/apps/registration_data/api/serializers.py b/src/hct_mis_api/apps/registration_data/api/serializers.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/api/serializers.py rename to src/hct_mis_api/apps/registration_data/api/serializers.py diff --git a/backend/hct_mis_api/apps/registration_data/api/urls.py b/src/hct_mis_api/apps/registration_data/api/urls.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/api/urls.py rename to src/hct_mis_api/apps/registration_data/api/urls.py diff --git a/backend/hct_mis_api/apps/registration_data/api/views.py b/src/hct_mis_api/apps/registration_data/api/views.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/api/views.py rename to src/hct_mis_api/apps/registration_data/api/views.py diff --git a/backend/hct_mis_api/apps/registration_data/apps.py b/src/hct_mis_api/apps/registration_data/apps.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/apps.py rename to src/hct_mis_api/apps/registration_data/apps.py diff --git a/backend/hct_mis_api/apps/registration_data/filters.py b/src/hct_mis_api/apps/registration_data/filters.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/filters.py rename to src/hct_mis_api/apps/registration_data/filters.py diff --git a/backend/hct_mis_api/apps/registration_data/fixtures.py b/src/hct_mis_api/apps/registration_data/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/fixtures.py rename to src/hct_mis_api/apps/registration_data/fixtures.py diff --git a/backend/hct_mis_api/apps/registration_data/fixtures/data-cypress.json b/src/hct_mis_api/apps/registration_data/fixtures/data-cypress.json similarity index 100% rename from backend/hct_mis_api/apps/registration_data/fixtures/data-cypress.json rename to src/hct_mis_api/apps/registration_data/fixtures/data-cypress.json diff --git a/backend/hct_mis_api/apps/registration_data/fixtures/data.json b/src/hct_mis_api/apps/registration_data/fixtures/data.json similarity index 100% rename from backend/hct_mis_api/apps/registration_data/fixtures/data.json rename to src/hct_mis_api/apps/registration_data/fixtures/data.json diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0001_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0001_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0001_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0002_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0002_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0002_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0002_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0002_migration_squashed_0018_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0002_migration_squashed_0018_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0002_migration_squashed_0018_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0002_migration_squashed_0018_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0003_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0003_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0003_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0003_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0004_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0004_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0004_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0004_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0005_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0005_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0005_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0005_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0006_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0006_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0006_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0006_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0007_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0007_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0007_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0007_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0008_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0008_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0008_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0008_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0009_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0009_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0009_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0009_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0010_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0010_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0010_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0010_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0011_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0011_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0011_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0011_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0012_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0012_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0012_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0012_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0013_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0013_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0013_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0013_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0014_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0014_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0014_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0014_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0015_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0015_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0015_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0015_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0016_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0016_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0016_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0016_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0017_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0017_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0017_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0017_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0018_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0018_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0018_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0018_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0019_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0019_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0019_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0019_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0019_migration_squashed_0022_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0019_migration_squashed_0022_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0019_migration_squashed_0022_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0019_migration_squashed_0022_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0020_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0020_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0020_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0020_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0021_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0021_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0021_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0021_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0022_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0022_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0022_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0022_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0023_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0023_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0023_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0023_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0024_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0024_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0024_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0024_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0024_migration_squashed_0032_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0024_migration_squashed_0032_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0024_migration_squashed_0032_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0024_migration_squashed_0032_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0026_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0026_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0026_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0026_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0027_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0027_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0027_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0027_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0028_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0028_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0028_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0028_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0029_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0029_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0029_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0029_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0030_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0030_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0030_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0030_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0031_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0031_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0031_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0031_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0032_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0032_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0032_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0032_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0033_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0033_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0033_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0033_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0034_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0034_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0034_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0034_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0035_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0035_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0035_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0035_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0036_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0036_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0036_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0036_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0037_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0037_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0037_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0037_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0038_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0038_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0038_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0038_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/0039_migration.py b/src/hct_mis_api/apps/registration_data/migrations/0039_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/0039_migration.py rename to src/hct_mis_api/apps/registration_data/migrations/0039_migration.py diff --git a/backend/hct_mis_api/apps/mis_datahub/migrations/__init__.py b/src/hct_mis_api/apps/registration_data/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/migrations/__init__.py rename to src/hct_mis_api/apps/registration_data/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/registration_data/models.py b/src/hct_mis_api/apps/registration_data/models.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/models.py rename to src/hct_mis_api/apps/registration_data/models.py diff --git a/backend/hct_mis_api/apps/registration_data/nodes.py b/src/hct_mis_api/apps/registration_data/nodes.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/nodes.py rename to src/hct_mis_api/apps/registration_data/nodes.py diff --git a/backend/hct_mis_api/apps/registration_data/schema.py b/src/hct_mis_api/apps/registration_data/schema.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/schema.py rename to src/hct_mis_api/apps/registration_data/schema.py diff --git a/backend/hct_mis_api/apps/mis_datahub/tasks/__init__.py b/src/hct_mis_api/apps/registration_data/services/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/tasks/__init__.py rename to src/hct_mis_api/apps/registration_data/services/__init__.py diff --git a/backend/hct_mis_api/apps/registration_data/services/mark_submissions.py b/src/hct_mis_api/apps/registration_data/services/mark_submissions.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/services/mark_submissions.py rename to src/hct_mis_api/apps/registration_data/services/mark_submissions.py diff --git a/backend/hct_mis_api/apps/registration_data/services/template_generator_service.py b/src/hct_mis_api/apps/registration_data/services/template_generator_service.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/services/template_generator_service.py rename to src/hct_mis_api/apps/registration_data/services/template_generator_service.py diff --git a/backend/hct_mis_api/apps/registration_data/signals.py b/src/hct_mis_api/apps/registration_data/signals.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/signals.py rename to src/hct_mis_api/apps/registration_data/signals.py diff --git a/backend/hct_mis_api/apps/registration_data/views.py b/src/hct_mis_api/apps/registration_data/views.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/views.py rename to src/hct_mis_api/apps/registration_data/views.py diff --git a/backend/hct_mis_api/apps/mis_datahub/tests/__init__.py b/src/hct_mis_api/apps/registration_datahub/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/tests/__init__.py rename to src/hct_mis_api/apps/registration_datahub/__init__.py diff --git a/backend/hct_mis_api/apps/registration_datahub/apis/deduplication_engine.py b/src/hct_mis_api/apps/registration_datahub/apis/deduplication_engine.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/apis/deduplication_engine.py rename to src/hct_mis_api/apps/registration_datahub/apis/deduplication_engine.py diff --git a/backend/hct_mis_api/apps/registration_datahub/apps.py b/src/hct_mis_api/apps/registration_datahub/apps.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/apps.py rename to src/hct_mis_api/apps/registration_datahub/apps.py diff --git a/backend/hct_mis_api/apps/registration_datahub/celery_tasks.py b/src/hct_mis_api/apps/registration_datahub/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/celery_tasks.py rename to src/hct_mis_api/apps/registration_datahub/celery_tasks.py diff --git a/backend/hct_mis_api/apps/registration_datahub/exceptions.py b/src/hct_mis_api/apps/registration_datahub/exceptions.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/exceptions.py rename to src/hct_mis_api/apps/registration_datahub/exceptions.py diff --git a/backend/hct_mis_api/apps/registration_datahub/filters.py b/src/hct_mis_api/apps/registration_datahub/filters.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/filters.py rename to src/hct_mis_api/apps/registration_datahub/filters.py diff --git a/backend/hct_mis_api/apps/registration_datahub/inputs.py b/src/hct_mis_api/apps/registration_datahub/inputs.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/inputs.py rename to src/hct_mis_api/apps/registration_datahub/inputs.py diff --git a/backend/hct_mis_api/apps/payment/__init__.py b/src/hct_mis_api/apps/registration_datahub/management/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/__init__.py rename to src/hct_mis_api/apps/registration_datahub/management/__init__.py diff --git a/backend/hct_mis_api/apps/payment/api/__init__.py b/src/hct_mis_api/apps/registration_datahub/management/commands/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/api/__init__.py rename to src/hct_mis_api/apps/registration_datahub/management/commands/__init__.py diff --git a/backend/hct_mis_api/apps/registration_datahub/management/commands/clean_generated.py b/src/hct_mis_api/apps/registration_datahub/management/commands/clean_generated.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/management/commands/clean_generated.py rename to src/hct_mis_api/apps/registration_datahub/management/commands/clean_generated.py diff --git a/backend/hct_mis_api/apps/registration_datahub/management/commands/generate_rdi_xlsx_files.py b/src/hct_mis_api/apps/registration_datahub/management/commands/generate_rdi_xlsx_files.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/management/commands/generate_rdi_xlsx_files.py rename to src/hct_mis_api/apps/registration_datahub/management/commands/generate_rdi_xlsx_files.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0001_migration_squashed_0088_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0001_migration_squashed_0088_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0001_migration_squashed_0088_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0001_migration_squashed_0088_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0089_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0089_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0089_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0089_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0090_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0090_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0090_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0090_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0091_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0091_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0091_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0091_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0092_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0092_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0092_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0092_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0093_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0093_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0093_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0093_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0094_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0094_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0094_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0094_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0095_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0095_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0095_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0095_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0096_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0096_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0096_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0096_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0097_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0097_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0097_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0097_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0098_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0098_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0098_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0098_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0099_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0099_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0099_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0099_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0100_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0100_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0100_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0100_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0101_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0101_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0101_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0101_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0102_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0102_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0102_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0102_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0103_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0103_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0103_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0103_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0104_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0104_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0104_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0104_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0105_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0105_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0105_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0105_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0106_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0106_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0106_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0106_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0107_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0107_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0107_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0107_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0108_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0108_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0108_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0108_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0109_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0109_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0109_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0109_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0110_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0110_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0110_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0110_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0111_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0111_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0111_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0111_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0112_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0112_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0112_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0112_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0113_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0113_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0113_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0113_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0114_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0114_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0114_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0114_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0115_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0115_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0115_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0115_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0116_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0116_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0116_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0116_migration.py diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/0117_migration.py b/src/hct_mis_api/apps/registration_datahub/migrations/0117_migration.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/0117_migration.py rename to src/hct_mis_api/apps/registration_datahub/migrations/0117_migration.py diff --git a/backend/hct_mis_api/apps/payment/management/__init__.py b/src/hct_mis_api/apps/registration_datahub/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/management/__init__.py rename to src/hct_mis_api/apps/registration_datahub/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/registration_datahub/models.py b/src/hct_mis_api/apps/registration_datahub/models.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/models.py rename to src/hct_mis_api/apps/registration_datahub/models.py diff --git a/backend/hct_mis_api/apps/registration_datahub/mutations.py b/src/hct_mis_api/apps/registration_datahub/mutations.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/mutations.py rename to src/hct_mis_api/apps/registration_datahub/mutations.py diff --git a/backend/hct_mis_api/apps/registration_datahub/schema.py b/src/hct_mis_api/apps/registration_datahub/schema.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/schema.py rename to src/hct_mis_api/apps/registration_datahub/schema.py diff --git a/backend/hct_mis_api/apps/registration_datahub/services/biometric_deduplication.py b/src/hct_mis_api/apps/registration_datahub/services/biometric_deduplication.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/services/biometric_deduplication.py rename to src/hct_mis_api/apps/registration_datahub/services/biometric_deduplication.py diff --git a/backend/hct_mis_api/apps/registration_datahub/signals.py b/src/hct_mis_api/apps/registration_datahub/signals.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/signals.py rename to src/hct_mis_api/apps/registration_datahub/signals.py diff --git a/backend/hct_mis_api/apps/payment/management/commands/__init__.py b/src/hct_mis_api/apps/registration_datahub/tasks/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/management/commands/__init__.py rename to src/hct_mis_api/apps/registration_datahub/tasks/__init__.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/deduplicate.py b/src/hct_mis_api/apps/registration_datahub/tasks/deduplicate.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/deduplicate.py rename to src/hct_mis_api/apps/registration_datahub/tasks/deduplicate.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/import_program_population.py b/src/hct_mis_api/apps/registration_datahub/tasks/import_program_population.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/import_program_population.py rename to src/hct_mis_api/apps/registration_datahub/tasks/import_program_population.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/pull_kobo_submissions.py b/src/hct_mis_api/apps/registration_datahub/tasks/pull_kobo_submissions.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/pull_kobo_submissions.py rename to src/hct_mis_api/apps/registration_datahub/tasks/pull_kobo_submissions.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/rdi_base_create.py b/src/hct_mis_api/apps/registration_datahub/tasks/rdi_base_create.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/rdi_base_create.py rename to src/hct_mis_api/apps/registration_datahub/tasks/rdi_base_create.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/rdi_kobo_create.py b/src/hct_mis_api/apps/registration_datahub/tasks/rdi_kobo_create.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/rdi_kobo_create.py rename to src/hct_mis_api/apps/registration_datahub/tasks/rdi_kobo_create.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/rdi_merge.py b/src/hct_mis_api/apps/registration_datahub/tasks/rdi_merge.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/rdi_merge.py rename to src/hct_mis_api/apps/registration_datahub/tasks/rdi_merge.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/rdi_program_population_create.py b/src/hct_mis_api/apps/registration_datahub/tasks/rdi_program_population_create.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/rdi_program_population_create.py rename to src/hct_mis_api/apps/registration_datahub/tasks/rdi_program_population_create.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/rdi_xlsx_create.py b/src/hct_mis_api/apps/registration_datahub/tasks/rdi_xlsx_create.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/rdi_xlsx_create.py rename to src/hct_mis_api/apps/registration_datahub/tasks/rdi_xlsx_create.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/rdi_xlsx_people_create.py b/src/hct_mis_api/apps/registration_datahub/tasks/rdi_xlsx_people_create.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/rdi_xlsx_people_create.py rename to src/hct_mis_api/apps/registration_datahub/tasks/rdi_xlsx_people_create.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/utils.py b/src/hct_mis_api/apps/registration_datahub/tasks/utils.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/utils.py rename to src/hct_mis_api/apps/registration_datahub/tasks/utils.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/validate_xlsx_import.py b/src/hct_mis_api/apps/registration_datahub/tasks/validate_xlsx_import.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/validate_xlsx_import.py rename to src/hct_mis_api/apps/registration_datahub/tasks/validate_xlsx_import.py diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/adminfilters/alexis.html b/src/hct_mis_api/apps/registration_datahub/templates/adminfilters/alexis.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/adminfilters/alexis.html rename to src/hct_mis_api/apps/registration_datahub/templates/adminfilters/alexis.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/dump/dict.html b/src/hct_mis_api/apps/registration_datahub/templates/dump/dict.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/dump/dict.html rename to src/hct_mis_api/apps/registration_datahub/templates/dump/dict.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/dump/dump.html b/src/hct_mis_api/apps/registration_datahub/templates/dump/dump.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/dump/dump.html rename to src/hct_mis_api/apps/registration_datahub/templates/dump/dump.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/dump/list.html b/src/hct_mis_api/apps/registration_datahub/templates/dump/list.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/dump/list.html rename to src/hct_mis_api/apps/registration_datahub/templates/dump/list.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/duplicates.html b/src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/duplicates.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/duplicates.html rename to src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/duplicates.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/inspect.html b/src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/inspect.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/inspect.html rename to src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/inspect.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/change_form.html b/src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/change_form.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/change_form.html rename to src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/change_form.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/change_list.html b/src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/change_list.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/change_list.html rename to src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/change_list.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/create_rdi.html b/src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/create_rdi.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/create_rdi.html rename to src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/create_rdi.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/fetch.html b/src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/fetch.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/fetch.html rename to src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/fetch.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/validate_document.html b/src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/validate_document.html similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/validate_document.html rename to src/hct_mis_api/apps/registration_datahub/templates/registration_datahub/admin/record/validate_document.html diff --git a/backend/hct_mis_api/apps/registration_datahub/templatetags/smart_register.py b/src/hct_mis_api/apps/registration_datahub/templatetags/smart_register.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/templatetags/smart_register.py rename to src/hct_mis_api/apps/registration_datahub/templatetags/smart_register.py diff --git a/backend/hct_mis_api/apps/registration_datahub/utils.py b/src/hct_mis_api/apps/registration_datahub/utils.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/utils.py rename to src/hct_mis_api/apps/registration_datahub/utils.py diff --git a/backend/hct_mis_api/apps/registration_datahub/validators.py b/src/hct_mis_api/apps/registration_datahub/validators.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/validators.py rename to src/hct_mis_api/apps/registration_datahub/validators.py diff --git a/backend/hct_mis_api/apps/registration_datahub/value_caster.py b/src/hct_mis_api/apps/registration_datahub/value_caster.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/value_caster.py rename to src/hct_mis_api/apps/registration_datahub/value_caster.py diff --git a/backend/hct_mis_api/apps/payment/migrations/__init__.py b/src/hct_mis_api/apps/reporting/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/migrations/__init__.py rename to src/hct_mis_api/apps/reporting/__init__.py diff --git a/backend/hct_mis_api/apps/reporting/admin.py b/src/hct_mis_api/apps/reporting/admin.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/admin.py rename to src/hct_mis_api/apps/reporting/admin.py diff --git a/backend/hct_mis_api/apps/reporting/apps.py b/src/hct_mis_api/apps/reporting/apps.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/apps.py rename to src/hct_mis_api/apps/reporting/apps.py diff --git a/backend/hct_mis_api/apps/reporting/celery_tasks.py b/src/hct_mis_api/apps/reporting/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/celery_tasks.py rename to src/hct_mis_api/apps/reporting/celery_tasks.py diff --git a/backend/hct_mis_api/apps/reporting/filters.py b/src/hct_mis_api/apps/reporting/filters.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/filters.py rename to src/hct_mis_api/apps/reporting/filters.py diff --git a/backend/hct_mis_api/apps/reporting/fixtures.py b/src/hct_mis_api/apps/reporting/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/fixtures.py rename to src/hct_mis_api/apps/reporting/fixtures.py diff --git a/backend/hct_mis_api/apps/reporting/inputs.py b/src/hct_mis_api/apps/reporting/inputs.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/inputs.py rename to src/hct_mis_api/apps/reporting/inputs.py diff --git a/backend/hct_mis_api/apps/reporting/migrations/0001_migration_squashed_0004_migration.py b/src/hct_mis_api/apps/reporting/migrations/0001_migration_squashed_0004_migration.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/migrations/0001_migration_squashed_0004_migration.py rename to src/hct_mis_api/apps/reporting/migrations/0001_migration_squashed_0004_migration.py diff --git a/backend/hct_mis_api/apps/reporting/migrations/0005_migration_squashed_0007_migration.py b/src/hct_mis_api/apps/reporting/migrations/0005_migration_squashed_0007_migration.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/migrations/0005_migration_squashed_0007_migration.py rename to src/hct_mis_api/apps/reporting/migrations/0005_migration_squashed_0007_migration.py diff --git a/backend/hct_mis_api/apps/reporting/migrations/0008_migration_squashed_0014_migration.py b/src/hct_mis_api/apps/reporting/migrations/0008_migration_squashed_0014_migration.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/migrations/0008_migration_squashed_0014_migration.py rename to src/hct_mis_api/apps/reporting/migrations/0008_migration_squashed_0014_migration.py diff --git a/backend/hct_mis_api/apps/reporting/migrations/0015_migration.py b/src/hct_mis_api/apps/reporting/migrations/0015_migration.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/migrations/0015_migration.py rename to src/hct_mis_api/apps/reporting/migrations/0015_migration.py diff --git a/backend/hct_mis_api/apps/reporting/migrations/0015_migration_squashed_0017_migration.py b/src/hct_mis_api/apps/reporting/migrations/0015_migration_squashed_0017_migration.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/migrations/0015_migration_squashed_0017_migration.py rename to src/hct_mis_api/apps/reporting/migrations/0015_migration_squashed_0017_migration.py diff --git a/backend/hct_mis_api/apps/reporting/migrations/0016_migration.py b/src/hct_mis_api/apps/reporting/migrations/0016_migration.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/migrations/0016_migration.py rename to src/hct_mis_api/apps/reporting/migrations/0016_migration.py diff --git a/backend/hct_mis_api/apps/reporting/migrations/0017_migration.py b/src/hct_mis_api/apps/reporting/migrations/0017_migration.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/migrations/0017_migration.py rename to src/hct_mis_api/apps/reporting/migrations/0017_migration.py diff --git a/backend/hct_mis_api/apps/payment/pdf/__init__.py b/src/hct_mis_api/apps/reporting/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/pdf/__init__.py rename to src/hct_mis_api/apps/reporting/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/reporting/models.py b/src/hct_mis_api/apps/reporting/models.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/models.py rename to src/hct_mis_api/apps/reporting/models.py diff --git a/backend/hct_mis_api/apps/reporting/mutations.py b/src/hct_mis_api/apps/reporting/mutations.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/mutations.py rename to src/hct_mis_api/apps/reporting/mutations.py diff --git a/backend/hct_mis_api/apps/reporting/schema.py b/src/hct_mis_api/apps/reporting/schema.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/schema.py rename to src/hct_mis_api/apps/reporting/schema.py diff --git a/backend/hct_mis_api/apps/payment/services/__init__.py b/src/hct_mis_api/apps/reporting/services/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/services/__init__.py rename to src/hct_mis_api/apps/reporting/services/__init__.py diff --git a/backend/hct_mis_api/apps/reporting/services/generate_dashboard_report_service.py b/src/hct_mis_api/apps/reporting/services/generate_dashboard_report_service.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/services/generate_dashboard_report_service.py rename to src/hct_mis_api/apps/reporting/services/generate_dashboard_report_service.py diff --git a/backend/hct_mis_api/apps/reporting/services/generate_report_service.py b/src/hct_mis_api/apps/reporting/services/generate_report_service.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/services/generate_report_service.py rename to src/hct_mis_api/apps/reporting/services/generate_report_service.py diff --git a/backend/hct_mis_api/apps/reporting/templates/dashboard_report.html b/src/hct_mis_api/apps/reporting/templates/dashboard_report.html similarity index 100% rename from backend/hct_mis_api/apps/reporting/templates/dashboard_report.html rename to src/hct_mis_api/apps/reporting/templates/dashboard_report.html diff --git a/backend/hct_mis_api/apps/reporting/templates/dashboard_report.txt b/src/hct_mis_api/apps/reporting/templates/dashboard_report.txt similarity index 100% rename from backend/hct_mis_api/apps/reporting/templates/dashboard_report.txt rename to src/hct_mis_api/apps/reporting/templates/dashboard_report.txt diff --git a/backend/hct_mis_api/apps/reporting/templates/report.html b/src/hct_mis_api/apps/reporting/templates/report.html similarity index 100% rename from backend/hct_mis_api/apps/reporting/templates/report.html rename to src/hct_mis_api/apps/reporting/templates/report.html diff --git a/backend/hct_mis_api/apps/reporting/templates/report.txt b/src/hct_mis_api/apps/reporting/templates/report.txt similarity index 100% rename from backend/hct_mis_api/apps/reporting/templates/report.txt rename to src/hct_mis_api/apps/reporting/templates/report.txt diff --git a/backend/hct_mis_api/apps/reporting/validators.py b/src/hct_mis_api/apps/reporting/validators.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/validators.py rename to src/hct_mis_api/apps/reporting/validators.py diff --git a/backend/hct_mis_api/apps/payment/tasks/__init__.py b/src/hct_mis_api/apps/sanction_list/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tasks/__init__.py rename to src/hct_mis_api/apps/sanction_list/__init__.py diff --git a/backend/hct_mis_api/apps/sanction_list/admin.py b/src/hct_mis_api/apps/sanction_list/admin.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/admin.py rename to src/hct_mis_api/apps/sanction_list/admin.py diff --git a/backend/hct_mis_api/apps/sanction_list/apps.py b/src/hct_mis_api/apps/sanction_list/apps.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/apps.py rename to src/hct_mis_api/apps/sanction_list/apps.py diff --git a/backend/hct_mis_api/apps/sanction_list/celery_tasks.py b/src/hct_mis_api/apps/sanction_list/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/celery_tasks.py rename to src/hct_mis_api/apps/sanction_list/celery_tasks.py diff --git a/backend/hct_mis_api/apps/sanction_list/filters.py b/src/hct_mis_api/apps/sanction_list/filters.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/filters.py rename to src/hct_mis_api/apps/sanction_list/filters.py diff --git a/backend/hct_mis_api/apps/sanction_list/fixtures.py b/src/hct_mis_api/apps/sanction_list/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/fixtures.py rename to src/hct_mis_api/apps/sanction_list/fixtures.py diff --git a/backend/hct_mis_api/apps/sanction_list/migrations/0001_migration_squashed_0009_migration.py b/src/hct_mis_api/apps/sanction_list/migrations/0001_migration_squashed_0009_migration.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/migrations/0001_migration_squashed_0009_migration.py rename to src/hct_mis_api/apps/sanction_list/migrations/0001_migration_squashed_0009_migration.py diff --git a/backend/hct_mis_api/apps/sanction_list/migrations/0010_migration.py b/src/hct_mis_api/apps/sanction_list/migrations/0010_migration.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/migrations/0010_migration.py rename to src/hct_mis_api/apps/sanction_list/migrations/0010_migration.py diff --git a/backend/hct_mis_api/apps/sanction_list/migrations/0011_migration_squashed_0018_migration.py b/src/hct_mis_api/apps/sanction_list/migrations/0011_migration_squashed_0018_migration.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/migrations/0011_migration_squashed_0018_migration.py rename to src/hct_mis_api/apps/sanction_list/migrations/0011_migration_squashed_0018_migration.py diff --git a/backend/hct_mis_api/apps/payment/tests/__init__.py b/src/hct_mis_api/apps/sanction_list/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/__init__.py rename to src/hct_mis_api/apps/sanction_list/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/sanction_list/models.py b/src/hct_mis_api/apps/sanction_list/models.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/models.py rename to src/hct_mis_api/apps/sanction_list/models.py diff --git a/backend/hct_mis_api/apps/sanction_list/mutations.py b/src/hct_mis_api/apps/sanction_list/mutations.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/mutations.py rename to src/hct_mis_api/apps/sanction_list/mutations.py diff --git a/backend/hct_mis_api/apps/sanction_list/schema.py b/src/hct_mis_api/apps/sanction_list/schema.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/schema.py rename to src/hct_mis_api/apps/sanction_list/schema.py diff --git a/backend/hct_mis_api/apps/payment/tests/services/__init__.py b/src/hct_mis_api/apps/sanction_list/tasks/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/services/__init__.py rename to src/hct_mis_api/apps/sanction_list/tasks/__init__.py diff --git a/backend/hct_mis_api/apps/sanction_list/tasks/check_against_sanction_list.py b/src/hct_mis_api/apps/sanction_list/tasks/check_against_sanction_list.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tasks/check_against_sanction_list.py rename to src/hct_mis_api/apps/sanction_list/tasks/check_against_sanction_list.py diff --git a/backend/hct_mis_api/apps/sanction_list/tasks/check_against_sanction_list_pre_merge.py b/src/hct_mis_api/apps/sanction_list/tasks/check_against_sanction_list_pre_merge.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tasks/check_against_sanction_list_pre_merge.py rename to src/hct_mis_api/apps/sanction_list/tasks/check_against_sanction_list_pre_merge.py diff --git a/backend/hct_mis_api/apps/sanction_list/tasks/load_xml.py b/src/hct_mis_api/apps/sanction_list/tasks/load_xml.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tasks/load_xml.py rename to src/hct_mis_api/apps/sanction_list/tasks/load_xml.py diff --git a/backend/hct_mis_api/apps/sanction_list/template_generator.py b/src/hct_mis_api/apps/sanction_list/template_generator.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/template_generator.py rename to src/hct_mis_api/apps/sanction_list/template_generator.py diff --git a/backend/hct_mis_api/apps/sanction_list/templates/sanction_list/check_results.html b/src/hct_mis_api/apps/sanction_list/templates/sanction_list/check_results.html similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/templates/sanction_list/check_results.html rename to src/hct_mis_api/apps/sanction_list/templates/sanction_list/check_results.html diff --git a/backend/hct_mis_api/apps/sanction_list/templates/sanction_list/check_results.txt b/src/hct_mis_api/apps/sanction_list/templates/sanction_list/check_results.txt similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/templates/sanction_list/check_results.txt rename to src/hct_mis_api/apps/sanction_list/templates/sanction_list/check_results.txt diff --git a/backend/hct_mis_api/apps/sanction_list/views.py b/src/hct_mis_api/apps/sanction_list/views.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/views.py rename to src/hct_mis_api/apps/sanction_list/views.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/__init__.py b/src/hct_mis_api/apps/steficon/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/__init__.py rename to src/hct_mis_api/apps/steficon/__init__.py diff --git a/backend/hct_mis_api/apps/steficon/admin.py b/src/hct_mis_api/apps/steficon/admin.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/admin.py rename to src/hct_mis_api/apps/steficon/admin.py diff --git a/backend/hct_mis_api/apps/steficon/apps.py b/src/hct_mis_api/apps/steficon/apps.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/apps.py rename to src/hct_mis_api/apps/steficon/apps.py diff --git a/backend/hct_mis_api/apps/steficon/config.py b/src/hct_mis_api/apps/steficon/config.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/config.py rename to src/hct_mis_api/apps/steficon/config.py diff --git a/backend/hct_mis_api/apps/steficon/debug.py b/src/hct_mis_api/apps/steficon/debug.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/debug.py rename to src/hct_mis_api/apps/steficon/debug.py diff --git a/backend/hct_mis_api/apps/steficon/exception.py b/src/hct_mis_api/apps/steficon/exception.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/exception.py rename to src/hct_mis_api/apps/steficon/exception.py diff --git a/backend/hct_mis_api/apps/steficon/filters.py b/src/hct_mis_api/apps/steficon/filters.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/filters.py rename to src/hct_mis_api/apps/steficon/filters.py diff --git a/backend/hct_mis_api/apps/steficon/fixtures.py b/src/hct_mis_api/apps/steficon/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/fixtures.py rename to src/hct_mis_api/apps/steficon/fixtures.py diff --git a/backend/hct_mis_api/apps/steficon/fixtures/data-cypress.json b/src/hct_mis_api/apps/steficon/fixtures/data-cypress.json similarity index 100% rename from backend/hct_mis_api/apps/steficon/fixtures/data-cypress.json rename to src/hct_mis_api/apps/steficon/fixtures/data-cypress.json diff --git a/backend/hct_mis_api/apps/steficon/fixtures/data.json b/src/hct_mis_api/apps/steficon/fixtures/data.json similarity index 100% rename from backend/hct_mis_api/apps/steficon/fixtures/data.json rename to src/hct_mis_api/apps/steficon/fixtures/data.json diff --git a/backend/hct_mis_api/apps/steficon/forms.py b/src/hct_mis_api/apps/steficon/forms.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/forms.py rename to src/hct_mis_api/apps/steficon/forms.py diff --git a/backend/hct_mis_api/apps/steficon/interpreters.py b/src/hct_mis_api/apps/steficon/interpreters.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/interpreters.py rename to src/hct_mis_api/apps/steficon/interpreters.py diff --git a/backend/hct_mis_api/apps/steficon/migrations/0001_migration.py b/src/hct_mis_api/apps/steficon/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/migrations/0001_migration.py rename to src/hct_mis_api/apps/steficon/migrations/0001_migration.py diff --git a/backend/hct_mis_api/apps/steficon/migrations/0002_migration.py b/src/hct_mis_api/apps/steficon/migrations/0002_migration.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/migrations/0002_migration.py rename to src/hct_mis_api/apps/steficon/migrations/0002_migration.py diff --git a/backend/hct_mis_api/apps/steficon/migrations/0003_migration_squashed_0007_empty_rules.py b/src/hct_mis_api/apps/steficon/migrations/0003_migration_squashed_0007_empty_rules.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/migrations/0003_migration_squashed_0007_empty_rules.py rename to src/hct_mis_api/apps/steficon/migrations/0003_migration_squashed_0007_empty_rules.py diff --git a/backend/hct_mis_api/apps/steficon/migrations/0008_reset_id_squashed_0010_migration.py b/src/hct_mis_api/apps/steficon/migrations/0008_reset_id_squashed_0010_migration.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/migrations/0008_reset_id_squashed_0010_migration.py rename to src/hct_mis_api/apps/steficon/migrations/0008_reset_id_squashed_0010_migration.py diff --git a/backend/hct_mis_api/apps/steficon/migrations/0011_migration_squashed_0016_migration.py b/src/hct_mis_api/apps/steficon/migrations/0011_migration_squashed_0016_migration.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/migrations/0011_migration_squashed_0016_migration.py rename to src/hct_mis_api/apps/steficon/migrations/0011_migration_squashed_0016_migration.py diff --git a/backend/hct_mis_api/apps/steficon/migrations/0017_migration.py b/src/hct_mis_api/apps/steficon/migrations/0017_migration.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/migrations/0017_migration.py rename to src/hct_mis_api/apps/steficon/migrations/0017_migration.py diff --git a/backend/hct_mis_api/apps/steficon/migrations/0018_migration.py b/src/hct_mis_api/apps/steficon/migrations/0018_migration.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/migrations/0018_migration.py rename to src/hct_mis_api/apps/steficon/migrations/0018_migration.py diff --git a/backend/hct_mis_api/apps/steficon/migrations/0019_migration.py b/src/hct_mis_api/apps/steficon/migrations/0019_migration.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/migrations/0019_migration.py rename to src/hct_mis_api/apps/steficon/migrations/0019_migration.py diff --git a/backend/hct_mis_api/apps/payment/xlsx/__init__.py b/src/hct_mis_api/apps/steficon/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/payment/xlsx/__init__.py rename to src/hct_mis_api/apps/steficon/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/steficon/models.py b/src/hct_mis_api/apps/steficon/models.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/models.py rename to src/hct_mis_api/apps/steficon/models.py diff --git a/backend/hct_mis_api/apps/steficon/result.py b/src/hct_mis_api/apps/steficon/result.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/result.py rename to src/hct_mis_api/apps/steficon/result.py diff --git a/backend/hct_mis_api/apps/steficon/schema.py b/src/hct_mis_api/apps/steficon/schema.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/schema.py rename to src/hct_mis_api/apps/steficon/schema.py diff --git a/backend/hct_mis_api/apps/steficon/security.py b/src/hct_mis_api/apps/steficon/security.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/security.py rename to src/hct_mis_api/apps/steficon/security.py diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/change_form.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/change_form.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/change_form.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/change_form.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/change_list.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/change_list.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/change_list.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/change_list.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/changelog.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/changelog.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/changelog.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/changelog.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/delete_confirmation.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/delete_confirmation.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/delete_confirmation.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/delete_confirmation.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/diff.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/diff.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/diff.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/diff.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/file_process.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/file_process.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/file_process.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/file_process.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/preview_rule.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/preview_rule.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/preview_rule.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/preview_rule.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/revert.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/revert.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/revert.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/revert.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/test.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/test.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/test.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/test.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/used_by.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/used_by.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rule/used_by.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rule/used_by.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/change_form.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/change_form.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/change_form.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/change_form.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/change_list.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/change_list.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/change_list.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/change_list.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/diff.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/diff.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/diff.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/diff.html diff --git a/backend/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/revert.html b/src/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/revert.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/revert.html rename to src/hct_mis_api/apps/steficon/templates/admin/steficon/rulecommit/revert.html diff --git a/backend/hct_mis_api/apps/steficon/templates/steficon/debug.html b/src/hct_mis_api/apps/steficon/templates/steficon/debug.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/steficon/debug.html rename to src/hct_mis_api/apps/steficon/templates/steficon/debug.html diff --git a/backend/hct_mis_api/apps/steficon/templates/steficon/widgets/autocomplete.html b/src/hct_mis_api/apps/steficon/templates/steficon/widgets/autocomplete.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/steficon/widgets/autocomplete.html rename to src/hct_mis_api/apps/steficon/templates/steficon/widgets/autocomplete.html diff --git a/backend/hct_mis_api/apps/steficon/templates/steficon/widgets/codewidget.html b/src/hct_mis_api/apps/steficon/templates/steficon/widgets/codewidget.html similarity index 100% rename from backend/hct_mis_api/apps/steficon/templates/steficon/widgets/codewidget.html rename to src/hct_mis_api/apps/steficon/templates/steficon/widgets/codewidget.html diff --git a/backend/hct_mis_api/apps/periodic_data_update/__init__.py b/src/hct_mis_api/apps/steficon/templatetags/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/__init__.py rename to src/hct_mis_api/apps/steficon/templatetags/__init__.py diff --git a/backend/hct_mis_api/apps/steficon/templatetags/engine.py b/src/hct_mis_api/apps/steficon/templatetags/engine.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/templatetags/engine.py rename to src/hct_mis_api/apps/steficon/templatetags/engine.py diff --git a/backend/hct_mis_api/apps/steficon/templatetags/jsonfy.py b/src/hct_mis_api/apps/steficon/templatetags/jsonfy.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/templatetags/jsonfy.py rename to src/hct_mis_api/apps/steficon/templatetags/jsonfy.py diff --git a/backend/hct_mis_api/apps/steficon/templatetags/steficon.py b/src/hct_mis_api/apps/steficon/templatetags/steficon.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/templatetags/steficon.py rename to src/hct_mis_api/apps/steficon/templatetags/steficon.py diff --git a/backend/hct_mis_api/apps/steficon/validators.py b/src/hct_mis_api/apps/steficon/validators.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/validators.py rename to src/hct_mis_api/apps/steficon/validators.py diff --git a/backend/hct_mis_api/apps/steficon/widget.py b/src/hct_mis_api/apps/steficon/widget.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/widget.py rename to src/hct_mis_api/apps/steficon/widget.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/api/__init__.py b/src/hct_mis_api/apps/targeting/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/api/__init__.py rename to src/hct_mis_api/apps/targeting/__init__.py diff --git a/backend/hct_mis_api/apps/targeting/admin.py b/src/hct_mis_api/apps/targeting/admin.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/admin.py rename to src/hct_mis_api/apps/targeting/admin.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/migrations/__init__.py b/src/hct_mis_api/apps/targeting/api/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/migrations/__init__.py rename to src/hct_mis_api/apps/targeting/api/__init__.py diff --git a/backend/hct_mis_api/apps/targeting/api/caches.py b/src/hct_mis_api/apps/targeting/api/caches.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/api/caches.py rename to src/hct_mis_api/apps/targeting/api/caches.py diff --git a/backend/hct_mis_api/apps/targeting/api/filters.py b/src/hct_mis_api/apps/targeting/api/filters.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/api/filters.py rename to src/hct_mis_api/apps/targeting/api/filters.py diff --git a/backend/hct_mis_api/apps/targeting/api/serializers.py b/src/hct_mis_api/apps/targeting/api/serializers.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/api/serializers.py rename to src/hct_mis_api/apps/targeting/api/serializers.py diff --git a/backend/hct_mis_api/apps/targeting/api/urls.py b/src/hct_mis_api/apps/targeting/api/urls.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/api/urls.py rename to src/hct_mis_api/apps/targeting/api/urls.py diff --git a/backend/hct_mis_api/apps/targeting/api/views.py b/src/hct_mis_api/apps/targeting/api/views.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/api/views.py rename to src/hct_mis_api/apps/targeting/api/views.py diff --git a/backend/hct_mis_api/apps/targeting/apps.py b/src/hct_mis_api/apps/targeting/apps.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/apps.py rename to src/hct_mis_api/apps/targeting/apps.py diff --git a/backend/hct_mis_api/apps/targeting/celery_tasks.py b/src/hct_mis_api/apps/targeting/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/celery_tasks.py rename to src/hct_mis_api/apps/targeting/celery_tasks.py diff --git a/backend/hct_mis_api/apps/targeting/choices.py b/src/hct_mis_api/apps/targeting/choices.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/choices.py rename to src/hct_mis_api/apps/targeting/choices.py diff --git a/backend/hct_mis_api/apps/targeting/filters.py b/src/hct_mis_api/apps/targeting/filters.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/filters.py rename to src/hct_mis_api/apps/targeting/filters.py diff --git a/backend/hct_mis_api/apps/targeting/fixtures.py b/src/hct_mis_api/apps/targeting/fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/fixtures.py rename to src/hct_mis_api/apps/targeting/fixtures.py diff --git a/backend/hct_mis_api/apps/targeting/fixtures/data-cypress.json b/src/hct_mis_api/apps/targeting/fixtures/data-cypress.json similarity index 100% rename from backend/hct_mis_api/apps/targeting/fixtures/data-cypress.json rename to src/hct_mis_api/apps/targeting/fixtures/data-cypress.json diff --git a/backend/hct_mis_api/apps/targeting/forms.py b/src/hct_mis_api/apps/targeting/forms.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/forms.py rename to src/hct_mis_api/apps/targeting/forms.py diff --git a/backend/hct_mis_api/apps/targeting/graphql_types.py b/src/hct_mis_api/apps/targeting/graphql_types.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/graphql_types.py rename to src/hct_mis_api/apps/targeting/graphql_types.py diff --git a/backend/hct_mis_api/apps/targeting/inputs.py b/src/hct_mis_api/apps/targeting/inputs.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/inputs.py rename to src/hct_mis_api/apps/targeting/inputs.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0001_migration.py b/src/hct_mis_api/apps/targeting/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0001_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0001_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0002_migration.py b/src/hct_mis_api/apps/targeting/migrations/0002_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0002_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0002_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0002_migration_squashed_0006_migration.py b/src/hct_mis_api/apps/targeting/migrations/0002_migration_squashed_0006_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0002_migration_squashed_0006_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0002_migration_squashed_0006_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0003_migration.py b/src/hct_mis_api/apps/targeting/migrations/0003_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0003_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0003_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0004_migration.py b/src/hct_mis_api/apps/targeting/migrations/0004_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0004_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0004_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0005_migration.py b/src/hct_mis_api/apps/targeting/migrations/0005_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0005_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0005_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0006_migration.py b/src/hct_mis_api/apps/targeting/migrations/0006_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0006_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0006_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0007_migration_squashed_0028_migration.py b/src/hct_mis_api/apps/targeting/migrations/0007_migration_squashed_0028_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0007_migration_squashed_0028_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0007_migration_squashed_0028_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0029_migration.py b/src/hct_mis_api/apps/targeting/migrations/0029_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0029_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0029_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0030_migration.py b/src/hct_mis_api/apps/targeting/migrations/0030_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0030_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0030_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0030_migration_squashed_0039_migration.py b/src/hct_mis_api/apps/targeting/migrations/0030_migration_squashed_0039_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0030_migration_squashed_0039_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0030_migration_squashed_0039_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0031_migration.py b/src/hct_mis_api/apps/targeting/migrations/0031_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0031_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0031_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0032_migration.py b/src/hct_mis_api/apps/targeting/migrations/0032_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0032_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0032_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0033_migration.py b/src/hct_mis_api/apps/targeting/migrations/0033_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0033_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0033_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0034_migration.py b/src/hct_mis_api/apps/targeting/migrations/0034_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0034_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0034_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0035_migration.py b/src/hct_mis_api/apps/targeting/migrations/0035_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0035_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0035_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0036_migration.py b/src/hct_mis_api/apps/targeting/migrations/0036_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0036_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0036_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0037_migration.py b/src/hct_mis_api/apps/targeting/migrations/0037_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0037_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0037_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0038_migration.py b/src/hct_mis_api/apps/targeting/migrations/0038_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0038_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0038_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0039_migration.py b/src/hct_mis_api/apps/targeting/migrations/0039_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0039_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0039_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0040_migration.py b/src/hct_mis_api/apps/targeting/migrations/0040_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0040_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0040_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0041_migration.py b/src/hct_mis_api/apps/targeting/migrations/0041_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0041_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0041_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0042_migration.py b/src/hct_mis_api/apps/targeting/migrations/0042_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0042_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0042_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0043_migration.py b/src/hct_mis_api/apps/targeting/migrations/0043_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0043_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0043_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0044_migration.py b/src/hct_mis_api/apps/targeting/migrations/0044_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0044_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0044_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0045_migration.py b/src/hct_mis_api/apps/targeting/migrations/0045_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0045_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0045_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0046_migration.py b/src/hct_mis_api/apps/targeting/migrations/0046_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0046_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0046_migration.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/0047_migration.py b/src/hct_mis_api/apps/targeting/migrations/0047_migration.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/0047_migration.py rename to src/hct_mis_api/apps/targeting/migrations/0047_migration.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/tests/__init__.py b/src/hct_mis_api/apps/targeting/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/tests/__init__.py rename to src/hct_mis_api/apps/targeting/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/targeting/models.py b/src/hct_mis_api/apps/targeting/models.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/models.py rename to src/hct_mis_api/apps/targeting/models.py diff --git a/backend/hct_mis_api/apps/targeting/mutations.py b/src/hct_mis_api/apps/targeting/mutations.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/mutations.py rename to src/hct_mis_api/apps/targeting/mutations.py diff --git a/backend/hct_mis_api/apps/targeting/schema.py b/src/hct_mis_api/apps/targeting/schema.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/schema.py rename to src/hct_mis_api/apps/targeting/schema.py diff --git a/backend/hct_mis_api/apps/targeting/services/targeting_service.py b/src/hct_mis_api/apps/targeting/services/targeting_service.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/services/targeting_service.py rename to src/hct_mis_api/apps/targeting/services/targeting_service.py diff --git a/backend/hct_mis_api/apps/targeting/services/targeting_stats_refresher.py b/src/hct_mis_api/apps/targeting/services/targeting_stats_refresher.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/services/targeting_stats_refresher.py rename to src/hct_mis_api/apps/targeting/services/targeting_stats_refresher.py diff --git a/backend/hct_mis_api/apps/targeting/services/xlsx_export_targeting_service.py b/src/hct_mis_api/apps/targeting/services/xlsx_export_targeting_service.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/services/xlsx_export_targeting_service.py rename to src/hct_mis_api/apps/targeting/services/xlsx_export_targeting_service.py diff --git a/backend/hct_mis_api/apps/targeting/signals.py b/src/hct_mis_api/apps/targeting/signals.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/signals.py rename to src/hct_mis_api/apps/targeting/signals.py diff --git a/backend/hct_mis_api/apps/targeting/steficon.py b/src/hct_mis_api/apps/targeting/steficon.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/steficon.py rename to src/hct_mis_api/apps/targeting/steficon.py diff --git a/backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/_ind.html b/src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/_ind.html similarity index 100% rename from backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/_ind.html rename to src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/_ind.html diff --git a/backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/inspect.html b/src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/inspect.html similarity index 100% rename from backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/inspect.html rename to src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/inspect.html diff --git a/backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/payments.html b/src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/payments.html similarity index 100% rename from backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/payments.html rename to src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/payments.html diff --git a/backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/rule_change.html b/src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/rule_change.html similarity index 100% rename from backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/rule_change.html rename to src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/rule_change.html diff --git a/backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/steficon_rerun.html b/src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/steficon_rerun.html similarity index 100% rename from backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/steficon_rerun.html rename to src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/steficon_rerun.html diff --git a/backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/steficon_test.html b/src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/steficon_test.html similarity index 100% rename from backend/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/steficon_test.html rename to src/hct_mis_api/apps/targeting/templates/admin/targeting/targetpopulation/steficon_test.html diff --git a/backend/hct_mis_api/apps/targeting/validators.py b/src/hct_mis_api/apps/targeting/validators.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/validators.py rename to src/hct_mis_api/apps/targeting/validators.py diff --git a/backend/hct_mis_api/apps/targeting/views.py b/src/hct_mis_api/apps/targeting/views.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/views.py rename to src/hct_mis_api/apps/targeting/views.py diff --git a/backend/hct_mis_api/apps/program/__init__.py b/src/hct_mis_api/apps/utils/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/program/__init__.py rename to src/hct_mis_api/apps/utils/__init__.py diff --git a/backend/hct_mis_api/apps/utils/admin.py b/src/hct_mis_api/apps/utils/admin.py similarity index 100% rename from backend/hct_mis_api/apps/utils/admin.py rename to src/hct_mis_api/apps/utils/admin.py diff --git a/backend/hct_mis_api/apps/utils/age_at_registration.py b/src/hct_mis_api/apps/utils/age_at_registration.py similarity index 100% rename from backend/hct_mis_api/apps/utils/age_at_registration.py rename to src/hct_mis_api/apps/utils/age_at_registration.py diff --git a/backend/hct_mis_api/apps/utils/apps.py b/src/hct_mis_api/apps/utils/apps.py similarity index 100% rename from backend/hct_mis_api/apps/utils/apps.py rename to src/hct_mis_api/apps/utils/apps.py diff --git a/backend/hct_mis_api/apps/utils/celery_manager.py b/src/hct_mis_api/apps/utils/celery_manager.py similarity index 100% rename from backend/hct_mis_api/apps/utils/celery_manager.py rename to src/hct_mis_api/apps/utils/celery_manager.py diff --git a/backend/hct_mis_api/apps/utils/celery_utils.py b/src/hct_mis_api/apps/utils/celery_utils.py similarity index 100% rename from backend/hct_mis_api/apps/utils/celery_utils.py rename to src/hct_mis_api/apps/utils/celery_utils.py diff --git a/backend/hct_mis_api/apps/utils/cypress.py b/src/hct_mis_api/apps/utils/cypress.py similarity index 100% rename from backend/hct_mis_api/apps/utils/cypress.py rename to src/hct_mis_api/apps/utils/cypress.py diff --git a/backend/hct_mis_api/apps/utils/elasticsearch_utils.py b/src/hct_mis_api/apps/utils/elasticsearch_utils.py similarity index 100% rename from backend/hct_mis_api/apps/utils/elasticsearch_utils.py rename to src/hct_mis_api/apps/utils/elasticsearch_utils.py diff --git a/backend/hct_mis_api/apps/utils/exceptions.py b/src/hct_mis_api/apps/utils/exceptions.py similarity index 100% rename from backend/hct_mis_api/apps/utils/exceptions.py rename to src/hct_mis_api/apps/utils/exceptions.py diff --git a/backend/hct_mis_api/apps/utils/graphql.py b/src/hct_mis_api/apps/utils/graphql.py similarity index 100% rename from backend/hct_mis_api/apps/utils/graphql.py rename to src/hct_mis_api/apps/utils/graphql.py diff --git a/backend/hct_mis_api/apps/utils/logs.py b/src/hct_mis_api/apps/utils/logs.py similarity index 100% rename from backend/hct_mis_api/apps/utils/logs.py rename to src/hct_mis_api/apps/utils/logs.py diff --git a/backend/hct_mis_api/apps/utils/mailjet.py b/src/hct_mis_api/apps/utils/mailjet.py similarity index 100% rename from backend/hct_mis_api/apps/utils/mailjet.py rename to src/hct_mis_api/apps/utils/mailjet.py diff --git a/backend/hct_mis_api/apps/program/api/__init__.py b/src/hct_mis_api/apps/utils/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/program/api/__init__.py rename to src/hct_mis_api/apps/utils/migrations/__init__.py diff --git a/backend/hct_mis_api/apps/utils/models.py b/src/hct_mis_api/apps/utils/models.py similarity index 100% rename from backend/hct_mis_api/apps/utils/models.py rename to src/hct_mis_api/apps/utils/models.py diff --git a/backend/hct_mis_api/apps/utils/mutations.py b/src/hct_mis_api/apps/utils/mutations.py similarity index 100% rename from backend/hct_mis_api/apps/utils/mutations.py rename to src/hct_mis_api/apps/utils/mutations.py diff --git a/backend/hct_mis_api/apps/utils/pdf_generator.py b/src/hct_mis_api/apps/utils/pdf_generator.py similarity index 100% rename from backend/hct_mis_api/apps/utils/pdf_generator.py rename to src/hct_mis_api/apps/utils/pdf_generator.py diff --git a/backend/hct_mis_api/apps/utils/phone.py b/src/hct_mis_api/apps/utils/phone.py similarity index 100% rename from backend/hct_mis_api/apps/utils/phone.py rename to src/hct_mis_api/apps/utils/phone.py diff --git a/backend/hct_mis_api/apps/utils/phone_number.py b/src/hct_mis_api/apps/utils/phone_number.py similarity index 100% rename from backend/hct_mis_api/apps/utils/phone_number.py rename to src/hct_mis_api/apps/utils/phone_number.py diff --git a/backend/hct_mis_api/apps/utils/profiling.py b/src/hct_mis_api/apps/utils/profiling.py similarity index 100% rename from backend/hct_mis_api/apps/utils/profiling.py rename to src/hct_mis_api/apps/utils/profiling.py diff --git a/backend/hct_mis_api/apps/utils/querysets.py b/src/hct_mis_api/apps/utils/querysets.py similarity index 100% rename from backend/hct_mis_api/apps/utils/querysets.py rename to src/hct_mis_api/apps/utils/querysets.py diff --git a/backend/hct_mis_api/apps/utils/schema.py b/src/hct_mis_api/apps/utils/schema.py similarity index 100% rename from backend/hct_mis_api/apps/utils/schema.py rename to src/hct_mis_api/apps/utils/schema.py diff --git a/backend/hct_mis_api/apps/utils/security.py b/src/hct_mis_api/apps/utils/security.py similarity index 100% rename from backend/hct_mis_api/apps/utils/security.py rename to src/hct_mis_api/apps/utils/security.py diff --git a/backend/hct_mis_api/apps/utils/sentry.py b/src/hct_mis_api/apps/utils/sentry.py similarity index 100% rename from backend/hct_mis_api/apps/utils/sentry.py rename to src/hct_mis_api/apps/utils/sentry.py diff --git a/backend/hct_mis_api/apps/utils/templates/export/pdf_base.html b/src/hct_mis_api/apps/utils/templates/export/pdf_base.html similarity index 100% rename from backend/hct_mis_api/apps/utils/templates/export/pdf_base.html rename to src/hct_mis_api/apps/utils/templates/export/pdf_base.html diff --git a/backend/hct_mis_api/apps/program/migrations/__init__.py b/src/hct_mis_api/apps/utils/templatetags/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/program/migrations/__init__.py rename to src/hct_mis_api/apps/utils/templatetags/__init__.py diff --git a/backend/hct_mis_api/apps/utils/templatetags/custom_tags.py b/src/hct_mis_api/apps/utils/templatetags/custom_tags.py similarity index 100% rename from backend/hct_mis_api/apps/utils/templatetags/custom_tags.py rename to src/hct_mis_api/apps/utils/templatetags/custom_tags.py diff --git a/backend/hct_mis_api/apps/utils/validators.py b/src/hct_mis_api/apps/utils/validators.py similarity index 100% rename from backend/hct_mis_api/apps/utils/validators.py rename to src/hct_mis_api/apps/utils/validators.py diff --git a/backend/hct_mis_api/apps/web/.gitignore b/src/hct_mis_api/apps/web/.gitignore similarity index 100% rename from backend/hct_mis_api/apps/web/.gitignore rename to src/hct_mis_api/apps/web/.gitignore diff --git a/backend/hct_mis_api/apps/program/tests/__init__.py b/src/hct_mis_api/apps/web/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/__init__.py rename to src/hct_mis_api/apps/web/__init__.py diff --git a/backend/hct_mis_api/apps/web/apps.py b/src/hct_mis_api/apps/web/apps.py similarity index 100% rename from backend/hct_mis_api/apps/web/apps.py rename to src/hct_mis_api/apps/web/apps.py diff --git a/backend/hct_mis_api/apps/web/templates/web/index.html b/src/hct_mis_api/apps/web/templates/web/index.html similarity index 100% rename from backend/hct_mis_api/apps/web/templates/web/index.html rename to src/hct_mis_api/apps/web/templates/web/index.html diff --git a/backend/hct_mis_api/apps/web/views.py b/src/hct_mis_api/apps/web/views.py similarity index 100% rename from backend/hct_mis_api/apps/web/views.py rename to src/hct_mis_api/apps/web/views.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/__init__.py b/src/hct_mis_api/aurora/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/__init__.py rename to src/hct_mis_api/aurora/__init__.py diff --git a/backend/hct_mis_api/aurora/admin.py b/src/hct_mis_api/aurora/admin.py similarity index 100% rename from backend/hct_mis_api/aurora/admin.py rename to src/hct_mis_api/aurora/admin.py diff --git a/backend/hct_mis_api/aurora/api.py b/src/hct_mis_api/aurora/api.py similarity index 100% rename from backend/hct_mis_api/aurora/api.py rename to src/hct_mis_api/aurora/api.py diff --git a/backend/hct_mis_api/aurora/apps.py b/src/hct_mis_api/aurora/apps.py similarity index 100% rename from backend/hct_mis_api/aurora/apps.py rename to src/hct_mis_api/aurora/apps.py diff --git a/backend/hct_mis_api/aurora/celery_tasks.py b/src/hct_mis_api/aurora/celery_tasks.py similarity index 100% rename from backend/hct_mis_api/aurora/celery_tasks.py rename to src/hct_mis_api/aurora/celery_tasks.py diff --git a/backend/hct_mis_api/aurora/fixtures.py b/src/hct_mis_api/aurora/fixtures.py similarity index 100% rename from backend/hct_mis_api/aurora/fixtures.py rename to src/hct_mis_api/aurora/fixtures.py diff --git a/backend/hct_mis_api/aurora/fixtures/data.json b/src/hct_mis_api/aurora/fixtures/data.json similarity index 100% rename from backend/hct_mis_api/aurora/fixtures/data.json rename to src/hct_mis_api/aurora/fixtures/data.json diff --git a/backend/hct_mis_api/aurora/forms.py b/src/hct_mis_api/aurora/forms.py similarity index 100% rename from backend/hct_mis_api/aurora/forms.py rename to src/hct_mis_api/aurora/forms.py diff --git a/backend/hct_mis_api/aurora/migrations/0001_migration.py b/src/hct_mis_api/aurora/migrations/0001_migration.py similarity index 100% rename from backend/hct_mis_api/aurora/migrations/0001_migration.py rename to src/hct_mis_api/aurora/migrations/0001_migration.py diff --git a/backend/hct_mis_api/aurora/migrations/0002_migration.py b/src/hct_mis_api/aurora/migrations/0002_migration.py similarity index 100% rename from backend/hct_mis_api/aurora/migrations/0002_migration.py rename to src/hct_mis_api/aurora/migrations/0002_migration.py diff --git a/backend/hct_mis_api/apps/registration_data/__init__.py b/src/hct_mis_api/aurora/migrations/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/__init__.py rename to src/hct_mis_api/aurora/migrations/__init__.py diff --git a/backend/hct_mis_api/aurora/models.py b/src/hct_mis_api/aurora/models.py similarity index 100% rename from backend/hct_mis_api/aurora/models.py rename to src/hct_mis_api/aurora/models.py diff --git a/backend/hct_mis_api/aurora/rdi.py b/src/hct_mis_api/aurora/rdi.py similarity index 100% rename from backend/hct_mis_api/aurora/rdi.py rename to src/hct_mis_api/aurora/rdi.py diff --git a/backend/hct_mis_api/apps/registration_data/api/__init__.py b/src/hct_mis_api/aurora/services/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/api/__init__.py rename to src/hct_mis_api/aurora/services/__init__.py diff --git a/backend/hct_mis_api/aurora/services/base_flex_registration_service.py b/src/hct_mis_api/aurora/services/base_flex_registration_service.py similarity index 100% rename from backend/hct_mis_api/aurora/services/base_flex_registration_service.py rename to src/hct_mis_api/aurora/services/base_flex_registration_service.py diff --git a/backend/hct_mis_api/aurora/services/czech_republic_flex_registration_service.py b/src/hct_mis_api/aurora/services/czech_republic_flex_registration_service.py similarity index 100% rename from backend/hct_mis_api/aurora/services/czech_republic_flex_registration_service.py rename to src/hct_mis_api/aurora/services/czech_republic_flex_registration_service.py diff --git a/backend/hct_mis_api/aurora/services/extract_record.py b/src/hct_mis_api/aurora/services/extract_record.py similarity index 100% rename from backend/hct_mis_api/aurora/services/extract_record.py rename to src/hct_mis_api/aurora/services/extract_record.py diff --git a/backend/hct_mis_api/aurora/services/flex_registration_service.py b/src/hct_mis_api/aurora/services/flex_registration_service.py similarity index 100% rename from backend/hct_mis_api/aurora/services/flex_registration_service.py rename to src/hct_mis_api/aurora/services/flex_registration_service.py diff --git a/backend/hct_mis_api/aurora/services/generic_registration_service.py b/src/hct_mis_api/aurora/services/generic_registration_service.py similarity index 100% rename from backend/hct_mis_api/aurora/services/generic_registration_service.py rename to src/hct_mis_api/aurora/services/generic_registration_service.py diff --git a/backend/hct_mis_api/aurora/services/sri_lanka_flex_registration_service.py b/src/hct_mis_api/aurora/services/sri_lanka_flex_registration_service.py similarity index 100% rename from backend/hct_mis_api/aurora/services/sri_lanka_flex_registration_service.py rename to src/hct_mis_api/aurora/services/sri_lanka_flex_registration_service.py diff --git a/backend/hct_mis_api/aurora/services/ukraine_flex_registration_service.py b/src/hct_mis_api/aurora/services/ukraine_flex_registration_service.py similarity index 100% rename from backend/hct_mis_api/aurora/services/ukraine_flex_registration_service.py rename to src/hct_mis_api/aurora/services/ukraine_flex_registration_service.py diff --git a/backend/hct_mis_api/aurora/static/aurora/datatable.js b/src/hct_mis_api/aurora/static/aurora/datatable.js similarity index 100% rename from backend/hct_mis_api/aurora/static/aurora/datatable.js rename to src/hct_mis_api/aurora/static/aurora/datatable.js diff --git a/backend/hct_mis_api/aurora/static/aurora/datatable.scss b/src/hct_mis_api/aurora/static/aurora/datatable.scss similarity index 100% rename from backend/hct_mis_api/aurora/static/aurora/datatable.scss rename to src/hct_mis_api/aurora/static/aurora/datatable.scss diff --git a/backend/hct_mis_api/aurora/templates/admin/aurora/app_index.html b/src/hct_mis_api/aurora/templates/admin/aurora/app_index.html similarity index 100% rename from backend/hct_mis_api/aurora/templates/admin/aurora/app_index.html rename to src/hct_mis_api/aurora/templates/admin/aurora/app_index.html diff --git a/backend/hct_mis_api/aurora/templates/admin/aurora/record/fetch.html b/src/hct_mis_api/aurora/templates/admin/aurora/record/fetch.html similarity index 100% rename from backend/hct_mis_api/aurora/templates/admin/aurora/record/fetch.html rename to src/hct_mis_api/aurora/templates/admin/aurora/record/fetch.html diff --git a/backend/hct_mis_api/aurora/templates/admin/aurora/registration/analyze.html b/src/hct_mis_api/aurora/templates/admin/aurora/registration/analyze.html similarity index 100% rename from backend/hct_mis_api/aurora/templates/admin/aurora/registration/analyze.html rename to src/hct_mis_api/aurora/templates/admin/aurora/registration/analyze.html diff --git a/backend/hct_mis_api/aurora/templates/dataset_list.html b/src/hct_mis_api/aurora/templates/dataset_list.html similarity index 100% rename from backend/hct_mis_api/aurora/templates/dataset_list.html rename to src/hct_mis_api/aurora/templates/dataset_list.html diff --git a/backend/hct_mis_api/aurora/urls.py b/src/hct_mis_api/aurora/urls.py similarity index 100% rename from backend/hct_mis_api/aurora/urls.py rename to src/hct_mis_api/aurora/urls.py diff --git a/backend/hct_mis_api/aurora/utils.py b/src/hct_mis_api/aurora/utils.py similarity index 100% rename from backend/hct_mis_api/aurora/utils.py rename to src/hct_mis_api/aurora/utils.py diff --git a/backend/hct_mis_api/aurora/views.py b/src/hct_mis_api/aurora/views.py similarity index 100% rename from backend/hct_mis_api/aurora/views.py rename to src/hct_mis_api/aurora/views.py diff --git a/backend/hct_mis_api/apps/registration_data/migrations/__init__.py b/src/hct_mis_api/config/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/migrations/__init__.py rename to src/hct_mis_api/config/__init__.py diff --git a/backend/hct_mis_api/config/env.py b/src/hct_mis_api/config/env.py similarity index 100% rename from backend/hct_mis_api/config/env.py rename to src/hct_mis_api/config/env.py diff --git a/backend/hct_mis_api/apps/registration_data/services/__init__.py b/src/hct_mis_api/config/fragments/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/services/__init__.py rename to src/hct_mis_api/config/fragments/__init__.py diff --git a/backend/hct_mis_api/config/fragments/celery.py b/src/hct_mis_api/config/fragments/celery.py similarity index 100% rename from backend/hct_mis_api/config/fragments/celery.py rename to src/hct_mis_api/config/fragments/celery.py diff --git a/backend/hct_mis_api/config/fragments/constance.py b/src/hct_mis_api/config/fragments/constance.py similarity index 100% rename from backend/hct_mis_api/config/fragments/constance.py rename to src/hct_mis_api/config/fragments/constance.py diff --git a/backend/hct_mis_api/config/fragments/csp.py b/src/hct_mis_api/config/fragments/csp.py similarity index 100% rename from backend/hct_mis_api/config/fragments/csp.py rename to src/hct_mis_api/config/fragments/csp.py diff --git a/backend/hct_mis_api/config/fragments/debug_toolbar.py b/src/hct_mis_api/config/fragments/debug_toolbar.py similarity index 100% rename from backend/hct_mis_api/config/fragments/debug_toolbar.py rename to src/hct_mis_api/config/fragments/debug_toolbar.py diff --git a/backend/hct_mis_api/config/fragments/drf.py b/src/hct_mis_api/config/fragments/drf.py similarity index 100% rename from backend/hct_mis_api/config/fragments/drf.py rename to src/hct_mis_api/config/fragments/drf.py diff --git a/backend/hct_mis_api/config/fragments/drf_spectacular.py b/src/hct_mis_api/config/fragments/drf_spectacular.py similarity index 100% rename from backend/hct_mis_api/config/fragments/drf_spectacular.py rename to src/hct_mis_api/config/fragments/drf_spectacular.py diff --git a/backend/hct_mis_api/config/fragments/es.py b/src/hct_mis_api/config/fragments/es.py similarity index 100% rename from backend/hct_mis_api/config/fragments/es.py rename to src/hct_mis_api/config/fragments/es.py diff --git a/backend/hct_mis_api/config/fragments/loggers.py b/src/hct_mis_api/config/fragments/loggers.py similarity index 100% rename from backend/hct_mis_api/config/fragments/loggers.py rename to src/hct_mis_api/config/fragments/loggers.py diff --git a/backend/hct_mis_api/config/fragments/mailjet.py b/src/hct_mis_api/config/fragments/mailjet.py similarity index 100% rename from backend/hct_mis_api/config/fragments/mailjet.py rename to src/hct_mis_api/config/fragments/mailjet.py diff --git a/backend/hct_mis_api/config/fragments/matomo.py b/src/hct_mis_api/config/fragments/matomo.py similarity index 100% rename from backend/hct_mis_api/config/fragments/matomo.py rename to src/hct_mis_api/config/fragments/matomo.py diff --git a/backend/hct_mis_api/config/fragments/sentry.py b/src/hct_mis_api/config/fragments/sentry.py similarity index 100% rename from backend/hct_mis_api/config/fragments/sentry.py rename to src/hct_mis_api/config/fragments/sentry.py diff --git a/backend/hct_mis_api/config/fragments/smart_admin.py b/src/hct_mis_api/config/fragments/smart_admin.py similarity index 100% rename from backend/hct_mis_api/config/fragments/smart_admin.py rename to src/hct_mis_api/config/fragments/smart_admin.py diff --git a/backend/hct_mis_api/config/fragments/social_auth.py b/src/hct_mis_api/config/fragments/social_auth.py similarity index 100% rename from backend/hct_mis_api/config/fragments/social_auth.py rename to src/hct_mis_api/config/fragments/social_auth.py diff --git a/backend/hct_mis_api/config/fragments/storages.py b/src/hct_mis_api/config/fragments/storages.py similarity index 100% rename from backend/hct_mis_api/config/fragments/storages.py rename to src/hct_mis_api/config/fragments/storages.py diff --git a/backend/hct_mis_api/config/settings.py b/src/hct_mis_api/config/settings.py similarity index 100% rename from backend/hct_mis_api/config/settings.py rename to src/hct_mis_api/config/settings.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/__init__.py b/src/hct_mis_api/libs/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/__init__.py rename to src/hct_mis_api/libs/__init__.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/services/__init__.py b/src/hct_mis_api/libs/power_query/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/services/__init__.py rename to src/hct_mis_api/libs/power_query/__init__.py diff --git a/backend/hct_mis_api/libs/power_query/backends.py b/src/hct_mis_api/libs/power_query/backends.py similarity index 100% rename from backend/hct_mis_api/libs/power_query/backends.py rename to src/hct_mis_api/libs/power_query/backends.py diff --git a/backend/hct_mis_api/libs/power_query/defaults.py b/src/hct_mis_api/libs/power_query/defaults.py similarity index 100% rename from backend/hct_mis_api/libs/power_query/defaults.py rename to src/hct_mis_api/libs/power_query/defaults.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/snapshots/__init__.py b/src/hct_mis_api/libs/power_query/management/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/snapshots/__init__.py rename to src/hct_mis_api/libs/power_query/management/__init__.py diff --git a/backend/hct_mis_api/apps/registration_datahub/__init__.py b/src/hct_mis_api/libs/power_query/management/commands/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/__init__.py rename to src/hct_mis_api/libs/power_query/management/commands/__init__.py diff --git a/backend/hct_mis_api/libs/power_query/management/commands/pq.py b/src/hct_mis_api/libs/power_query/management/commands/pq.py similarity index 100% rename from backend/hct_mis_api/libs/power_query/management/commands/pq.py rename to src/hct_mis_api/libs/power_query/management/commands/pq.py diff --git a/backend/hct_mis_api/apps/registration_datahub/management/__init__.py b/src/hct_mis_api/middlewares/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/management/__init__.py rename to src/hct_mis_api/middlewares/__init__.py diff --git a/backend/hct_mis_api/middlewares/deployment.py b/src/hct_mis_api/middlewares/deployment.py similarity index 100% rename from backend/hct_mis_api/middlewares/deployment.py rename to src/hct_mis_api/middlewares/deployment.py diff --git a/backend/hct_mis_api/middlewares/sentry.py b/src/hct_mis_api/middlewares/sentry.py similarity index 100% rename from backend/hct_mis_api/middlewares/sentry.py rename to src/hct_mis_api/middlewares/sentry.py diff --git a/backend/hct_mis_api/middlewares/silk.py b/src/hct_mis_api/middlewares/silk.py similarity index 100% rename from backend/hct_mis_api/middlewares/silk.py rename to src/hct_mis_api/middlewares/silk.py diff --git a/backend/hct_mis_api/middlewares/version.py b/src/hct_mis_api/middlewares/version.py similarity index 100% rename from backend/hct_mis_api/middlewares/version.py rename to src/hct_mis_api/middlewares/version.py diff --git a/backend/hct_mis_api/apps/registration_datahub/management/commands/__init__.py b/src/hct_mis_api/one_time_scripts/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/management/commands/__init__.py rename to src/hct_mis_api/one_time_scripts/__init__.py diff --git a/backend/hct_mis_api/one_time_scripts/add_tickets_to_missing_rdis.py b/src/hct_mis_api/one_time_scripts/add_tickets_to_missing_rdis.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/add_tickets_to_missing_rdis.py rename to src/hct_mis_api/one_time_scripts/add_tickets_to_missing_rdis.py diff --git a/backend/hct_mis_api/one_time_scripts/assign_program_to_grievance_tickets.py b/src/hct_mis_api/one_time_scripts/assign_program_to_grievance_tickets.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/assign_program_to_grievance_tickets.py rename to src/hct_mis_api/one_time_scripts/assign_program_to_grievance_tickets.py diff --git a/backend/hct_mis_api/one_time_scripts/calculate_age_at_registration.py b/src/hct_mis_api/one_time_scripts/calculate_age_at_registration.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/calculate_age_at_registration.py rename to src/hct_mis_api/one_time_scripts/calculate_age_at_registration.py diff --git a/backend/hct_mis_api/one_time_scripts/create_hh_and_ind_collections.py b/src/hct_mis_api/one_time_scripts/create_hh_and_ind_collections.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/create_hh_and_ind_collections.py rename to src/hct_mis_api/one_time_scripts/create_hh_and_ind_collections.py diff --git a/backend/hct_mis_api/one_time_scripts/fake_pull_from_ca_datahub.py b/src/hct_mis_api/one_time_scripts/fake_pull_from_ca_datahub.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/fake_pull_from_ca_datahub.py rename to src/hct_mis_api/one_time_scripts/fake_pull_from_ca_datahub.py diff --git a/backend/hct_mis_api/one_time_scripts/files/admin_areas_for_UKR_HH.csv b/src/hct_mis_api/one_time_scripts/files/admin_areas_for_UKR_HH.csv similarity index 100% rename from backend/hct_mis_api/one_time_scripts/files/admin_areas_for_UKR_HH.csv rename to src/hct_mis_api/one_time_scripts/files/admin_areas_for_UKR_HH.csv diff --git a/backend/hct_mis_api/one_time_scripts/files/data_migration_gpf/afg_to_ignore.csv b/src/hct_mis_api/one_time_scripts/files/data_migration_gpf/afg_to_ignore.csv similarity index 100% rename from backend/hct_mis_api/one_time_scripts/files/data_migration_gpf/afg_to_ignore.csv rename to src/hct_mis_api/one_time_scripts/files/data_migration_gpf/afg_to_ignore.csv diff --git a/backend/hct_mis_api/one_time_scripts/files/data_migration_gpf/congo_rdi_program_untargetted.csv b/src/hct_mis_api/one_time_scripts/files/data_migration_gpf/congo_rdi_program_untargetted.csv similarity index 100% rename from backend/hct_mis_api/one_time_scripts/files/data_migration_gpf/congo_rdi_program_untargetted.csv rename to src/hct_mis_api/one_time_scripts/files/data_migration_gpf/congo_rdi_program_untargetted.csv diff --git a/backend/hct_mis_api/one_time_scripts/files/data_migration_gpf/congo_to_withdraw.csv b/src/hct_mis_api/one_time_scripts/files/data_migration_gpf/congo_to_withdraw.csv similarity index 100% rename from backend/hct_mis_api/one_time_scripts/files/data_migration_gpf/congo_to_withdraw.csv rename to src/hct_mis_api/one_time_scripts/files/data_migration_gpf/congo_to_withdraw.csv diff --git a/backend/hct_mis_api/one_time_scripts/files/data_migration_gpf/sudan_rdi_program.csv b/src/hct_mis_api/one_time_scripts/files/data_migration_gpf/sudan_rdi_program.csv similarity index 100% rename from backend/hct_mis_api/one_time_scripts/files/data_migration_gpf/sudan_rdi_program.csv rename to src/hct_mis_api/one_time_scripts/files/data_migration_gpf/sudan_rdi_program.csv diff --git a/backend/hct_mis_api/one_time_scripts/files/data_migration_gpf/unknown_unassigned_program.csv b/src/hct_mis_api/one_time_scripts/files/data_migration_gpf/unknown_unassigned_program.csv similarity index 100% rename from backend/hct_mis_api/one_time_scripts/files/data_migration_gpf/unknown_unassigned_program.csv rename to src/hct_mis_api/one_time_scripts/files/data_migration_gpf/unknown_unassigned_program.csv diff --git a/backend/hct_mis_api/one_time_scripts/files/mass_withdraw_sudan_hhs.xlsx b/src/hct_mis_api/one_time_scripts/files/mass_withdraw_sudan_hhs.xlsx similarity index 100% rename from backend/hct_mis_api/one_time_scripts/files/mass_withdraw_sudan_hhs.xlsx rename to src/hct_mis_api/one_time_scripts/files/mass_withdraw_sudan_hhs.xlsx diff --git a/backend/hct_mis_api/one_time_scripts/files/tickets_to_close.txt b/src/hct_mis_api/one_time_scripts/files/tickets_to_close.txt similarity index 100% rename from backend/hct_mis_api/one_time_scripts/files/tickets_to_close.txt rename to src/hct_mis_api/one_time_scripts/files/tickets_to_close.txt diff --git a/backend/hct_mis_api/one_time_scripts/fix_disability_fields.py b/src/hct_mis_api/one_time_scripts/fix_disability_fields.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/fix_disability_fields.py rename to src/hct_mis_api/one_time_scripts/fix_disability_fields.py diff --git a/backend/hct_mis_api/one_time_scripts/fix_haiti_people_collectors.py b/src/hct_mis_api/one_time_scripts/fix_haiti_people_collectors.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/fix_haiti_people_collectors.py rename to src/hct_mis_api/one_time_scripts/fix_haiti_people_collectors.py diff --git a/backend/hct_mis_api/one_time_scripts/mass_withdraw_sudan_hhs.py b/src/hct_mis_api/one_time_scripts/mass_withdraw_sudan_hhs.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/mass_withdraw_sudan_hhs.py rename to src/hct_mis_api/one_time_scripts/mass_withdraw_sudan_hhs.py diff --git a/backend/hct_mis_api/one_time_scripts/migrate_data_for_sync.py b/src/hct_mis_api/one_time_scripts/migrate_data_for_sync.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/migrate_data_for_sync.py rename to src/hct_mis_api/one_time_scripts/migrate_data_for_sync.py diff --git a/backend/hct_mis_api/one_time_scripts/migrate_data_to_representations.py b/src/hct_mis_api/one_time_scripts/migrate_data_to_representations.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/migrate_data_to_representations.py rename to src/hct_mis_api/one_time_scripts/migrate_data_to_representations.py diff --git a/backend/hct_mis_api/one_time_scripts/migrate_everything_to_representations.py b/src/hct_mis_api/one_time_scripts/migrate_everything_to_representations.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/migrate_everything_to_representations.py rename to src/hct_mis_api/one_time_scripts/migrate_everything_to_representations.py diff --git a/backend/hct_mis_api/one_time_scripts/migrate_files_to_representations.py b/src/hct_mis_api/one_time_scripts/migrate_files_to_representations.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/migrate_files_to_representations.py rename to src/hct_mis_api/one_time_scripts/migrate_files_to_representations.py diff --git a/backend/hct_mis_api/one_time_scripts/migrate_grievance_for_sync.py b/src/hct_mis_api/one_time_scripts/migrate_grievance_for_sync.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/migrate_grievance_for_sync.py rename to src/hct_mis_api/one_time_scripts/migrate_grievance_for_sync.py diff --git a/backend/hct_mis_api/one_time_scripts/migrate_grievance_to_representations.py b/src/hct_mis_api/one_time_scripts/migrate_grievance_to_representations.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/migrate_grievance_to_representations.py rename to src/hct_mis_api/one_time_scripts/migrate_grievance_to_representations.py diff --git a/backend/hct_mis_api/one_time_scripts/migrate_partner_permissions_and_access.py b/src/hct_mis_api/one_time_scripts/migrate_partner_permissions_and_access.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/migrate_partner_permissions_and_access.py rename to src/hct_mis_api/one_time_scripts/migrate_partner_permissions_and_access.py diff --git a/backend/hct_mis_api/one_time_scripts/migrate_rdi_deduplication_stats.py b/src/hct_mis_api/one_time_scripts/migrate_rdi_deduplication_stats.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/migrate_rdi_deduplication_stats.py rename to src/hct_mis_api/one_time_scripts/migrate_rdi_deduplication_stats.py diff --git a/backend/hct_mis_api/one_time_scripts/populate_existing_representations_with_migrated_at_data.py b/src/hct_mis_api/one_time_scripts/populate_existing_representations_with_migrated_at_data.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/populate_existing_representations_with_migrated_at_data.py rename to src/hct_mis_api/one_time_scripts/populate_existing_representations_with_migrated_at_data.py diff --git a/backend/hct_mis_api/one_time_scripts/program_cycle_data_migration.py b/src/hct_mis_api/one_time_scripts/program_cycle_data_migration.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/program_cycle_data_migration.py rename to src/hct_mis_api/one_time_scripts/program_cycle_data_migration.py diff --git a/backend/hct_mis_api/one_time_scripts/soft_delete_original_objects.py b/src/hct_mis_api/one_time_scripts/soft_delete_original_objects.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/soft_delete_original_objects.py rename to src/hct_mis_api/one_time_scripts/soft_delete_original_objects.py diff --git a/backend/hct_mis_api/one_time_scripts/sync_representations.py b/src/hct_mis_api/one_time_scripts/sync_representations.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/sync_representations.py rename to src/hct_mis_api/one_time_scripts/sync_representations.py diff --git a/backend/hct_mis_api/one_time_scripts/update_partner_level.py b/src/hct_mis_api/one_time_scripts/update_partner_level.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/update_partner_level.py rename to src/hct_mis_api/one_time_scripts/update_partner_level.py diff --git a/backend/hct_mis_api/one_time_scripts/update_program_size.py b/src/hct_mis_api/one_time_scripts/update_program_size.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/update_program_size.py rename to src/hct_mis_api/one_time_scripts/update_program_size.py diff --git a/backend/hct_mis_api/schema.py b/src/hct_mis_api/schema.py similarity index 100% rename from backend/hct_mis_api/schema.py rename to src/hct_mis_api/schema.py diff --git a/backend/hct_mis_api/urls.py b/src/hct_mis_api/urls.py similarity index 100% rename from backend/hct_mis_api/urls.py rename to src/hct_mis_api/urls.py diff --git a/backend/hct_mis_api/wsgi.py b/src/hct_mis_api/wsgi.py similarity index 100% rename from backend/hct_mis_api/wsgi.py rename to src/hct_mis_api/wsgi.py diff --git a/backend/manage.py b/src/manage.py similarity index 100% rename from backend/manage.py rename to src/manage.py diff --git a/backend/pdm.lock b/src/pdm.lock similarity index 100% rename from backend/pdm.lock rename to src/pdm.lock diff --git a/backend/pyproject.toml b/src/pyproject.toml similarity index 100% rename from backend/pyproject.toml rename to src/pyproject.toml diff --git a/backend/hct_mis_api/apps/registration_datahub/migrations/__init__.py b/tests/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/migrations/__init__.py rename to tests/__init__.py diff --git a/backend/selenium_tests/README.md b/tests/selenium/README.md similarity index 100% rename from backend/selenium_tests/README.md rename to tests/selenium/README.md diff --git a/backend/hct_mis_api/apps/registration_datahub/tasks/__init__.py b/tests/selenium/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tasks/__init__.py rename to tests/selenium/__init__.py diff --git a/backend/selenium_tests/accountability/test_communication.py b/tests/selenium/accountability/test_communication.py similarity index 96% rename from backend/selenium_tests/accountability/test_communication.py rename to tests/selenium/accountability/test_communication.py index 179c34bf69..622ecf9458 100644 --- a/backend/selenium_tests/accountability/test_communication.py +++ b/tests/selenium/accountability/test_communication.py @@ -1,7 +1,7 @@ import pytest -from helpers.fixtures import get_program_with_dct_type_and_name -from page_object.accountability.communication import AccountabilityCommunication -from page_object.accountability.comunication_details import ( +from tests.selenium.helpers.fixtures import get_program_with_dct_type_and_name +from tests.selenium.page_object.accountability.communication import AccountabilityCommunication +from tests.selenium.page_object.accountability.comunication_details import ( AccountabilityCommunicationDetails, ) diff --git a/backend/selenium_tests/accountability/test_surveys.py b/tests/selenium/accountability/test_surveys.py similarity index 96% rename from backend/selenium_tests/accountability/test_surveys.py rename to tests/selenium/accountability/test_surveys.py index 568197f729..64f062cb28 100644 --- a/backend/selenium_tests/accountability/test_surveys.py +++ b/tests/selenium/accountability/test_surveys.py @@ -1,9 +1,9 @@ from django.db import transaction import pytest -from helpers.fixtures import get_program_with_dct_type_and_name -from page_object.accountability.surveys import AccountabilitySurveys -from page_object.accountability.surveys_details import AccountabilitySurveysDetails +from tests.selenium.helpers.fixtures import get_program_with_dct_type_and_name +from tests.selenium.page_object.accountability.surveys import AccountabilitySurveys +from tests.selenium.page_object.accountability.surveys_details import AccountabilitySurveysDetails from hct_mis_api.apps.account.models import User from hct_mis_api.apps.accountability.fixtures import SurveyFactory diff --git a/backend/selenium_tests/conftest.py b/tests/selenium/conftest.py similarity index 84% rename from backend/selenium_tests/conftest.py rename to tests/selenium/conftest.py index b0581d1e12..31a638fb7d 100644 --- a/backend/selenium_tests/conftest.py +++ b/tests/selenium/conftest.py @@ -10,59 +10,59 @@ from _pytest.nodes import Item from _pytest.runner import CallInfo from flags.models import FlagState -from page_object.accountability.communication import AccountabilityCommunication -from page_object.accountability.comunication_details import ( +from tests.selenium.page_object.accountability.communication import AccountabilityCommunication +from tests.selenium.page_object.accountability.comunication_details import ( AccountabilityCommunicationDetails, ) -from page_object.accountability.surveys import AccountabilitySurveys -from page_object.accountability.surveys_details import AccountabilitySurveysDetails -from page_object.admin_panel.admin_panel import AdminPanel -from page_object.country_dashboard.country_dashboard import CountryDashboard -from page_object.filters import Filters -from page_object.grievance.details_feedback_page import FeedbackDetailsPage -from page_object.grievance.details_grievance_page import GrievanceDetailsPage -from page_object.grievance.feedback import Feedback -from page_object.grievance.grievance_dashboard import GrievanceDashboard -from page_object.grievance.grievance_tickets import GrievanceTickets -from page_object.grievance.new_feedback import NewFeedback -from page_object.grievance.new_ticket import NewTicket -from page_object.managerial_console.managerial_console import ManagerialConsole -from page_object.payment_module.new_payment_plan import NewPaymentPlan -from page_object.payment_module.payment_module import PaymentModule -from page_object.payment_module.payment_module_details import PaymentModuleDetails -from page_object.payment_module.program_cycle import ( +from tests.selenium.page_object.accountability.surveys import AccountabilitySurveys +from tests.selenium.page_object.accountability.surveys_details import AccountabilitySurveysDetails +from tests.selenium.page_object.admin_panel.admin_panel import AdminPanel +from tests.selenium.page_object.country_dashboard.country_dashboard import CountryDashboard +from tests.selenium.page_object.filters import Filters +from tests.selenium.page_object.grievance.details_feedback_page import FeedbackDetailsPage +from tests.selenium.page_object.grievance.details_grievance_page import GrievanceDetailsPage +from tests.selenium.page_object.grievance.feedback import Feedback +from tests.selenium.page_object.grievance.grievance_dashboard import GrievanceDashboard +from tests.selenium.page_object.grievance.grievance_tickets import GrievanceTickets +from tests.selenium.page_object.grievance.new_feedback import NewFeedback +from tests.selenium.page_object.grievance.new_ticket import NewTicket +from tests.selenium.page_object.managerial_console.managerial_console import ManagerialConsole +from tests.selenium.page_object.payment_module.new_payment_plan import NewPaymentPlan +from tests.selenium.page_object.payment_module.payment_module import PaymentModule +from tests.selenium.page_object.payment_module.payment_module_details import PaymentModuleDetails +from tests.selenium.page_object.payment_module.program_cycle import ( ProgramCycleDetailsPage, ProgramCyclePage, ) -from page_object.payment_verification.payment_record import PaymentRecord -from page_object.payment_verification.payment_verification import PaymentVerification -from page_object.payment_verification.payment_verification_details import ( +from tests.selenium.page_object.payment_verification.payment_record import PaymentRecord +from tests.selenium.page_object.payment_verification.payment_verification import PaymentVerification +from tests.selenium.page_object.payment_verification.payment_verification_details import ( PaymentVerificationDetails, ) -from page_object.people.people import People -from page_object.people.people_details import PeopleDetails -from page_object.program_log.payment_log import ProgramLog -from page_object.programme_details.programme_details import ProgrammeDetails -from page_object.programme_management.programme_management import ProgrammeManagement -from page_object.programme_population.households import Households -from page_object.programme_population.households_details import HouseholdsDetails -from page_object.programme_population.individuals import Individuals -from page_object.programme_population.individuals_details import IndividualsDetails -from page_object.programme_population.periodic_data_update_templates import ( +from tests.selenium.page_object.people.people import People +from tests.selenium.page_object.people.people_details import PeopleDetails +from tests.selenium.page_object.program_log.payment_log import ProgramLog +from tests.selenium.page_object.programme_details.programme_details import ProgrammeDetails +from tests.selenium.page_object.programme_management.programme_management import ProgrammeManagement +from tests.selenium.page_object.programme_population.households import Households +from tests.selenium.page_object.programme_population.households_details import HouseholdsDetails +from tests.selenium.page_object.programme_population.individuals import Individuals +from tests.selenium.page_object.programme_population.individuals_details import IndividualsDetails +from tests.selenium.page_object.programme_population.periodic_data_update_templates import ( PeriodicDatUpdateTemplates, PeriodicDatUpdateTemplatesDetails, ) -from page_object.programme_population.periodic_data_update_uploads import ( +from tests.selenium.page_object.programme_population.periodic_data_update_uploads import ( PeriodicDataUpdateUploads, ) -from page_object.programme_users.programme_users import ProgrammeUsers -from page_object.registration_data_import.rdi_details_page import RDIDetailsPage -from page_object.registration_data_import.registration_data_import import ( +from tests.selenium.page_object.programme_users.programme_users import ProgrammeUsers +from tests.selenium.page_object.registration_data_import.rdi_details_page import RDIDetailsPage +from tests.selenium.page_object.registration_data_import.registration_data_import import ( RegistrationDataImport, ) -from page_object.targeting.targeting import Targeting -from page_object.targeting.targeting_create import TargetingCreate -from page_object.targeting.targeting_details import TargetingDetails +from tests.selenium.page_object.targeting.targeting import Targeting +from tests.selenium.page_object.targeting.targeting_create import TargetingCreate +from tests.selenium.page_object.targeting.targeting_details import TargetingDetails from pytest_django.live_server_helper import LiveServer from pytest_html_reporter import attach from selenium import webdriver diff --git a/backend/selenium_tests/country_dashboard/test_country_dashboard.py b/tests/selenium/country_dashboard/test_country_dashboard.py similarity index 95% rename from backend/selenium_tests/country_dashboard/test_country_dashboard.py rename to tests/selenium/country_dashboard/test_country_dashboard.py index b581aabe28..b305bcd3d0 100644 --- a/backend/selenium_tests/country_dashboard/test_country_dashboard.py +++ b/tests/selenium/country_dashboard/test_country_dashboard.py @@ -1,5 +1,5 @@ import pytest -from page_object.country_dashboard.country_dashboard import CountryDashboard +from tests.selenium.page_object.country_dashboard.country_dashboard import CountryDashboard pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/drawer/test_drawer.py b/tests/selenium/drawer/test_drawer.py similarity index 96% rename from backend/selenium_tests/drawer/test_drawer.py rename to tests/selenium/drawer/test_drawer.py index a817759022..25b81ad839 100644 --- a/backend/selenium_tests/drawer/test_drawer.py +++ b/tests/selenium/drawer/test_drawer.py @@ -2,8 +2,8 @@ import pytest from dateutil.relativedelta import relativedelta -from page_object.programme_details.programme_details import ProgrammeDetails -from page_object.programme_management.programme_management import ProgrammeManagement +from tests.selenium.page_object.programme_details.programme_details import ProgrammeDetails +from tests.selenium.page_object.programme_management.programme_management import ProgrammeManagement from hct_mis_api.apps.core.fixtures import DataCollectingTypeFactory from hct_mis_api.apps.core.models import BusinessArea, DataCollectingType diff --git a/backend/selenium_tests/filters/test_filters.py b/tests/selenium/filters/test_filters.py similarity index 98% rename from backend/selenium_tests/filters/test_filters.py rename to tests/selenium/filters/test_filters.py index 0680014af7..f6e6b03536 100644 --- a/backend/selenium_tests/filters/test_filters.py +++ b/tests/selenium/filters/test_filters.py @@ -5,7 +5,7 @@ import pytest from dateutil.relativedelta import relativedelta -from page_object.filters import Filters +from tests.selenium.page_object.filters import Filters from hct_mis_api.apps.account.models import User from hct_mis_api.apps.core.models import BusinessArea @@ -27,12 +27,12 @@ TargetPopulationFactory, ) from hct_mis_api.apps.targeting.models import TargetPopulation -from selenium_tests.page_object.grievance.details_grievance_page import ( +from tests.selenium.page_object.grievance.details_grievance_page import ( GrievanceDetailsPage, ) -from selenium_tests.page_object.grievance.grievance_tickets import GrievanceTickets -from selenium_tests.page_object.grievance.new_ticket import NewTicket -from selenium_tests.page_object.programme_details.programme_details import ( +from tests.selenium.page_object.grievance.grievance_tickets import GrievanceTickets +from tests.selenium.page_object.grievance.new_ticket import NewTicket +from tests.selenium.page_object.programme_details.programme_details import ( ProgrammeDetails, ) diff --git a/backend/selenium_tests/grievance/feedback/test_feedback.py b/tests/selenium/grievance/feedback/test_feedback.py similarity index 97% rename from backend/selenium_tests/grievance/feedback/test_feedback.py rename to tests/selenium/grievance/feedback/test_feedback.py index 4833a14782..20195c61d3 100644 --- a/backend/selenium_tests/grievance/feedback/test_feedback.py +++ b/tests/selenium/grievance/feedback/test_feedback.py @@ -4,21 +4,21 @@ from django.core.management import call_command import pytest -from page_object.grievance.details_feedback_page import FeedbackDetailsPage -from page_object.grievance.feedback import Feedback -from page_object.grievance.new_feedback import NewFeedback -from page_object.programme_details.programme_details import ProgrammeDetails +from tests.selenium.page_object.grievance.details_feedback_page import FeedbackDetailsPage +from tests.selenium.page_object.grievance.feedback import Feedback +from tests.selenium.page_object.grievance.new_feedback import NewFeedback +from tests.selenium.page_object.programme_details.programme_details import ProgrammeDetails from pytest_django import DjangoDbBlocker from selenium.webdriver import Keys from hct_mis_api.apps.geo.models import Area, Country from hct_mis_api.apps.household.fixtures import create_household_and_individuals from hct_mis_api.apps.household.models import HOST, Household -from selenium_tests.helpers.fixtures import get_program_with_dct_type_and_name -from selenium_tests.page_object.grievance.details_grievance_page import ( +from tests.selenium.helpers.fixtures import get_program_with_dct_type_and_name +from tests.selenium.page_object.grievance.details_grievance_page import ( GrievanceDetailsPage, ) -from selenium_tests.page_object.grievance.new_ticket import NewTicket +from tests.selenium.page_object.grievance.new_ticket import NewTicket pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/grievance/grievance_dashboard/test_grievance_dashboard.py b/tests/selenium/grievance/grievance_dashboard/test_grievance_dashboard.py similarity index 96% rename from backend/selenium_tests/grievance/grievance_dashboard/test_grievance_dashboard.py rename to tests/selenium/grievance/grievance_dashboard/test_grievance_dashboard.py index 678bcf8865..3c38c22f58 100644 --- a/backend/selenium_tests/grievance/grievance_dashboard/test_grievance_dashboard.py +++ b/tests/selenium/grievance/grievance_dashboard/test_grievance_dashboard.py @@ -5,15 +5,15 @@ from django.utils import timezone import pytest -from page_object.grievance.details_grievance_page import GrievanceDetailsPage -from page_object.grievance.grievance_dashboard import GrievanceDashboard -from page_object.grievance.grievance_tickets import GrievanceTickets +from tests.selenium.page_object.grievance.details_grievance_page import GrievanceDetailsPage +from tests.selenium.page_object.grievance.grievance_dashboard import GrievanceDashboard +from tests.selenium.page_object.grievance.grievance_tickets import GrievanceTickets from hct_mis_api.apps.account.models import User from hct_mis_api.apps.core.models import BusinessArea from hct_mis_api.apps.grievance.models import GrievanceTicket from hct_mis_api.apps.program.models import Program -from selenium_tests.helpers.fixtures import get_program_with_dct_type_and_name +from tests.selenium.helpers.fixtures import get_program_with_dct_type_and_name pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/grievance/grievance_tickets/test_grievance_tickets.py b/tests/selenium/grievance/grievance_tickets/test_grievance_tickets.py similarity index 98% rename from backend/selenium_tests/grievance/grievance_tickets/test_grievance_tickets.py rename to tests/selenium/grievance/grievance_tickets/test_grievance_tickets.py index d664d2452a..bcc51e2b55 100644 --- a/backend/selenium_tests/grievance/grievance_tickets/test_grievance_tickets.py +++ b/tests/selenium/grievance/grievance_tickets/test_grievance_tickets.py @@ -8,9 +8,9 @@ import pytest from dateutil.relativedelta import relativedelta -from page_object.grievance.details_grievance_page import GrievanceDetailsPage -from page_object.grievance.grievance_tickets import GrievanceTickets -from page_object.grievance.new_ticket import NewTicket +from tests.selenium.page_object.grievance.details_grievance_page import GrievanceDetailsPage +from tests.selenium.page_object.grievance.grievance_tickets import GrievanceTickets +from tests.selenium.page_object.grievance.new_ticket import NewTicket from pytest_django import DjangoDbBlocker from selenium.webdriver.common.by import By from selenium.webdriver.remote.webelement import WebElement @@ -35,14 +35,14 @@ TargetingCriteriaFactory, TargetPopulationFactory, ) -from selenium_tests.drawer.test_drawer import get_program_with_dct_type_and_name -from selenium_tests.helpers.date_time_format import FormatTime -from selenium_tests.page_object.admin_panel.admin_panel import AdminPanel -from selenium_tests.page_object.programme_population.households import Households -from selenium_tests.page_object.programme_population.households_details import ( +from tests.selenium.drawer.test_drawer import get_program_with_dct_type_and_name +from tests.selenium.helpers.date_time_format import FormatTime +from tests.selenium.page_object.admin_panel.admin_panel import AdminPanel +from tests.selenium.page_object.programme_population.households import Households +from tests.selenium.page_object.programme_population.households_details import ( HouseholdsDetails, ) -from selenium_tests.page_object.programme_population.individuals import Individuals +from tests.selenium.page_object.programme_population.individuals import Individuals pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/helpers/date_time_format.py b/tests/selenium/helpers/date_time_format.py similarity index 100% rename from backend/selenium_tests/helpers/date_time_format.py rename to tests/selenium/helpers/date_time_format.py diff --git a/backend/selenium_tests/helpers/document_example.png b/tests/selenium/helpers/document_example.png similarity index 100% rename from backend/selenium_tests/helpers/document_example.png rename to tests/selenium/helpers/document_example.png diff --git a/backend/selenium_tests/helpers/fixtures.py b/tests/selenium/helpers/fixtures.py similarity index 100% rename from backend/selenium_tests/helpers/fixtures.py rename to tests/selenium/helpers/fixtures.py diff --git a/backend/selenium_tests/helpers/helper.py b/tests/selenium/helpers/helper.py similarity index 100% rename from backend/selenium_tests/helpers/helper.py rename to tests/selenium/helpers/helper.py diff --git a/backend/selenium_tests/helpers/rdi_import_50_hh_50_ind.xlsx b/tests/selenium/helpers/rdi_import_50_hh_50_ind.xlsx similarity index 100% rename from backend/selenium_tests/helpers/rdi_import_50_hh_50_ind.xlsx rename to tests/selenium/helpers/rdi_import_50_hh_50_ind.xlsx diff --git a/backend/selenium_tests/login_via_admin_panel/test_login.py b/tests/selenium/login_via_admin_panel/test_login.py similarity index 97% rename from backend/selenium_tests/login_via_admin_panel/test_login.py rename to tests/selenium/login_via_admin_panel/test_login.py index dbb220bc48..392f1e3878 100644 --- a/backend/selenium_tests/login_via_admin_panel/test_login.py +++ b/tests/selenium/login_via_admin_panel/test_login.py @@ -1,5 +1,5 @@ import pytest -from page_object.admin_panel.admin_panel import AdminPanel +from tests.selenium.page_object.admin_panel.admin_panel import AdminPanel from selenium.webdriver import Chrome from selenium.webdriver.common.by import By diff --git a/backend/selenium_tests/managerial_console/test_managerial_console.py b/tests/selenium/managerial_console/test_managerial_console.py similarity index 98% rename from backend/selenium_tests/managerial_console/test_managerial_console.py rename to tests/selenium/managerial_console/test_managerial_console.py index 298893dd6b..a8d592cac8 100644 --- a/backend/selenium_tests/managerial_console/test_managerial_console.py +++ b/tests/selenium/managerial_console/test_managerial_console.py @@ -4,7 +4,7 @@ import pytest from dateutil.relativedelta import relativedelta -from page_object.managerial_console.managerial_console import ManagerialConsole +from tests.selenium.page_object.managerial_console.managerial_console import ManagerialConsole from selenium.webdriver.common.by import By from hct_mis_api.apps.account.fixtures import UserFactory diff --git a/backend/selenium_tests/page_object/404.py b/tests/selenium/page_object/404.py similarity index 91% rename from backend/selenium_tests/page_object/404.py rename to tests/selenium/page_object/404.py index b250b19de0..e3d6568151 100644 --- a/backend/selenium_tests/page_object/404.py +++ b/tests/selenium/page_object/404.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/accountability/communication.py b/tests/selenium/page_object/accountability/communication.py similarity index 97% rename from backend/selenium_tests/page_object/accountability/communication.py rename to tests/selenium/page_object/accountability/communication.py index 15cc3952ff..c406de5076 100644 --- a/backend/selenium_tests/page_object/accountability/communication.py +++ b/tests/selenium/page_object/accountability/communication.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/accountability/comunication_details.py b/tests/selenium/page_object/accountability/comunication_details.py similarity index 97% rename from backend/selenium_tests/page_object/accountability/comunication_details.py rename to tests/selenium/page_object/accountability/comunication_details.py index 6f918a843f..cbc32e3c3a 100644 --- a/backend/selenium_tests/page_object/accountability/comunication_details.py +++ b/tests/selenium/page_object/accountability/comunication_details.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/accountability/surveys.py b/tests/selenium/page_object/accountability/surveys.py similarity index 98% rename from backend/selenium_tests/page_object/accountability/surveys.py rename to tests/selenium/page_object/accountability/surveys.py index 555ba9db16..e8447ddc01 100644 --- a/backend/selenium_tests/page_object/accountability/surveys.py +++ b/tests/selenium/page_object/accountability/surveys.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/accountability/surveys_details.py b/tests/selenium/page_object/accountability/surveys_details.py similarity index 97% rename from backend/selenium_tests/page_object/accountability/surveys_details.py rename to tests/selenium/page_object/accountability/surveys_details.py index 3e92a1bd61..e139e3303b 100644 --- a/backend/selenium_tests/page_object/accountability/surveys_details.py +++ b/tests/selenium/page_object/accountability/surveys_details.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/admin_panel/admin_panel.py b/tests/selenium/page_object/admin_panel/admin_panel.py similarity index 95% rename from backend/selenium_tests/page_object/admin_panel/admin_panel.py rename to tests/selenium/page_object/admin_panel/admin_panel.py index 5971c90d6d..267bd5d5f3 100644 --- a/backend/selenium_tests/page_object/admin_panel/admin_panel.py +++ b/tests/selenium/page_object/admin_panel/admin_panel.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.common.by import By from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/base_components.py b/tests/selenium/page_object/base_components.py similarity index 99% rename from backend/selenium_tests/page_object/base_components.py rename to tests/selenium/page_object/base_components.py index adb38efb46..2ad85ba7c0 100644 --- a/backend/selenium_tests/page_object/base_components.py +++ b/tests/selenium/page_object/base_components.py @@ -1,6 +1,6 @@ from time import sleep -from helpers.helper import Common +from tests.selenium.helpers.helper import Common from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/country_dashboard/country_dashboard.py b/tests/selenium/page_object/country_dashboard/country_dashboard.py similarity index 97% rename from backend/selenium_tests/page_object/country_dashboard/country_dashboard.py rename to tests/selenium/page_object/country_dashboard/country_dashboard.py index 4a55d3f935..ee7067511c 100644 --- a/backend/selenium_tests/page_object/country_dashboard/country_dashboard.py +++ b/tests/selenium/page_object/country_dashboard/country_dashboard.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/filters.py b/tests/selenium/page_object/filters.py similarity index 99% rename from backend/selenium_tests/page_object/filters.py rename to tests/selenium/page_object/filters.py index e8a1efbc75..c2a17efc40 100644 --- a/backend/selenium_tests/page_object/filters.py +++ b/tests/selenium/page_object/filters.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.common.by import By from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/grievance/details_feedback_page.py b/tests/selenium/page_object/grievance/details_feedback_page.py similarity index 97% rename from backend/selenium_tests/page_object/grievance/details_feedback_page.py rename to tests/selenium/page_object/grievance/details_feedback_page.py index 854ef82144..3800042fdd 100644 --- a/backend/selenium_tests/page_object/grievance/details_feedback_page.py +++ b/tests/selenium/page_object/grievance/details_feedback_page.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/grievance/details_grievance_page.py b/tests/selenium/page_object/grievance/details_grievance_page.py similarity index 99% rename from backend/selenium_tests/page_object/grievance/details_grievance_page.py rename to tests/selenium/page_object/grievance/details_grievance_page.py index 71f3c2ff76..7c9c8ca85b 100644 --- a/backend/selenium_tests/page_object/grievance/details_grievance_page.py +++ b/tests/selenium/page_object/grievance/details_grievance_page.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.common.by import By from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/grievance/feedback.py b/tests/selenium/page_object/grievance/feedback.py similarity index 98% rename from backend/selenium_tests/page_object/grievance/feedback.py rename to tests/selenium/page_object/grievance/feedback.py index 75e5031f0c..64ff54acc5 100644 --- a/backend/selenium_tests/page_object/grievance/feedback.py +++ b/tests/selenium/page_object/grievance/feedback.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/grievance/grievance_dashboard.py b/tests/selenium/page_object/grievance/grievance_dashboard.py similarity index 98% rename from backend/selenium_tests/page_object/grievance/grievance_dashboard.py rename to tests/selenium/page_object/grievance/grievance_dashboard.py index c200ec6487..d968bc3b7f 100644 --- a/backend/selenium_tests/page_object/grievance/grievance_dashboard.py +++ b/tests/selenium/page_object/grievance/grievance_dashboard.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/grievance/grievance_tickets.py b/tests/selenium/page_object/grievance/grievance_tickets.py similarity index 99% rename from backend/selenium_tests/page_object/grievance/grievance_tickets.py rename to tests/selenium/page_object/grievance/grievance_tickets.py index 4dff4b9dfd..140af1994e 100644 --- a/backend/selenium_tests/page_object/grievance/grievance_tickets.py +++ b/tests/selenium/page_object/grievance/grievance_tickets.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/grievance/new_feedback.py b/tests/selenium/page_object/grievance/new_feedback.py similarity index 99% rename from backend/selenium_tests/page_object/grievance/new_feedback.py rename to tests/selenium/page_object/grievance/new_feedback.py index 0ae4c73cd2..2a25af307f 100644 --- a/backend/selenium_tests/page_object/grievance/new_feedback.py +++ b/tests/selenium/page_object/grievance/new_feedback.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/grievance/new_ticket.py b/tests/selenium/page_object/grievance/new_ticket.py similarity index 99% rename from backend/selenium_tests/page_object/grievance/new_ticket.py rename to tests/selenium/page_object/grievance/new_ticket.py index db383a33cf..cd1c87c750 100644 --- a/backend/selenium_tests/page_object/grievance/new_ticket.py +++ b/tests/selenium/page_object/grievance/new_ticket.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.common.by import By from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/managerial_console/managerial_console.py b/tests/selenium/page_object/managerial_console/managerial_console.py similarity index 98% rename from backend/selenium_tests/page_object/managerial_console/managerial_console.py rename to tests/selenium/page_object/managerial_console/managerial_console.py index 6c3bb8a786..273655a87a 100644 --- a/backend/selenium_tests/page_object/managerial_console/managerial_console.py +++ b/tests/selenium/page_object/managerial_console/managerial_console.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/payment_module/new_payment_plan.py b/tests/selenium/page_object/payment_module/new_payment_plan.py similarity index 96% rename from backend/selenium_tests/page_object/payment_module/new_payment_plan.py rename to tests/selenium/page_object/payment_module/new_payment_plan.py index 1f9771c9f1..19d79f7810 100644 --- a/backend/selenium_tests/page_object/payment_module/new_payment_plan.py +++ b/tests/selenium/page_object/payment_module/new_payment_plan.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.common.by import By from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/payment_module/payment_module.py b/tests/selenium/page_object/payment_module/payment_module.py similarity index 98% rename from backend/selenium_tests/page_object/payment_module/payment_module.py rename to tests/selenium/page_object/payment_module/payment_module.py index 84f0b6e3bc..5e8683d346 100644 --- a/backend/selenium_tests/page_object/payment_module/payment_module.py +++ b/tests/selenium/page_object/payment_module/payment_module.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/payment_module/payment_module_details.py b/tests/selenium/page_object/payment_module/payment_module_details.py similarity index 99% rename from backend/selenium_tests/page_object/payment_module/payment_module_details.py rename to tests/selenium/page_object/payment_module/payment_module_details.py index 27da731b8a..eb2794c306 100644 --- a/backend/selenium_tests/page_object/payment_module/payment_module_details.py +++ b/tests/selenium/page_object/payment_module/payment_module_details.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/payment_module/program_cycle.py b/tests/selenium/page_object/payment_module/program_cycle.py similarity index 99% rename from backend/selenium_tests/page_object/payment_module/program_cycle.py rename to tests/selenium/page_object/payment_module/program_cycle.py index e248d14673..9c9f938351 100644 --- a/backend/selenium_tests/page_object/payment_module/program_cycle.py +++ b/tests/selenium/page_object/payment_module/program_cycle.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/payment_verification/payment_record.py b/tests/selenium/page_object/payment_verification/payment_record.py similarity index 98% rename from backend/selenium_tests/page_object/payment_verification/payment_record.py rename to tests/selenium/page_object/payment_verification/payment_record.py index 13dfa8dccb..30738956d3 100644 --- a/backend/selenium_tests/page_object/payment_verification/payment_record.py +++ b/tests/selenium/page_object/payment_verification/payment_record.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/payment_verification/payment_verification.py b/tests/selenium/page_object/payment_verification/payment_verification.py similarity index 97% rename from backend/selenium_tests/page_object/payment_verification/payment_verification.py rename to tests/selenium/page_object/payment_verification/payment_verification.py index de4a28ecf3..b65f7f585d 100644 --- a/backend/selenium_tests/page_object/payment_verification/payment_verification.py +++ b/tests/selenium/page_object/payment_verification/payment_verification.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/payment_verification/payment_verification_details.py b/tests/selenium/page_object/payment_verification/payment_verification_details.py similarity index 99% rename from backend/selenium_tests/page_object/payment_verification/payment_verification_details.py rename to tests/selenium/page_object/payment_verification/payment_verification_details.py index b06090c372..03ba259f11 100644 --- a/backend/selenium_tests/page_object/payment_verification/payment_verification_details.py +++ b/tests/selenium/page_object/payment_verification/payment_verification_details.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/people/people.py b/tests/selenium/page_object/people/people.py similarity index 98% rename from backend/selenium_tests/page_object/people/people.py rename to tests/selenium/page_object/people/people.py index abf115f0bb..355eb26895 100644 --- a/backend/selenium_tests/page_object/people/people.py +++ b/tests/selenium/page_object/people/people.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/people/people_details.py b/tests/selenium/page_object/people/people_details.py similarity index 99% rename from backend/selenium_tests/page_object/people/people_details.py rename to tests/selenium/page_object/people/people_details.py index 5bbf7b1318..00e1cfa514 100644 --- a/backend/selenium_tests/page_object/people/people_details.py +++ b/tests/selenium/page_object/people/people_details.py @@ -1,6 +1,6 @@ from selenium.webdriver.remote.webelement import WebElement -from selenium_tests.page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents class PeopleDetails(BaseComponents): diff --git a/backend/selenium_tests/page_object/program_log/payment_log.py b/tests/selenium/page_object/program_log/payment_log.py similarity index 98% rename from backend/selenium_tests/page_object/program_log/payment_log.py rename to tests/selenium/page_object/program_log/payment_log.py index 1745902ddd..9913ceea2c 100644 --- a/backend/selenium_tests/page_object/program_log/payment_log.py +++ b/tests/selenium/page_object/program_log/payment_log.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/programme_details/programme_details.py b/tests/selenium/page_object/programme_details/programme_details.py similarity index 99% rename from backend/selenium_tests/page_object/programme_details/programme_details.py rename to tests/selenium/page_object/programme_details/programme_details.py index bc14f57e81..2d12ee8e54 100644 --- a/backend/selenium_tests/page_object/programme_details/programme_details.py +++ b/tests/selenium/page_object/programme_details/programme_details.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/programme_management/programme_management.py b/tests/selenium/page_object/programme_management/programme_management.py similarity index 99% rename from backend/selenium_tests/page_object/programme_management/programme_management.py rename to tests/selenium/page_object/programme_management/programme_management.py index 6280fc92cf..35a964b01d 100644 --- a/backend/selenium_tests/page_object/programme_management/programme_management.py +++ b/tests/selenium/page_object/programme_management/programme_management.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/programme_population/households.py b/tests/selenium/page_object/programme_population/households.py similarity index 98% rename from backend/selenium_tests/page_object/programme_population/households.py rename to tests/selenium/page_object/programme_population/households.py index 8ef205afee..938ed53932 100644 --- a/backend/selenium_tests/page_object/programme_population/households.py +++ b/tests/selenium/page_object/programme_population/households.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/programme_population/households_details.py b/tests/selenium/page_object/programme_population/households_details.py similarity index 98% rename from backend/selenium_tests/page_object/programme_population/households_details.py rename to tests/selenium/page_object/programme_population/households_details.py index b26c6cfee1..dec9e5ccd3 100644 --- a/backend/selenium_tests/page_object/programme_population/households_details.py +++ b/tests/selenium/page_object/programme_population/households_details.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/programme_population/individuals.py b/tests/selenium/page_object/programme_population/individuals.py similarity index 99% rename from backend/selenium_tests/page_object/programme_population/individuals.py rename to tests/selenium/page_object/programme_population/individuals.py index c1ea256038..c3dcbf8c04 100644 --- a/backend/selenium_tests/page_object/programme_population/individuals.py +++ b/tests/selenium/page_object/programme_population/individuals.py @@ -1,6 +1,6 @@ from typing import Union -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/programme_population/individuals_details.py b/tests/selenium/page_object/programme_population/individuals_details.py similarity index 99% rename from backend/selenium_tests/page_object/programme_population/individuals_details.py rename to tests/selenium/page_object/programme_population/individuals_details.py index 64fa13d1dc..44c5e2e69f 100644 --- a/backend/selenium_tests/page_object/programme_population/individuals_details.py +++ b/tests/selenium/page_object/programme_population/individuals_details.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/programme_population/periodic_data_update_templates.py b/tests/selenium/page_object/programme_population/periodic_data_update_templates.py similarity index 99% rename from backend/selenium_tests/page_object/programme_population/periodic_data_update_templates.py rename to tests/selenium/page_object/programme_population/periodic_data_update_templates.py index de1aa05f85..1aa7f13bf0 100644 --- a/backend/selenium_tests/page_object/programme_population/periodic_data_update_templates.py +++ b/tests/selenium/page_object/programme_population/periodic_data_update_templates.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/programme_population/periodic_data_update_uploads.py b/tests/selenium/page_object/programme_population/periodic_data_update_uploads.py similarity index 98% rename from backend/selenium_tests/page_object/programme_population/periodic_data_update_uploads.py rename to tests/selenium/page_object/programme_population/periodic_data_update_uploads.py index d32a3e2a24..66d646689e 100644 --- a/backend/selenium_tests/page_object/programme_population/periodic_data_update_uploads.py +++ b/tests/selenium/page_object/programme_population/periodic_data_update_uploads.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/programme_users/programme_users.py b/tests/selenium/page_object/programme_users/programme_users.py similarity index 97% rename from backend/selenium_tests/page_object/programme_users/programme_users.py rename to tests/selenium/page_object/programme_users/programme_users.py index c080e62135..50da539152 100644 --- a/backend/selenium_tests/page_object/programme_users/programme_users.py +++ b/tests/selenium/page_object/programme_users/programme_users.py @@ -1,4 +1,4 @@ -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/registration_data_import/rdi_details_page.py b/tests/selenium/page_object/registration_data_import/rdi_details_page.py similarity index 98% rename from backend/selenium_tests/page_object/registration_data_import/rdi_details_page.py rename to tests/selenium/page_object/registration_data_import/rdi_details_page.py index b32ca00e5a..c4ddb45b38 100644 --- a/backend/selenium_tests/page_object/registration_data_import/rdi_details_page.py +++ b/tests/selenium/page_object/registration_data_import/rdi_details_page.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.common.by import By from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/registration_data_import/registration_data_import.py b/tests/selenium/page_object/registration_data_import/registration_data_import.py similarity index 98% rename from backend/selenium_tests/page_object/registration_data_import/registration_data_import.py rename to tests/selenium/page_object/registration_data_import/registration_data_import.py index 60d0bf7670..eb2bed3376 100644 --- a/backend/selenium_tests/page_object/registration_data_import/registration_data_import.py +++ b/tests/selenium/page_object/registration_data_import/registration_data_import.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/targeting/targeting.py b/tests/selenium/page_object/targeting/targeting.py similarity index 98% rename from backend/selenium_tests/page_object/targeting/targeting.py rename to tests/selenium/page_object/targeting/targeting.py index 00fdc03a60..7212ed41df 100644 --- a/backend/selenium_tests/page_object/targeting/targeting.py +++ b/tests/selenium/page_object/targeting/targeting.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.common.by import By from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/targeting/targeting_create.py b/tests/selenium/page_object/targeting/targeting_create.py similarity index 99% rename from backend/selenium_tests/page_object/targeting/targeting_create.py rename to tests/selenium/page_object/targeting/targeting_create.py index 18ce5fdb51..d2f19681a5 100644 --- a/backend/selenium_tests/page_object/targeting/targeting_create.py +++ b/tests/selenium/page_object/targeting/targeting_create.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/page_object/targeting/targeting_details.py b/tests/selenium/page_object/targeting/targeting_details.py similarity index 99% rename from backend/selenium_tests/page_object/targeting/targeting_details.py rename to tests/selenium/page_object/targeting/targeting_details.py index 6fced31c78..981f7059cc 100644 --- a/backend/selenium_tests/page_object/targeting/targeting_details.py +++ b/tests/selenium/page_object/targeting/targeting_details.py @@ -1,6 +1,6 @@ from time import sleep -from page_object.base_components import BaseComponents +from tests.selenium.page_object.base_components import BaseComponents from selenium.webdriver.remote.webelement import WebElement diff --git a/backend/selenium_tests/payment_module/test_payment_plans.py b/tests/selenium/payment_module/test_payment_plans.py similarity index 97% rename from backend/selenium_tests/payment_module/test_payment_plans.py rename to tests/selenium/payment_module/test_payment_plans.py index 8935fc0ad4..e251d493b0 100644 --- a/backend/selenium_tests/payment_module/test_payment_plans.py +++ b/tests/selenium/payment_module/test_payment_plans.py @@ -6,10 +6,10 @@ import openpyxl import pytest from dateutil.relativedelta import relativedelta -from page_object.payment_module.new_payment_plan import NewPaymentPlan -from page_object.payment_module.payment_module import PaymentModule -from page_object.payment_module.payment_module_details import PaymentModuleDetails -from page_object.payment_module.program_cycle import ( +from tests.selenium.page_object.payment_module.new_payment_plan import NewPaymentPlan +from tests.selenium.page_object.payment_module.payment_module import PaymentModule +from tests.selenium.page_object.payment_module.payment_module_details import PaymentModuleDetails +from tests.selenium.page_object.payment_module.program_cycle import ( ProgramCycleDetailsPage, ProgramCyclePage, ) @@ -39,7 +39,7 @@ TargetPopulationFactory, ) from hct_mis_api.apps.targeting.models import TargetPopulation -from selenium_tests.helpers.date_time_format import FormatTime +from tests.selenium.helpers.date_time_format import FormatTime pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/payment_module/test_program_cycles.py b/tests/selenium/payment_module/test_program_cycles.py similarity index 98% rename from backend/selenium_tests/payment_module/test_program_cycles.py rename to tests/selenium/payment_module/test_program_cycles.py index 7d9234a1a1..1e59cd666b 100644 --- a/backend/selenium_tests/payment_module/test_program_cycles.py +++ b/tests/selenium/payment_module/test_program_cycles.py @@ -2,7 +2,7 @@ import pytest from dateutil.relativedelta import relativedelta -from page_object.payment_module.program_cycle import ProgramCyclePage +from tests.selenium.page_object.payment_module.program_cycle import ProgramCyclePage from selenium.webdriver.common.by import By from hct_mis_api.apps.core.fixtures import DataCollectingTypeFactory diff --git a/backend/selenium_tests/payment_verification/test_payment_verification.py b/tests/selenium/payment_verification/test_payment_verification.py similarity index 98% rename from backend/selenium_tests/payment_verification/test_payment_verification.py rename to tests/selenium/payment_verification/test_payment_verification.py index 3a7da148f7..707b1d97ba 100644 --- a/backend/selenium_tests/payment_verification/test_payment_verification.py +++ b/tests/selenium/payment_verification/test_payment_verification.py @@ -3,9 +3,9 @@ import pytest from dateutil.relativedelta import relativedelta -from page_object.payment_verification.payment_record import PaymentRecord -from page_object.payment_verification.payment_verification import PaymentVerification -from page_object.payment_verification.payment_verification_details import ( +from tests.selenium.page_object.payment_verification.payment_record import PaymentRecord +from tests.selenium.page_object.payment_verification.payment_verification import PaymentVerification +from tests.selenium.page_object.payment_verification.payment_verification_details import ( PaymentVerificationDetails, ) from selenium.webdriver.common.by import By diff --git a/backend/selenium_tests/people/test_people.py b/tests/selenium/people/test_people.py similarity index 97% rename from backend/selenium_tests/people/test_people.py rename to tests/selenium/people/test_people.py index 5c3452c1a2..b2abc03a2e 100644 --- a/backend/selenium_tests/people/test_people.py +++ b/tests/selenium/people/test_people.py @@ -5,7 +5,7 @@ import pytest from dateutil.relativedelta import relativedelta -from page_object.people.people import People +from tests.selenium.page_object.people.people import People from selenium.webdriver.common.by import By from hct_mis_api.apps.account.models import User @@ -24,13 +24,13 @@ TargetingCriteriaFactory, TargetPopulationFactory, ) -from selenium_tests.page_object.filters import Filters -from selenium_tests.page_object.grievance.details_grievance_page import ( +from tests.selenium.page_object.filters import Filters +from tests.selenium.page_object.grievance.details_grievance_page import ( GrievanceDetailsPage, ) -from selenium_tests.page_object.grievance.grievance_tickets import GrievanceTickets -from selenium_tests.page_object.grievance.new_ticket import NewTicket -from selenium_tests.page_object.people.people_details import PeopleDetails +from tests.selenium.page_object.grievance.grievance_tickets import GrievanceTickets +from tests.selenium.page_object.grievance.new_ticket import NewTicket +from tests.selenium.page_object.people.people_details import PeopleDetails pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/people/test_people_periodic_data_update.py b/tests/selenium/people/test_people_periodic_data_update.py similarity index 96% rename from backend/selenium_tests/people/test_people_periodic_data_update.py rename to tests/selenium/people/test_people_periodic_data_update.py index 881ea558e7..822e39dd12 100644 --- a/backend/selenium_tests/people/test_people_periodic_data_update.py +++ b/tests/selenium/people/test_people_periodic_data_update.py @@ -36,16 +36,16 @@ TargetingCriteriaFactory, TargetPopulationFactory, ) -from selenium_tests.page_object.people.people import People -from selenium_tests.page_object.people.people_details import PeopleDetails -from selenium_tests.page_object.programme_population.individuals import Individuals -from selenium_tests.page_object.programme_population.periodic_data_update_templates import ( +from tests.selenium.page_object.people.people import People +from tests.selenium.page_object.people.people_details import PeopleDetails +from tests.selenium.page_object.programme_population.individuals import Individuals +from tests.selenium.page_object.programme_population.periodic_data_update_templates import ( PeriodicDatUpdateTemplates, ) -from selenium_tests.page_object.programme_population.periodic_data_update_uploads import ( +from tests.selenium.page_object.programme_population.periodic_data_update_uploads import ( PeriodicDataUpdateUploads, ) -from selenium_tests.programme_population.test_periodic_data_update_upload import ( +from tests.selenium.programme_population.test_periodic_data_update_upload import ( prepare_xlsx_file, ) diff --git a/backend/selenium_tests/program_details/test_program_details.py b/tests/selenium/program_details/test_program_details.py similarity index 99% rename from backend/selenium_tests/program_details/test_program_details.py rename to tests/selenium/program_details/test_program_details.py index 36e649f493..453186ac8f 100644 --- a/backend/selenium_tests/program_details/test_program_details.py +++ b/tests/selenium/program_details/test_program_details.py @@ -7,9 +7,9 @@ import pytest from dateutil.relativedelta import relativedelta -from helpers.date_time_format import FormatTime -from page_object.programme_details.programme_details import ProgrammeDetails -from page_object.programme_management.programme_management import ProgrammeManagement +from tests.selenium.helpers.date_time_format import FormatTime +from tests.selenium.page_object.programme_details.programme_details import ProgrammeDetails +from tests.selenium.page_object.programme_management.programme_management import ProgrammeManagement from selenium.webdriver import Keys from hct_mis_api.apps.account.models import User diff --git a/backend/selenium_tests/program_log/test_program_log.py b/tests/selenium/program_log/test_program_log.py similarity index 91% rename from backend/selenium_tests/program_log/test_program_log.py rename to tests/selenium/program_log/test_program_log.py index a2d2672a9f..252908f4e6 100644 --- a/backend/selenium_tests/program_log/test_program_log.py +++ b/tests/selenium/program_log/test_program_log.py @@ -1,9 +1,9 @@ from datetime import datetime import pytest -from helpers.fixtures import get_program_with_dct_type_and_name -from page_object.program_log.payment_log import ProgramLog -from page_object.programme_details.programme_details import ProgrammeDetails +from tests.selenium.helpers.fixtures import get_program_with_dct_type_and_name +from tests.selenium.page_object.program_log.payment_log import ProgramLog +from tests.selenium.page_object.programme_details.programme_details import ProgrammeDetails from hct_mis_api.apps.account.models import User from hct_mis_api.apps.program.models import Program diff --git a/backend/selenium_tests/programme_management/test_programme_management.py b/tests/selenium/programme_management/test_programme_management.py similarity index 99% rename from backend/selenium_tests/programme_management/test_programme_management.py rename to tests/selenium/programme_management/test_programme_management.py index 37aa0b11c5..7b251a291d 100644 --- a/backend/selenium_tests/programme_management/test_programme_management.py +++ b/tests/selenium/programme_management/test_programme_management.py @@ -7,9 +7,9 @@ import pytest from dateutil.relativedelta import relativedelta from freezegun import freeze_time -from helpers.date_time_format import FormatTime -from page_object.programme_details.programme_details import ProgrammeDetails -from page_object.programme_management.programme_management import ProgrammeManagement +from tests.selenium.helpers.date_time_format import FormatTime +from tests.selenium.page_object.programme_details.programme_details import ProgrammeDetails +from tests.selenium.page_object.programme_management.programme_management import ProgrammeManagement from selenium import webdriver from selenium.webdriver import Keys diff --git a/backend/selenium_tests/programme_population/test_households.py b/tests/selenium/programme_population/test_households.py similarity index 96% rename from backend/selenium_tests/programme_population/test_households.py rename to tests/selenium/programme_population/test_households.py index 52f42c87d8..22e0f2dcc9 100644 --- a/backend/selenium_tests/programme_population/test_households.py +++ b/tests/selenium/programme_population/test_households.py @@ -2,8 +2,8 @@ from django.core.management import call_command import pytest -from page_object.programme_population.households import Households -from page_object.programme_population.households_details import HouseholdsDetails +from tests.selenium.page_object.programme_population.households import Households +from tests.selenium.page_object.programme_population.households_details import HouseholdsDetails pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/programme_population/test_individuals.py b/tests/selenium/programme_population/test_individuals.py similarity index 96% rename from backend/selenium_tests/programme_population/test_individuals.py rename to tests/selenium/programme_population/test_individuals.py index f19cdbcfce..b995ef2754 100644 --- a/backend/selenium_tests/programme_population/test_individuals.py +++ b/tests/selenium/programme_population/test_individuals.py @@ -3,8 +3,8 @@ import pytest from freezegun import freeze_time -from page_object.programme_population.individuals import Individuals -from page_object.programme_population.individuals_details import IndividualsDetails +from tests.selenium.page_object.programme_population.individuals import Individuals +from tests.selenium.page_object.programme_population.individuals_details import IndividualsDetails pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/programme_population/test_periodic_data_templates.py b/tests/selenium/programme_population/test_periodic_data_templates.py similarity index 98% rename from backend/selenium_tests/programme_population/test_periodic_data_templates.py rename to tests/selenium/programme_population/test_periodic_data_templates.py index 55b5bf1aac..46ef641e61 100644 --- a/backend/selenium_tests/programme_population/test_periodic_data_templates.py +++ b/tests/selenium/programme_population/test_periodic_data_templates.py @@ -2,7 +2,7 @@ from time import sleep import pytest -from page_object.programme_population.periodic_data_update_templates import ( +from tests.selenium.page_object.programme_population.periodic_data_update_templates import ( PeriodicDatUpdateTemplates, PeriodicDatUpdateTemplatesDetails, ) @@ -24,7 +24,7 @@ from hct_mis_api.apps.program.models import Program from hct_mis_api.apps.registration_data.fixtures import RegistrationDataImportFactory from hct_mis_api.apps.registration_data.models import RegistrationDataImport -from selenium_tests.page_object.programme_population.individuals import Individuals +from tests.selenium.page_object.programme_population.individuals import Individuals pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/programme_population/test_periodic_data_update_upload.py b/tests/selenium/programme_population/test_periodic_data_update_upload.py similarity index 98% rename from backend/selenium_tests/programme_population/test_periodic_data_update_upload.py rename to tests/selenium/programme_population/test_periodic_data_update_upload.py index 1626b4ecca..1f8c39a538 100644 --- a/backend/selenium_tests/programme_population/test_periodic_data_update_upload.py +++ b/tests/selenium/programme_population/test_periodic_data_update_upload.py @@ -4,10 +4,10 @@ import openpyxl import pytest -from page_object.programme_population.periodic_data_update_templates import ( +from tests.selenium.page_object.programme_population.periodic_data_update_templates import ( PeriodicDatUpdateTemplates, ) -from page_object.programme_population.periodic_data_update_uploads import ( +from tests.selenium.page_object.programme_population.periodic_data_update_uploads import ( PeriodicDataUpdateUploads, ) @@ -37,7 +37,7 @@ from hct_mis_api.apps.program.fixtures import ProgramFactory from hct_mis_api.apps.program.models import Program from hct_mis_api.apps.registration_data.fixtures import RegistrationDataImportFactory -from selenium_tests.page_object.programme_population.individuals import Individuals +from tests.selenium.page_object.programme_population.individuals import Individuals pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/programme_user/test_programme_user.py b/tests/selenium/programme_user/test_programme_user.py similarity index 90% rename from backend/selenium_tests/programme_user/test_programme_user.py rename to tests/selenium/programme_user/test_programme_user.py index e8e93ef5e8..87399502ac 100644 --- a/backend/selenium_tests/programme_user/test_programme_user.py +++ b/tests/selenium/programme_user/test_programme_user.py @@ -1,6 +1,6 @@ import pytest -from helpers.fixtures import get_program_with_dct_type_and_name -from page_object.programme_users.programme_users import ProgrammeUsers +from tests.selenium.helpers.fixtures import get_program_with_dct_type_and_name +from tests.selenium.page_object.programme_users.programme_users import ProgrammeUsers from hct_mis_api.apps.core.models import DataCollectingType from hct_mis_api.apps.program.models import Program diff --git a/backend/pytest.ini b/tests/selenium/pytest.ini similarity index 100% rename from backend/pytest.ini rename to tests/selenium/pytest.ini diff --git a/backend/selenium_tests/registration_data_import/cassettes/TestRegistrationDataImport.test_import_empty_kobo_form.yaml b/tests/selenium/registration_data_import/cassettes/TestRegistrationDataImport.test_import_empty_kobo_form.yaml similarity index 100% rename from backend/selenium_tests/registration_data_import/cassettes/TestRegistrationDataImport.test_import_empty_kobo_form.yaml rename to tests/selenium/registration_data_import/cassettes/TestRegistrationDataImport.test_import_empty_kobo_form.yaml diff --git a/backend/selenium_tests/registration_data_import/cassettes/TestRegistrationDataImport.test_import_kobo_form.yaml b/tests/selenium/registration_data_import/cassettes/TestRegistrationDataImport.test_import_kobo_form.yaml similarity index 100% rename from backend/selenium_tests/registration_data_import/cassettes/TestRegistrationDataImport.test_import_kobo_form.yaml rename to tests/selenium/registration_data_import/cassettes/TestRegistrationDataImport.test_import_kobo_form.yaml diff --git a/backend/selenium_tests/registration_data_import/test_registration_data_import.py b/tests/selenium/registration_data_import/test_registration_data_import.py similarity index 97% rename from backend/selenium_tests/registration_data_import/test_registration_data_import.py rename to tests/selenium/registration_data_import/test_registration_data_import.py index c62480c6c2..0d561c6e65 100644 --- a/backend/selenium_tests/registration_data_import/test_registration_data_import.py +++ b/tests/selenium/registration_data_import/test_registration_data_import.py @@ -3,9 +3,9 @@ import pytest from elasticsearch_dsl import connections -from page_object.programme_population.households_details import HouseholdsDetails -from page_object.registration_data_import.rdi_details_page import RDIDetailsPage -from page_object.registration_data_import.registration_data_import import ( +from tests.selenium.page_object.programme_population.households_details import HouseholdsDetails +from tests.selenium.page_object.registration_data_import.rdi_details_page import RDIDetailsPage +from tests.selenium.page_object.registration_data_import.registration_data_import import ( RegistrationDataImport, ) diff --git a/backend/selenium_tests/targeting/test_targeting.py b/tests/selenium/targeting/test_targeting.py similarity index 99% rename from backend/selenium_tests/targeting/test_targeting.py rename to tests/selenium/targeting/test_targeting.py index b9213a5a38..5b5b1b127e 100644 --- a/backend/selenium_tests/targeting/test_targeting.py +++ b/tests/selenium/targeting/test_targeting.py @@ -7,9 +7,9 @@ import pytest from dateutil.relativedelta import relativedelta -from page_object.targeting.targeting import Targeting -from page_object.targeting.targeting_create import TargetingCreate -from page_object.targeting.targeting_details import TargetingDetails +from tests.selenium.page_object.targeting.targeting import Targeting +from tests.selenium.page_object.targeting.targeting_create import TargetingCreate +from tests.selenium.page_object.targeting.targeting_details import TargetingDetails from selenium.common import NoSuchElementException from selenium.webdriver import ActionChains, Keys from selenium.webdriver.common.by import By @@ -43,7 +43,7 @@ from hct_mis_api.apps.registration_data.fixtures import RegistrationDataImportFactory from hct_mis_api.apps.targeting.fixtures import TargetingCriteriaFactory from hct_mis_api.apps.targeting.models import TargetPopulation -from selenium_tests.page_object.filters import Filters +from tests.selenium.page_object.filters import Filters pytestmark = pytest.mark.django_db(transaction=True) diff --git a/backend/selenium_tests/tools/Dockerfile b/tests/selenium/tools/Dockerfile similarity index 100% rename from backend/selenium_tests/tools/Dockerfile rename to tests/selenium/tools/Dockerfile diff --git a/backend/selenium_tests/tools/docker-compose.yml b/tests/selenium/tools/docker-compose.yml similarity index 100% rename from backend/selenium_tests/tools/docker-compose.yml rename to tests/selenium/tools/docker-compose.yml diff --git a/backend/selenium_tests/tools/tag_name_finder.py b/tests/selenium/tools/tag_name_finder.py similarity index 100% rename from backend/selenium_tests/tools/tag_name_finder.py rename to tests/selenium/tools/tag_name_finder.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/__init__.py b/tests/unit/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/__init__.py rename to tests/unit/__init__.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/snapshots/__init__.py b/tests/unit/api/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/snapshots/__init__.py rename to tests/unit/api/__init__.py diff --git a/backend/hct_mis_api/api/tests/base.py b/tests/unit/api/base.py similarity index 97% rename from backend/hct_mis_api/api/tests/base.py rename to tests/unit/api/base.py index 4a4e229d5a..fc9f9af6ea 100644 --- a/backend/hct_mis_api/api/tests/base.py +++ b/tests/unit/api/base.py @@ -4,7 +4,7 @@ from rest_framework.test import APITestCase from hct_mis_api.api.models import APIToken, Grant -from hct_mis_api.api.tests.factories import APITokenFactory +from tests.unit.api.factories import APITokenFactory from hct_mis_api.apps.account.fixtures import ( BusinessAreaFactory, RoleFactory, diff --git a/backend/hct_mis_api/api/tests/factories.py b/tests/unit/api/factories.py similarity index 100% rename from backend/hct_mis_api/api/tests/factories.py rename to tests/unit/api/factories.py diff --git a/backend/hct_mis_api/api/tests/logo.png b/tests/unit/api/logo.png similarity index 100% rename from backend/hct_mis_api/api/tests/logo.png rename to tests/unit/api/logo.png diff --git a/backend/hct_mis_api/api/tests/test_auth.py b/tests/unit/api/test_auth.py similarity index 95% rename from backend/hct_mis_api/api/tests/test_auth.py rename to tests/unit/api/test_auth.py index 341fe0b59a..781ee862d7 100644 --- a/backend/hct_mis_api/api/tests/test_auth.py +++ b/tests/unit/api/test_auth.py @@ -8,8 +8,8 @@ from hct_mis_api.api.auth import HOPEAuthentication, HOPEPermission from hct_mis_api.api.models import APIToken, Grant -from hct_mis_api.api.tests.base import HOPEApiTestCase -from hct_mis_api.api.tests.factories import APITokenFactory +from tests.unit.api.base import HOPEApiTestCase +from tests.unit.api.factories import APITokenFactory from hct_mis_api.apps.account.fixtures import ( BusinessAreaFactory, RoleFactory, diff --git a/backend/hct_mis_api/api/tests/test_business_area.py b/tests/unit/api/test_business_area.py similarity index 98% rename from backend/hct_mis_api/api/tests/test_business_area.py rename to tests/unit/api/test_business_area.py index ecf7fdde7c..2434e8cf86 100644 --- a/backend/hct_mis_api/api/tests/test_business_area.py +++ b/tests/unit/api/test_business_area.py @@ -4,7 +4,7 @@ from rest_framework.reverse import reverse from hct_mis_api.api.models import APIToken, Grant -from hct_mis_api.api.tests.base import HOPEApiTestCase +from tests.unit.api.base import HOPEApiTestCase from hct_mis_api.apps.account.fixtures import BusinessAreaFactory from hct_mis_api.apps.core.models import BusinessArea diff --git a/backend/tests/apps/api/test_cache.py b/tests/unit/api/test_cache.py similarity index 100% rename from backend/tests/apps/api/test_cache.py rename to tests/unit/api/test_cache.py diff --git a/backend/hct_mis_api/api/tests/test_delegate_people.py b/tests/unit/api/test_delegate_people.py similarity index 98% rename from backend/hct_mis_api/api/tests/test_delegate_people.py rename to tests/unit/api/test_delegate_people.py index 8211230bad..d014376d6f 100644 --- a/backend/hct_mis_api/api/tests/test_delegate_people.py +++ b/tests/unit/api/test_delegate_people.py @@ -7,7 +7,7 @@ from rest_framework.reverse import reverse from hct_mis_api.api.models import Grant -from hct_mis_api.api.tests.base import HOPEApiTestCase +from tests.unit.api.base import HOPEApiTestCase from hct_mis_api.apps.core.fixtures import DataCollectingTypeFactory from hct_mis_api.apps.core.models import DataCollectingType from hct_mis_api.apps.core.utils import IDENTIFICATION_TYPE_TO_KEY_MAPPING diff --git a/backend/hct_mis_api/api/tests/test_humanize.py b/tests/unit/api/test_humanize.py similarity index 100% rename from backend/hct_mis_api/api/tests/test_humanize.py rename to tests/unit/api/test_humanize.py diff --git a/backend/hct_mis_api/api/tests/test_program.py b/tests/unit/api/test_program.py similarity index 99% rename from backend/hct_mis_api/api/tests/test_program.py rename to tests/unit/api/test_program.py index eb44e8bc27..dfe43248a9 100644 --- a/backend/hct_mis_api/api/tests/test_program.py +++ b/tests/unit/api/test_program.py @@ -4,7 +4,7 @@ from rest_framework.reverse import reverse from hct_mis_api.api.models import APIToken, Grant -from hct_mis_api.api.tests.base import HOPEApiTestCase +from tests.unit.api.base import HOPEApiTestCase from hct_mis_api.apps.account.fixtures import BusinessAreaFactory from hct_mis_api.apps.core.fixtures import DataCollectingTypeFactory from hct_mis_api.apps.program.fixtures import ProgramFactory diff --git a/backend/hct_mis_api/api/tests/test_push_people.py b/tests/unit/api/test_push_people.py similarity index 99% rename from backend/hct_mis_api/api/tests/test_push_people.py rename to tests/unit/api/test_push_people.py index 61d49941db..7e1dfb3a63 100644 --- a/backend/hct_mis_api/api/tests/test_push_people.py +++ b/tests/unit/api/test_push_people.py @@ -5,7 +5,7 @@ from rest_framework.reverse import reverse from hct_mis_api.api.models import Grant -from hct_mis_api.api.tests.base import HOPEApiTestCase +from tests.unit.api.base import HOPEApiTestCase from hct_mis_api.apps.core.fixtures import DataCollectingTypeFactory from hct_mis_api.apps.core.models import DataCollectingType from hct_mis_api.apps.core.utils import IDENTIFICATION_TYPE_TO_KEY_MAPPING diff --git a/backend/hct_mis_api/api/tests/test_rdi.py b/tests/unit/api/test_rdi.py similarity index 99% rename from backend/hct_mis_api/api/tests/test_rdi.py rename to tests/unit/api/test_rdi.py index a42eeff9b8..0bbb29c129 100644 --- a/backend/hct_mis_api/api/tests/test_rdi.py +++ b/tests/unit/api/test_rdi.py @@ -8,7 +8,7 @@ from rest_framework.reverse import reverse from hct_mis_api.api.models import Grant -from hct_mis_api.api.tests.base import HOPEApiTestCase +from tests.unit.api.base import HOPEApiTestCase from hct_mis_api.apps.core.utils import IDENTIFICATION_TYPE_TO_KEY_MAPPING from hct_mis_api.apps.household.models import ( COLLECT_TYPE_FULL, diff --git a/backend/hct_mis_api/api/tests/test_soft.py b/tests/unit/api/test_soft.py similarity index 99% rename from backend/hct_mis_api/api/tests/test_soft.py rename to tests/unit/api/test_soft.py index 761005357f..069e913e67 100644 --- a/backend/hct_mis_api/api/tests/test_soft.py +++ b/tests/unit/api/test_soft.py @@ -8,7 +8,7 @@ from rest_framework import status from hct_mis_api.api.models import Grant -from hct_mis_api.api.tests.base import HOPEApiTestCase +from tests.unit.api.base import HOPEApiTestCase from hct_mis_api.apps.core.utils import IDENTIFICATION_TYPE_TO_KEY_MAPPING from hct_mis_api.apps.household.models import ( COLLECT_TYPE_FULL, diff --git a/backend/hct_mis_api/api/tests/test_upload.py b/tests/unit/api/test_upload.py similarity index 99% rename from backend/hct_mis_api/api/tests/test_upload.py rename to tests/unit/api/test_upload.py index a17dc1805f..6af798e0bf 100644 --- a/backend/hct_mis_api/api/tests/test_upload.py +++ b/tests/unit/api/test_upload.py @@ -7,7 +7,7 @@ from rest_framework.reverse import reverse from hct_mis_api.api.models import Grant -from hct_mis_api.api.tests.base import HOPEApiTestCase +from tests.unit.api.base import HOPEApiTestCase from hct_mis_api.apps.core.utils import IDENTIFICATION_TYPE_TO_KEY_MAPPING from hct_mis_api.apps.household.models import ( COLLECT_TYPE_FULL, diff --git a/backend/hct_mis_api/apps/reporting/__init__.py b/tests/unit/apps/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/__init__.py rename to tests/unit/apps/__init__.py diff --git a/backend/hct_mis_api/apps/reporting/migrations/__init__.py b/tests/unit/apps/account/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/migrations/__init__.py rename to tests/unit/apps/account/__init__.py diff --git a/backend/hct_mis_api/apps/reporting/services/__init__.py b/tests/unit/apps/account/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/services/__init__.py rename to tests/unit/apps/account/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/account/tests/snapshots/snap_test_partner_for_grievance_choices.py b/tests/unit/apps/account/snapshots/snap_test_partner_for_grievance_choices.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/snapshots/snap_test_partner_for_grievance_choices.py rename to tests/unit/apps/account/snapshots/snap_test_partner_for_grievance_choices.py diff --git a/backend/hct_mis_api/apps/account/tests/snapshots/snap_test_user_choice_data.py b/tests/unit/apps/account/snapshots/snap_test_user_choice_data.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/snapshots/snap_test_user_choice_data.py rename to tests/unit/apps/account/snapshots/snap_test_user_choice_data.py diff --git a/backend/hct_mis_api/apps/account/tests/snapshots/snap_test_user_filters.py b/tests/unit/apps/account/snapshots/snap_test_user_filters.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/snapshots/snap_test_user_filters.py rename to tests/unit/apps/account/snapshots/snap_test_user_filters.py diff --git a/backend/hct_mis_api/apps/account/tests/test_admin.py b/tests/unit/apps/account/test_admin.py similarity index 97% rename from backend/hct_mis_api/apps/account/tests/test_admin.py rename to tests/unit/apps/account/test_admin.py index a592428562..8088a9917e 100644 --- a/backend/hct_mis_api/apps/account/tests/test_admin.py +++ b/tests/unit/apps/account/test_admin.py @@ -24,6 +24,7 @@ def test_role_sync(self) -> None: url = reverse("admin:account_role_dumpdata_qs") res = self.app.get(url, user=self.superuser) assert res.status_code == 200 + print(res.json) jres = json.loads(unquote(res.json["data"])) models = set([item["model"] for item in jres]) assert len(models) == 1 diff --git a/backend/hct_mis_api/apps/account/tests/test_check_permissions.py b/tests/unit/apps/account/test_check_permissions.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/test_check_permissions.py rename to tests/unit/apps/account/test_check_permissions.py diff --git a/backend/hct_mis_api/apps/account/tests/test_incompatible_roles.py b/tests/unit/apps/account/test_incompatible_roles.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/test_incompatible_roles.py rename to tests/unit/apps/account/test_incompatible_roles.py diff --git a/backend/hct_mis_api/apps/account/tests/test_partner_for_grievance_choices.py b/tests/unit/apps/account/test_partner_for_grievance_choices.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/test_partner_for_grievance_choices.py rename to tests/unit/apps/account/test_partner_for_grievance_choices.py diff --git a/backend/hct_mis_api/apps/account/tests/test_partner_permissions.py b/tests/unit/apps/account/test_partner_permissions.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/test_partner_permissions.py rename to tests/unit/apps/account/test_partner_permissions.py diff --git a/backend/hct_mis_api/apps/account/tests/test_role.py b/tests/unit/apps/account/test_role.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/test_role.py rename to tests/unit/apps/account/test_role.py diff --git a/backend/hct_mis_api/apps/account/tests/test_signal_change_allowed_ba.py b/tests/unit/apps/account/test_signal_change_allowed_ba.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/test_signal_change_allowed_ba.py rename to tests/unit/apps/account/test_signal_change_allowed_ba.py diff --git a/backend/hct_mis_api/apps/account/tests/test_user_choice_data.py b/tests/unit/apps/account/test_user_choice_data.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/test_user_choice_data.py rename to tests/unit/apps/account/test_user_choice_data.py diff --git a/backend/hct_mis_api/apps/account/tests/test_user_filters.py b/tests/unit/apps/account/test_user_filters.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/test_user_filters.py rename to tests/unit/apps/account/test_user_filters.py diff --git a/backend/hct_mis_api/apps/account/tests/test_user_import_csv.py b/tests/unit/apps/account/test_user_import_csv.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/test_user_import_csv.py rename to tests/unit/apps/account/test_user_import_csv.py diff --git a/backend/hct_mis_api/apps/account/tests/test_user_roles.py b/tests/unit/apps/account/test_user_roles.py similarity index 100% rename from backend/hct_mis_api/apps/account/tests/test_user_roles.py rename to tests/unit/apps/account/test_user_roles.py diff --git a/backend/hct_mis_api/apps/account/tests/users.csv b/tests/unit/apps/account/users.csv similarity index 100% rename from backend/hct_mis_api/apps/account/tests/users.csv rename to tests/unit/apps/account/users.csv diff --git a/backend/hct_mis_api/apps/account/tests/users2.csv b/tests/unit/apps/account/users2.csv similarity index 100% rename from backend/hct_mis_api/apps/account/tests/users2.csv rename to tests/unit/apps/account/users2.csv diff --git a/backend/hct_mis_api/apps/reporting/tests/__init__.py b/tests/unit/apps/accountability/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/tests/__init__.py rename to tests/unit/apps/accountability/__init__.py diff --git a/backend/hct_mis_api/apps/reporting/tests/snapshots/__init__.py b/tests/unit/apps/accountability/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/tests/snapshots/__init__.py rename to tests/unit/apps/accountability/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_accountability_sample_size_queries.py b/tests/unit/apps/accountability/snapshots/snap_test_accountability_sample_size_queries.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_accountability_sample_size_queries.py rename to tests/unit/apps/accountability/snapshots/snap_test_accountability_sample_size_queries.py diff --git a/backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_create_communication_message.py b/tests/unit/apps/accountability/snapshots/snap_test_create_communication_message.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_create_communication_message.py rename to tests/unit/apps/accountability/snapshots/snap_test_create_communication_message.py diff --git a/backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_create_export_survey_sample.py b/tests/unit/apps/accountability/snapshots/snap_test_create_export_survey_sample.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_create_export_survey_sample.py rename to tests/unit/apps/accountability/snapshots/snap_test_create_export_survey_sample.py diff --git a/backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_create_survey.py b/tests/unit/apps/accountability/snapshots/snap_test_create_survey.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_create_survey.py rename to tests/unit/apps/accountability/snapshots/snap_test_create_survey.py diff --git a/backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_feedback_messages.py b/tests/unit/apps/accountability/snapshots/snap_test_feedback_messages.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_feedback_messages.py rename to tests/unit/apps/accountability/snapshots/snap_test_feedback_messages.py diff --git a/backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_list_query_messages.py b/tests/unit/apps/accountability/snapshots/snap_test_list_query_messages.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_list_query_messages.py rename to tests/unit/apps/accountability/snapshots/snap_test_list_query_messages.py diff --git a/backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_recipients_queries.py b/tests/unit/apps/accountability/snapshots/snap_test_recipients_queries.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_recipients_queries.py rename to tests/unit/apps/accountability/snapshots/snap_test_recipients_queries.py diff --git a/backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_sample_size_query.py b/tests/unit/apps/accountability/snapshots/snap_test_sample_size_query.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_sample_size_query.py rename to tests/unit/apps/accountability/snapshots/snap_test_sample_size_query.py diff --git a/backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_survey_queries.py b/tests/unit/apps/accountability/snapshots/snap_test_survey_queries.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/snapshots/snap_test_survey_queries.py rename to tests/unit/apps/accountability/snapshots/snap_test_survey_queries.py diff --git a/backend/hct_mis_api/apps/accountability/tests/test_accountability_sample_size_queries.py b/tests/unit/apps/accountability/test_accountability_sample_size_queries.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/test_accountability_sample_size_queries.py rename to tests/unit/apps/accountability/test_accountability_sample_size_queries.py diff --git a/backend/hct_mis_api/apps/accountability/tests/test_create_communication_message.py b/tests/unit/apps/accountability/test_create_communication_message.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/test_create_communication_message.py rename to tests/unit/apps/accountability/test_create_communication_message.py diff --git a/backend/hct_mis_api/apps/accountability/tests/test_create_export_survey_sample.py b/tests/unit/apps/accountability/test_create_export_survey_sample.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/test_create_export_survey_sample.py rename to tests/unit/apps/accountability/test_create_export_survey_sample.py diff --git a/backend/hct_mis_api/apps/accountability/tests/test_create_survey.py b/tests/unit/apps/accountability/test_create_survey.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/test_create_survey.py rename to tests/unit/apps/accountability/test_create_survey.py diff --git a/backend/hct_mis_api/apps/accountability/tests/test_feedback_messages.py b/tests/unit/apps/accountability/test_feedback_messages.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/test_feedback_messages.py rename to tests/unit/apps/accountability/test_feedback_messages.py diff --git a/backend/hct_mis_api/apps/accountability/tests/test_list_query_messages.py b/tests/unit/apps/accountability/test_list_query_messages.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/test_list_query_messages.py rename to tests/unit/apps/accountability/test_list_query_messages.py diff --git a/backend/hct_mis_api/apps/accountability/tests/test_recipients_queries.py b/tests/unit/apps/accountability/test_recipients_queries.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/test_recipients_queries.py rename to tests/unit/apps/accountability/test_recipients_queries.py diff --git a/backend/hct_mis_api/apps/accountability/tests/test_sample_size_query.py b/tests/unit/apps/accountability/test_sample_size_query.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/test_sample_size_query.py rename to tests/unit/apps/accountability/test_sample_size_query.py diff --git a/backend/hct_mis_api/apps/accountability/tests/test_submitting_feedback.py b/tests/unit/apps/accountability/test_submitting_feedback.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/test_submitting_feedback.py rename to tests/unit/apps/accountability/test_submitting_feedback.py diff --git a/backend/hct_mis_api/apps/accountability/tests/test_survey_queries.py b/tests/unit/apps/accountability/test_survey_queries.py similarity index 100% rename from backend/hct_mis_api/apps/accountability/tests/test_survey_queries.py rename to tests/unit/apps/accountability/test_survey_queries.py diff --git a/backend/hct_mis_api/apps/sanction_list/__init__.py b/tests/unit/apps/activity_log/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/__init__.py rename to tests/unit/apps/activity_log/__init__.py diff --git a/backend/hct_mis_api/apps/sanction_list/migrations/__init__.py b/tests/unit/apps/activity_log/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/migrations/__init__.py rename to tests/unit/apps/activity_log/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/activity_log/tests/snapshots/snap_test_schema.py b/tests/unit/apps/activity_log/snapshots/snap_test_schema.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/tests/snapshots/snap_test_schema.py rename to tests/unit/apps/activity_log/snapshots/snap_test_schema.py diff --git a/backend/hct_mis_api/apps/activity_log/tests/test_schema.py b/tests/unit/apps/activity_log/test_schema.py similarity index 100% rename from backend/hct_mis_api/apps/activity_log/tests/test_schema.py rename to tests/unit/apps/activity_log/test_schema.py diff --git a/backend/hct_mis_api/apps/administration/tests/test_admin.py b/tests/unit/apps/administration/test_admin.py similarity index 100% rename from backend/hct_mis_api/apps/administration/tests/test_admin.py rename to tests/unit/apps/administration/test_admin.py diff --git a/backend/hct_mis_api/apps/sanction_list/tasks/__init__.py b/tests/unit/apps/cash_assist_datahub/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tasks/__init__.py rename to tests/unit/apps/cash_assist_datahub/__init__.py diff --git a/backend/hct_mis_api/apps/cash_assist_datahub/tests/test_pull_from_datahub.py b/tests/unit/apps/cash_assist_datahub/test_pull_from_datahub.py similarity index 99% rename from backend/hct_mis_api/apps/cash_assist_datahub/tests/test_pull_from_datahub.py rename to tests/unit/apps/cash_assist_datahub/test_pull_from_datahub.py index de13ca855a..f820e0301d 100644 --- a/backend/hct_mis_api/apps/cash_assist_datahub/tests/test_pull_from_datahub.py +++ b/tests/unit/apps/cash_assist_datahub/test_pull_from_datahub.py @@ -28,7 +28,7 @@ ) from hct_mis_api.apps.core.fixtures import create_afghanistan from hct_mis_api.apps.core.models import BusinessArea -from hct_mis_api.apps.core.tests.test_exchange_rates import ( +from tests.unit.apps.core.test_exchange_rates import ( EXCHANGE_RATES_WITH_HISTORICAL_DATA, ) from hct_mis_api.apps.household.fixtures import create_household diff --git a/backend/hct_mis_api/apps/sanction_list/tests/__init__.py b/tests/unit/apps/changelog/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tests/__init__.py rename to tests/unit/apps/changelog/__init__.py diff --git a/backend/hct_mis_api/apps/changelog/tests/test_views.py b/tests/unit/apps/changelog/test_views.py similarity index 100% rename from backend/hct_mis_api/apps/changelog/tests/test_views.py rename to tests/unit/apps/changelog/test_views.py diff --git a/backend/hct_mis_api/apps/steficon/__init__.py b/tests/unit/apps/core/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/__init__.py rename to tests/unit/apps/core/__init__.py diff --git a/backend/hct_mis_api/apps/steficon/migrations/__init__.py b/tests/unit/apps/core/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/migrations/__init__.py rename to tests/unit/apps/core/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/core/tests/snapshots/snap_test_all_fields_attributes_query.py b/tests/unit/apps/core/snapshots/snap_test_all_fields_attributes_query.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/snapshots/snap_test_all_fields_attributes_query.py rename to tests/unit/apps/core/snapshots/snap_test_all_fields_attributes_query.py diff --git a/backend/hct_mis_api/apps/core/tests/snapshots/snap_test_schema.py b/tests/unit/apps/core/snapshots/snap_test_schema.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/snapshots/snap_test_schema.py rename to tests/unit/apps/core/snapshots/snap_test_schema.py diff --git a/backend/hct_mis_api/apps/core/tests/test_admin.py b/tests/unit/apps/core/test_admin.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_admin.py rename to tests/unit/apps/core/test_admin.py diff --git a/backend/hct_mis_api/apps/core/tests/test_all_fields_attributes_query.py b/tests/unit/apps/core/test_all_fields_attributes_query.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_all_fields_attributes_query.py rename to tests/unit/apps/core/test_all_fields_attributes_query.py diff --git a/backend/hct_mis_api/apps/core/tests/test_attributes_get_queries.py b/tests/unit/apps/core/test_attributes_get_queries.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_attributes_get_queries.py rename to tests/unit/apps/core/test_attributes_get_queries.py diff --git a/backend/hct_mis_api/apps/core/tests/test_cache.py b/tests/unit/apps/core/test_cache.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_cache.py rename to tests/unit/apps/core/test_cache.py diff --git a/backend/hct_mis_api/apps/core/tests/test_commands.py b/tests/unit/apps/core/test_commands.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_commands.py rename to tests/unit/apps/core/test_commands.py diff --git a/backend/hct_mis_api/apps/core/tests/test_core_fields.py b/tests/unit/apps/core/test_core_fields.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_core_fields.py rename to tests/unit/apps/core/test_core_fields.py diff --git a/backend/hct_mis_api/apps/core/tests/test_country_code_map.py b/tests/unit/apps/core/test_country_code_map.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_country_code_map.py rename to tests/unit/apps/core/test_country_code_map.py diff --git a/backend/hct_mis_api/apps/core/tests/test_data_collecting_type_validation.py b/tests/unit/apps/core/test_data_collecting_type_validation.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_data_collecting_type_validation.py rename to tests/unit/apps/core/test_data_collecting_type_validation.py diff --git a/backend/hct_mis_api/apps/core/tests/test_doap.py b/tests/unit/apps/core/test_doap.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_doap.py rename to tests/unit/apps/core/test_doap.py diff --git a/backend/hct_mis_api/apps/core/tests/test_edopomoga_tp_creation.py b/tests/unit/apps/core/test_edopomoga_tp_creation.py similarity index 97% rename from backend/hct_mis_api/apps/core/tests/test_edopomoga_tp_creation.py rename to tests/unit/apps/core/test_edopomoga_tp_creation.py index 7a3b7f21a0..5a55c73dd2 100644 --- a/backend/hct_mis_api/apps/core/tests/test_edopomoga_tp_creation.py +++ b/tests/unit/apps/core/test_edopomoga_tp_creation.py @@ -33,7 +33,7 @@ def setUpTestData(cls) -> None: name="Test program ONE", business_area=BusinessArea.objects.first(), ) - content = Path(f"{settings.PROJECT_ROOT}/apps/core/tests/test_files/edopomoga_sample.csv") + content = Path(f"{settings.TESTS_ROOT}/apps/core/test_files/edopomoga_sample.csv") cls.storage_file = StorageFile.objects.create( created_by=cls.user, business_area=cls.business_area, diff --git a/backend/hct_mis_api/apps/core/tests/test_exchange_rates.py b/tests/unit/apps/core/test_exchange_rates.py similarity index 99% rename from backend/hct_mis_api/apps/core/tests/test_exchange_rates.py rename to tests/unit/apps/core/test_exchange_rates.py index 0120b46a5d..524e3c5a3f 100644 --- a/backend/hct_mis_api/apps/core/tests/test_exchange_rates.py +++ b/tests/unit/apps/core/test_exchange_rates.py @@ -14,7 +14,7 @@ from hct_mis_api.apps.core.exchange_rates import ExchangeRateClientAPI, ExchangeRates from hct_mis_api.apps.core.exchange_rates.api import ExchangeRateClientDummy from hct_mis_api.apps.core.models import BusinessArea -from hct_mis_api.apps.core.tests.test_files.exchange_rates_api_response import ( +from tests.unit.apps.core.test_files.exchange_rates_api_response import ( EXCHANGE_RATES_API_RESPONSE, ) from hct_mis_api.apps.household.fixtures import create_household diff --git a/backend/hct_mis_api/apps/core/tests/test_files/edopomoga_sample.csv b/tests/unit/apps/core/test_files/edopomoga_sample.csv similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/edopomoga_sample.csv rename to tests/unit/apps/core/test_files/edopomoga_sample.csv diff --git a/backend/hct_mis_api/apps/core/tests/test_files/erd arrows.jpg b/tests/unit/apps/core/test_files/erd arrows.jpg similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/erd arrows.jpg rename to tests/unit/apps/core/test_files/erd arrows.jpg diff --git a/backend/hct_mis_api/apps/core/tests/test_files/exchange_rates_api_response.py b/tests/unit/apps/core/test_files/exchange_rates_api_response.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/exchange_rates_api_response.py rename to tests/unit/apps/core/test_files/exchange_rates_api_response.py diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_choice_without_field.xls b/tests/unit/apps/core/test_files/flex_choice_without_field.xls similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_choice_without_field.xls rename to tests/unit/apps/core/test_files/flex_choice_without_field.xls diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_field_missing_english_label.xls b/tests/unit/apps/core/test_files/flex_field_missing_english_label.xls similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_field_missing_english_label.xls rename to tests/unit/apps/core/test_files/flex_field_missing_english_label.xls diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_field_missing_name.xls b/tests/unit/apps/core/test_files/flex_field_missing_name.xls similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_field_missing_name.xls rename to tests/unit/apps/core/test_files/flex_field_missing_name.xls diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_init.xls b/tests/unit/apps/core/test_files/flex_init.xls similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_init.xls rename to tests/unit/apps/core/test_files/flex_init.xls diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_init_empty_calculate_type.xlsx b/tests/unit/apps/core/test_files/flex_init_empty_calculate_type.xlsx similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_init_empty_calculate_type.xlsx rename to tests/unit/apps/core/test_files/flex_init_empty_calculate_type.xlsx diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_init_not_existing_calculate_type.xlsx b/tests/unit/apps/core/test_files/flex_init_not_existing_calculate_type.xlsx similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_init_not_existing_calculate_type.xlsx rename to tests/unit/apps/core/test_files/flex_init_not_existing_calculate_type.xlsx diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_init_space_as_calculate_type.xlsx b/tests/unit/apps/core/test_files/flex_init_space_as_calculate_type.xlsx similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_init_space_as_calculate_type.xlsx rename to tests/unit/apps/core/test_files/flex_init_space_as_calculate_type.xlsx diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_init_valid_calculate_types.xlsx b/tests/unit/apps/core/test_files/flex_init_valid_calculate_types.xlsx similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_init_valid_calculate_types.xlsx rename to tests/unit/apps/core/test_files/flex_init_valid_calculate_types.xlsx diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_init_valid_types.xls b/tests/unit/apps/core/test_files/flex_init_valid_types.xls similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_init_valid_types.xls rename to tests/unit/apps/core/test_files/flex_init_valid_types.xls diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_update_invalid_types.xls b/tests/unit/apps/core/test_files/flex_update_invalid_types.xls similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_update_invalid_types.xls rename to tests/unit/apps/core/test_files/flex_update_invalid_types.xls diff --git a/backend/hct_mis_api/apps/core/tests/test_files/flex_updated.xls b/tests/unit/apps/core/test_files/flex_updated.xls similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/flex_updated.xls rename to tests/unit/apps/core/test_files/flex_updated.xls diff --git a/backend/hct_mis_api/apps/core/tests/test_files/kobo-template-invalid.xlsx b/tests/unit/apps/core/test_files/kobo-template-invalid.xlsx similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/kobo-template-invalid.xlsx rename to tests/unit/apps/core/test_files/kobo-template-invalid.xlsx diff --git a/backend/hct_mis_api/apps/core/tests/test_files/kobo-template-valid.xlsx b/tests/unit/apps/core/test_files/kobo-template-valid.xlsx similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_files/kobo-template-valid.xlsx rename to tests/unit/apps/core/test_files/kobo-template-valid.xlsx diff --git a/backend/hct_mis_api/apps/core/tests/test_flexible_helper_methods.py b/tests/unit/apps/core/test_flexible_helper_methods.py similarity index 99% rename from backend/hct_mis_api/apps/core/tests/test_flexible_helper_methods.py rename to tests/unit/apps/core/test_flexible_helper_methods.py index 841f8d2452..1b19051740 100644 --- a/backend/hct_mis_api/apps/core/tests/test_flexible_helper_methods.py +++ b/tests/unit/apps/core/test_flexible_helper_methods.py @@ -15,7 +15,7 @@ class TestFlexibleHelperMethods(TestCase): def setUpTestData(cls) -> None: super().setUpTestData() cls.importer = FlexibleAttributeImporter() - wb = xlrd.open_workbook(filename=f"{settings.PROJECT_ROOT}/apps/core/tests/test_files/flex_init.xls") + wb = xlrd.open_workbook(filename=f"{settings.TESTS_ROOT}/apps/core/test_files/flex_init.xls") cls.survey_sheet = wb.sheet_by_name("survey") cls.choices_sheet = wb.sheet_by_name("choices") cls.importer._reset_model_fields_variables() diff --git a/backend/hct_mis_api/apps/core/tests/test_flexibles.py b/tests/unit/apps/core/test_flexibles.py similarity index 98% rename from backend/hct_mis_api/apps/core/tests/test_flexibles.py rename to tests/unit/apps/core/test_flexibles.py index 67e4d72db9..25a27f7a04 100644 --- a/backend/hct_mis_api/apps/core/tests/test_flexibles.py +++ b/tests/unit/apps/core/test_flexibles.py @@ -22,7 +22,7 @@ def has_perm(self, perm: Any) -> bool: class TestFlexibles(TestCase): def load_xls(self, name: str) -> None: task = FlexibleAttributeImporter() - task.import_xls(f"{settings.PROJECT_ROOT}/apps/core/tests/test_files/{name}") + task.import_xls(f"{settings.TESTS_ROOT}/apps/core/test_files/{name}") def test_flexible_init_update_delete(self) -> None: self.load_xls("flex_init.xls") diff --git a/backend/hct_mis_api/apps/core/tests/test_hope_redirect.py b/tests/unit/apps/core/test_hope_redirect.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_hope_redirect.py rename to tests/unit/apps/core/test_hope_redirect.py diff --git a/backend/hct_mis_api/apps/core/tests/test_kobo_template_upload.py b/tests/unit/apps/core/test_kobo_template_upload.py similarity index 99% rename from backend/hct_mis_api/apps/core/tests/test_kobo_template_upload.py rename to tests/unit/apps/core/test_kobo_template_upload.py index a1d63eec22..7f4fc5cea0 100644 --- a/backend/hct_mis_api/apps/core/tests/test_kobo_template_upload.py +++ b/tests/unit/apps/core/test_kobo_template_upload.py @@ -63,7 +63,7 @@ def setUpTestData(cls) -> None: def prepare_request(self, name: str) -> WSGIRequest: with open( - f"{settings.PROJECT_ROOT}/apps/core/tests/test_files/{name}", + f"{settings.TESTS_ROOT}/apps/core/test_files/{name}", "rb", ) as f: data = {"xls_file": f} diff --git a/backend/hct_mis_api/apps/core/tests/test_mixins.py b/tests/unit/apps/core/test_mixins.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_mixins.py rename to tests/unit/apps/core/test_mixins.py diff --git a/backend/hct_mis_api/apps/core/tests/test_schema.py b/tests/unit/apps/core/test_schema.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_schema.py rename to tests/unit/apps/core/test_schema.py diff --git a/backend/hct_mis_api/apps/core/tests/test_setting_types_for_calculate_fields.py b/tests/unit/apps/core/test_setting_types_for_calculate_fields.py similarity index 96% rename from backend/hct_mis_api/apps/core/tests/test_setting_types_for_calculate_fields.py rename to tests/unit/apps/core/test_setting_types_for_calculate_fields.py index 0e11f8cecf..41be01a50e 100644 --- a/backend/hct_mis_api/apps/core/tests/test_setting_types_for_calculate_fields.py +++ b/tests/unit/apps/core/test_setting_types_for_calculate_fields.py @@ -25,7 +25,7 @@ class TestSettingTypesForCalculateFields(TestCase): @staticmethod def load_xls_file(name: str) -> None: task = FlexibleAttributeImporter() - task.import_xls(f"{settings.PROJECT_ROOT}/apps/core/tests/test_files/{name}") + task.import_xls(f"{settings.TESTS_ROOT}/apps/core/test_files/{name}") @parameterized.expand( [ diff --git a/backend/hct_mis_api/apps/core/tests/test_timezone_datetime.py b/tests/unit/apps/core/test_timezone_datetime.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_timezone_datetime.py rename to tests/unit/apps/core/test_timezone_datetime.py diff --git a/backend/hct_mis_api/apps/core/tests/test_utils.py b/tests/unit/apps/core/test_utils.py similarity index 100% rename from backend/hct_mis_api/apps/core/tests/test_utils.py rename to tests/unit/apps/core/test_utils.py diff --git a/backend/hct_mis_api/apps/steficon/templatetags/__init__.py b/tests/unit/apps/erp_datahub/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/templatetags/__init__.py rename to tests/unit/apps/erp_datahub/__init__.py diff --git a/backend/hct_mis_api/apps/erp_datahub/tests/test_pull_from_erp_datahub.py b/tests/unit/apps/erp_datahub/test_pull_from_erp_datahub.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/tests/test_pull_from_erp_datahub.py rename to tests/unit/apps/erp_datahub/test_pull_from_erp_datahub.py diff --git a/backend/hct_mis_api/apps/erp_datahub/tests/test_sync_to_mis_datahub.py b/tests/unit/apps/erp_datahub/test_sync_to_mis_datahub.py similarity index 100% rename from backend/hct_mis_api/apps/erp_datahub/tests/test_sync_to_mis_datahub.py rename to tests/unit/apps/erp_datahub/test_sync_to_mis_datahub.py diff --git a/backend/hct_mis_api/apps/steficon/tests/__init__.py b/tests/unit/apps/geo/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/tests/__init__.py rename to tests/unit/apps/geo/__init__.py diff --git a/backend/hct_mis_api/apps/steficon/tests/snapshots/__init__.py b/tests/unit/apps/geo/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/tests/snapshots/__init__.py rename to tests/unit/apps/geo/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/geo/tests/snapshots/snap_test_schema.py b/tests/unit/apps/geo/snapshots/snap_test_schema.py similarity index 100% rename from backend/hct_mis_api/apps/geo/tests/snapshots/snap_test_schema.py rename to tests/unit/apps/geo/snapshots/snap_test_schema.py diff --git a/backend/hct_mis_api/apps/geo/tests/test_admin.py b/tests/unit/apps/geo/test_admin.py similarity index 100% rename from backend/hct_mis_api/apps/geo/tests/test_admin.py rename to tests/unit/apps/geo/test_admin.py diff --git a/backend/tests/apps/geo/test_area_views.py b/tests/unit/apps/geo/test_area_views.py similarity index 100% rename from backend/tests/apps/geo/test_area_views.py rename to tests/unit/apps/geo/test_area_views.py diff --git a/backend/hct_mis_api/apps/geo/tests/test_schema.py b/tests/unit/apps/geo/test_schema.py similarity index 100% rename from backend/hct_mis_api/apps/geo/tests/test_schema.py rename to tests/unit/apps/geo/test_schema.py diff --git a/backend/hct_mis_api/apps/geo/tests/test_signal_create_area.py b/tests/unit/apps/geo/test_signal_create_area.py similarity index 100% rename from backend/hct_mis_api/apps/geo/tests/test_signal_create_area.py rename to tests/unit/apps/geo/test_signal_create_area.py diff --git a/backend/hct_mis_api/apps/targeting/__init__.py b/tests/unit/apps/grievance/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/__init__.py rename to tests/unit/apps/grievance/__init__.py diff --git a/backend/hct_mis_api/apps/grievance/tests/grievance_es_index.json b/tests/unit/apps/grievance/grievance_es_index.json similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/grievance_es_index.json rename to tests/unit/apps/grievance/grievance_es_index.json diff --git a/backend/hct_mis_api/apps/targeting/api/__init__.py b/tests/unit/apps/grievance/services/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/api/__init__.py rename to tests/unit/apps/grievance/services/__init__.py diff --git a/backend/hct_mis_api/apps/targeting/migrations/__init__.py b/tests/unit/apps/grievance/services/data_change/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/migrations/__init__.py rename to tests/unit/apps/grievance/services/data_change/__init__.py diff --git a/backend/hct_mis_api/apps/grievance/tests/services/data_change/test_add_individual_service.py b/tests/unit/apps/grievance/services/data_change/test_add_individual_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/services/data_change/test_add_individual_service.py rename to tests/unit/apps/grievance/services/data_change/test_add_individual_service.py diff --git a/backend/hct_mis_api/apps/grievance/tests/services/data_change/test_change_individual_role.py b/tests/unit/apps/grievance/services/data_change/test_change_individual_role.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/services/data_change/test_change_individual_role.py rename to tests/unit/apps/grievance/services/data_change/test_change_individual_role.py diff --git a/backend/hct_mis_api/apps/grievance/tests/services/data_change/test_handle_role.py b/tests/unit/apps/grievance/services/data_change/test_handle_role.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/services/data_change/test_handle_role.py rename to tests/unit/apps/grievance/services/data_change/test_handle_role.py diff --git a/backend/hct_mis_api/apps/grievance/tests/services/data_change/test_household_data_update_service.py b/tests/unit/apps/grievance/services/data_change/test_household_data_update_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/services/data_change/test_household_data_update_service.py rename to tests/unit/apps/grievance/services/data_change/test_household_data_update_service.py diff --git a/backend/hct_mis_api/apps/grievance/tests/services/data_change/test_update_individual_data_service.py b/tests/unit/apps/grievance/services/data_change/test_update_individual_data_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/services/data_change/test_update_individual_data_service.py rename to tests/unit/apps/grievance/services/data_change/test_update_individual_data_service.py diff --git a/backend/hct_mis_api/apps/targeting/tests/__init__.py b/tests/unit/apps/grievance/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/__init__.py rename to tests/unit/apps/grievance/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_adjudication_ticket_partner_permission.py b/tests/unit/apps/grievance/snapshots/snap_test_adjudication_ticket_partner_permission.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_adjudication_ticket_partner_permission.py rename to tests/unit/apps/grievance/snapshots/snap_test_adjudication_ticket_partner_permission.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_approve_automatic_tickets.py b/tests/unit/apps/grievance/snapshots/snap_test_approve_automatic_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_approve_automatic_tickets.py rename to tests/unit/apps/grievance/snapshots/snap_test_approve_automatic_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_approve_data_change.py b/tests/unit/apps/grievance/snapshots/snap_test_approve_data_change.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_approve_data_change.py rename to tests/unit/apps/grievance/snapshots/snap_test_approve_data_change.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_approve_delete_household.py b/tests/unit/apps/grievance/snapshots/snap_test_approve_delete_household.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_approve_delete_household.py rename to tests/unit/apps/grievance/snapshots/snap_test_approve_delete_household.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_bulk_update_grievance_assignee.py b/tests/unit/apps/grievance/snapshots/snap_test_bulk_update_grievance_assignee.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_bulk_update_grievance_assignee.py rename to tests/unit/apps/grievance/snapshots/snap_test_bulk_update_grievance_assignee.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_cross_area_filter_available.py b/tests/unit/apps/grievance/snapshots/snap_test_cross_area_filter_available.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_cross_area_filter_available.py rename to tests/unit/apps/grievance/snapshots/snap_test_cross_area_filter_available.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_filter_already_existing_tickets.py b/tests/unit/apps/grievance/snapshots/snap_test_filter_already_existing_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_filter_already_existing_tickets.py rename to tests/unit/apps/grievance/snapshots/snap_test_filter_already_existing_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_filter_grievance_by_cross_area.py b/tests/unit/apps/grievance/snapshots/snap_test_filter_grievance_by_cross_area.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_filter_grievance_by_cross_area.py rename to tests/unit/apps/grievance/snapshots/snap_test_filter_grievance_by_cross_area.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_area_query.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_area_query.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_area_query.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_area_query.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_create_complaint_ticket.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_create_complaint_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_create_complaint_ticket.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_create_complaint_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_create_negative_feedback_ticket.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_create_negative_feedback_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_create_negative_feedback_ticket.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_create_negative_feedback_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_create_positive_feedback_ticket.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_create_positive_feedback_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_create_positive_feedback_ticket.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_create_positive_feedback_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_create_referral_ticket.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_create_referral_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_create_referral_ticket.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_create_referral_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_create_sensitive_ticket.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_create_sensitive_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_create_sensitive_ticket.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_create_sensitive_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_dashboard_queries.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_dashboard_queries.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_dashboard_queries.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_dashboard_queries.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_data_change_mutations.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_data_change_mutations.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_data_change_mutations.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_data_change_mutations.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_documents_upload.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_documents_upload.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_documents_upload.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_documents_upload.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_es.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_es.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_es.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_es.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_query.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_query.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_query.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_query.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_search_filter.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_search_filter.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_search_filter.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_search_filter.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_status_update.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_status_update.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_status_update.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_status_update.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_update_negative_feedback_ticket.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_update_negative_feedback_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_update_negative_feedback_ticket.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_update_negative_feedback_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_update_payment_verification_ticket.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_update_payment_verification_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_update_payment_verification_ticket.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_update_payment_verification_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_update_positive_feedback_ticket.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_update_positive_feedback_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_update_positive_feedback_ticket.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_update_positive_feedback_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_update_referral_ticket.py b/tests/unit/apps/grievance/snapshots/snap_test_grievance_update_referral_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_grievance_update_referral_ticket.py rename to tests/unit/apps/grievance/snapshots/snap_test_grievance_update_referral_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_sorting_linked_tickets.py b/tests/unit/apps/grievance/snapshots/snap_test_sorting_linked_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_sorting_linked_tickets.py rename to tests/unit/apps/grievance/snapshots/snap_test_sorting_linked_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_ticket_notes.py b/tests/unit/apps/grievance/snapshots/snap_test_ticket_notes.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_ticket_notes.py rename to tests/unit/apps/grievance/snapshots/snap_test_ticket_notes.py diff --git a/backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_update_grievance_tickets.py b/tests/unit/apps/grievance/snapshots/snap_test_update_grievance_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/snapshots/snap_test_update_grievance_tickets.py rename to tests/unit/apps/grievance/snapshots/snap_test_update_grievance_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_adjudication_ticket_partner_permission.py b/tests/unit/apps/grievance/test_adjudication_ticket_partner_permission.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_adjudication_ticket_partner_permission.py rename to tests/unit/apps/grievance/test_adjudication_ticket_partner_permission.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_approve_automatic_tickets.py b/tests/unit/apps/grievance/test_approve_automatic_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_approve_automatic_tickets.py rename to tests/unit/apps/grievance/test_approve_automatic_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_approve_data_change.py b/tests/unit/apps/grievance/test_approve_data_change.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_approve_data_change.py rename to tests/unit/apps/grievance/test_approve_data_change.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_approve_delete_household.py b/tests/unit/apps/grievance/test_approve_delete_household.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_approve_delete_household.py rename to tests/unit/apps/grievance/test_approve_delete_household.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_bulk_action_service.py b/tests/unit/apps/grievance/test_bulk_action_service.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_bulk_action_service.py rename to tests/unit/apps/grievance/test_bulk_action_service.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_change_head_of_household.py b/tests/unit/apps/grievance/test_change_head_of_household.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_change_head_of_household.py rename to tests/unit/apps/grievance/test_change_head_of_household.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_close_data_change_tickets.py b/tests/unit/apps/grievance/test_close_data_change_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_close_data_change_tickets.py rename to tests/unit/apps/grievance/test_close_data_change_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_close_grievance_ticket_and_disable_decuplication.py b/tests/unit/apps/grievance/test_close_grievance_ticket_and_disable_decuplication.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_close_grievance_ticket_and_disable_decuplication.py rename to tests/unit/apps/grievance/test_close_grievance_ticket_and_disable_decuplication.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_create_needs_adjudication_tickets.py b/tests/unit/apps/grievance/test_create_needs_adjudication_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_create_needs_adjudication_tickets.py rename to tests/unit/apps/grievance/test_create_needs_adjudication_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_cross_area_filter_available.py b/tests/unit/apps/grievance/test_cross_area_filter_available.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_cross_area_filter_available.py rename to tests/unit/apps/grievance/test_cross_area_filter_available.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_cross_area_flag.py b/tests/unit/apps/grievance/test_cross_area_flag.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_cross_area_flag.py rename to tests/unit/apps/grievance/test_cross_area_flag.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_filter_already_existing_tickets.py b/tests/unit/apps/grievance/test_filter_already_existing_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_filter_already_existing_tickets.py rename to tests/unit/apps/grievance/test_filter_already_existing_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_filter_grievance_by_cross_area.py b/tests/unit/apps/grievance/test_filter_grievance_by_cross_area.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_filter_grievance_by_cross_area.py rename to tests/unit/apps/grievance/test_filter_grievance_by_cross_area.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_fixing_grievance_tickets.py b/tests/unit/apps/grievance/test_fixing_grievance_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_fixing_grievance_tickets.py rename to tests/unit/apps/grievance/test_fixing_grievance_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_area_query.py b/tests/unit/apps/grievance/test_grievance_area_query.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_area_query.py rename to tests/unit/apps/grievance/test_grievance_area_query.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_create_complaint_ticket.py b/tests/unit/apps/grievance/test_grievance_create_complaint_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_create_complaint_ticket.py rename to tests/unit/apps/grievance/test_grievance_create_complaint_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_create_negative_feedback_ticket.py b/tests/unit/apps/grievance/test_grievance_create_negative_feedback_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_create_negative_feedback_ticket.py rename to tests/unit/apps/grievance/test_grievance_create_negative_feedback_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_create_positive_feedback_ticket.py b/tests/unit/apps/grievance/test_grievance_create_positive_feedback_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_create_positive_feedback_ticket.py rename to tests/unit/apps/grievance/test_grievance_create_positive_feedback_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_create_referral_ticket.py b/tests/unit/apps/grievance/test_grievance_create_referral_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_create_referral_ticket.py rename to tests/unit/apps/grievance/test_grievance_create_referral_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_create_sensitive_ticket.py b/tests/unit/apps/grievance/test_grievance_create_sensitive_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_create_sensitive_ticket.py rename to tests/unit/apps/grievance/test_grievance_create_sensitive_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_dashboard_queries.py b/tests/unit/apps/grievance/test_grievance_dashboard_queries.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_dashboard_queries.py rename to tests/unit/apps/grievance/test_grievance_dashboard_queries.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_data_change_mutations.py b/tests/unit/apps/grievance/test_grievance_data_change_mutations.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_data_change_mutations.py rename to tests/unit/apps/grievance/test_grievance_data_change_mutations.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_documents_upload.py b/tests/unit/apps/grievance/test_grievance_documents_upload.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_documents_upload.py rename to tests/unit/apps/grievance/test_grievance_documents_upload.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_es.py b/tests/unit/apps/grievance/test_grievance_es.py similarity index 99% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_es.py rename to tests/unit/apps/grievance/test_grievance_es.py index 56395f94a8..49f90b910f 100644 --- a/backend/hct_mis_api/apps/grievance/tests/test_grievance_es.py +++ b/tests/unit/apps/grievance/test_grievance_es.py @@ -22,7 +22,7 @@ ) from hct_mis_api.apps.grievance.models import GrievanceTicket from hct_mis_api.apps.program.fixtures import ProgramFactory -from hct_mis_api.conftest import disabled_locally_test +from tests.unit.conftest import disabled_locally_test def execute_test_es_query(query_dict: Dict) -> List[str]: diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_query.py b/tests/unit/apps/grievance/test_grievance_query.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_query.py rename to tests/unit/apps/grievance/test_grievance_query.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_search_filter.py b/tests/unit/apps/grievance/test_grievance_search_filter.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_search_filter.py rename to tests/unit/apps/grievance/test_grievance_search_filter.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_status_update.py b/tests/unit/apps/grievance/test_grievance_status_update.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_status_update.py rename to tests/unit/apps/grievance/test_grievance_status_update.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_ticket_related_tickets.py b/tests/unit/apps/grievance/test_grievance_ticket_related_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_ticket_related_tickets.py rename to tests/unit/apps/grievance/test_grievance_ticket_related_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_update_negative_feedback_ticket.py b/tests/unit/apps/grievance/test_grievance_update_negative_feedback_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_update_negative_feedback_ticket.py rename to tests/unit/apps/grievance/test_grievance_update_negative_feedback_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_update_payment_verification_ticket.py b/tests/unit/apps/grievance/test_grievance_update_payment_verification_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_update_payment_verification_ticket.py rename to tests/unit/apps/grievance/test_grievance_update_payment_verification_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_update_positive_feedback_ticket.py b/tests/unit/apps/grievance/test_grievance_update_positive_feedback_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_update_positive_feedback_ticket.py rename to tests/unit/apps/grievance/test_grievance_update_positive_feedback_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_grievance_update_referral_ticket.py b/tests/unit/apps/grievance/test_grievance_update_referral_ticket.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_grievance_update_referral_ticket.py rename to tests/unit/apps/grievance/test_grievance_update_referral_ticket.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_model_validation.py b/tests/unit/apps/grievance/test_model_validation.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_model_validation.py rename to tests/unit/apps/grievance/test_model_validation.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_models.py b/tests/unit/apps/grievance/test_models.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_models.py rename to tests/unit/apps/grievance/test_models.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_reassign_role_mutation.py b/tests/unit/apps/grievance/test_reassign_role_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_reassign_role_mutation.py rename to tests/unit/apps/grievance/test_reassign_role_mutation.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_reassign_roles_on_disable_individual.py b/tests/unit/apps/grievance/test_reassign_roles_on_disable_individual.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_reassign_roles_on_disable_individual.py rename to tests/unit/apps/grievance/test_reassign_roles_on_disable_individual.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_reassign_roles_on_update.py b/tests/unit/apps/grievance/test_reassign_roles_on_update.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_reassign_roles_on_update.py rename to tests/unit/apps/grievance/test_reassign_roles_on_update.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_services_utils.py b/tests/unit/apps/grievance/test_services_utils.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_services_utils.py rename to tests/unit/apps/grievance/test_services_utils.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_sorting_linked_tickets.py b/tests/unit/apps/grievance/test_sorting_linked_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_sorting_linked_tickets.py rename to tests/unit/apps/grievance/test_sorting_linked_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_system_tickets.py b/tests/unit/apps/grievance/test_system_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_system_tickets.py rename to tests/unit/apps/grievance/test_system_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_tasks.py b/tests/unit/apps/grievance/test_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_tasks.py rename to tests/unit/apps/grievance/test_tasks.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_ticket_notes.py b/tests/unit/apps/grievance/test_ticket_notes.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_ticket_notes.py rename to tests/unit/apps/grievance/test_ticket_notes.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_update_grievance_tickets.py b/tests/unit/apps/grievance/test_update_grievance_tickets.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_update_grievance_tickets.py rename to tests/unit/apps/grievance/test_update_grievance_tickets.py diff --git a/backend/hct_mis_api/apps/grievance/tests/test_withdraw_household.py b/tests/unit/apps/grievance/test_withdraw_household.py similarity index 100% rename from backend/hct_mis_api/apps/grievance/tests/test_withdraw_household.py rename to tests/unit/apps/grievance/test_withdraw_household.py diff --git a/backend/hct_mis_api/apps/targeting/tests/snapshots/__init__.py b/tests/unit/apps/household/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/snapshots/__init__.py rename to tests/unit/apps/household/__init__.py diff --git a/backend/hct_mis_api/apps/utils/__init__.py b/tests/unit/apps/household/services/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/utils/__init__.py rename to tests/unit/apps/household/services/__init__.py diff --git a/backend/hct_mis_api/apps/household/tests/services/test_household_withdraw.py b/tests/unit/apps/household/services/test_household_withdraw.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/services/test_household_withdraw.py rename to tests/unit/apps/household/services/test_household_withdraw.py diff --git a/backend/hct_mis_api/apps/utils/migrations/__init__.py b/tests/unit/apps/household/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/utils/migrations/__init__.py rename to tests/unit/apps/household/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_dashboard_queries.py b/tests/unit/apps/household/snapshots/snap_test_dashboard_queries.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_dashboard_queries.py rename to tests/unit/apps/household/snapshots/snap_test_dashboard_queries.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_filter_households_by_program.py b/tests/unit/apps/household/snapshots/snap_test_filter_households_by_program.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_filter_households_by_program.py rename to tests/unit/apps/household/snapshots/snap_test_filter_households_by_program.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_filter_individuals_by_program.py b/tests/unit/apps/household/snapshots/snap_test_filter_individuals_by_program.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_filter_individuals_by_program.py rename to tests/unit/apps/household/snapshots/snap_test_filter_individuals_by_program.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_household_area_query.py b/tests/unit/apps/household/snapshots/snap_test_household_area_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_household_area_query.py rename to tests/unit/apps/household/snapshots/snap_test_household_area_query.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_household_delivered_quantities_query.py b/tests/unit/apps/household/snapshots/snap_test_household_delivered_quantities_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_household_delivered_quantities_query.py rename to tests/unit/apps/household/snapshots/snap_test_household_delivered_quantities_query.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_household_permissions_query.py b/tests/unit/apps/household/snapshots/snap_test_household_permissions_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_household_permissions_query.py rename to tests/unit/apps/household/snapshots/snap_test_household_permissions_query.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_household_program_registration_id.py b/tests/unit/apps/household/snapshots/snap_test_household_program_registration_id.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_household_program_registration_id.py rename to tests/unit/apps/household/snapshots/snap_test_household_program_registration_id.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_household_query.py b/tests/unit/apps/household/snapshots/snap_test_household_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_household_query.py rename to tests/unit/apps/household/snapshots/snap_test_household_query.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_individual_flag_query.py b/tests/unit/apps/household/snapshots/snap_test_individual_flag_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_individual_flag_query.py rename to tests/unit/apps/household/snapshots/snap_test_individual_flag_query.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_individual_permissions_query.py b/tests/unit/apps/household/snapshots/snap_test_individual_permissions_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_individual_permissions_query.py rename to tests/unit/apps/household/snapshots/snap_test_individual_permissions_query.py diff --git a/backend/hct_mis_api/apps/household/tests/snapshots/snap_test_individual_query.py b/tests/unit/apps/household/snapshots/snap_test_individual_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/snapshots/snap_test_individual_query.py rename to tests/unit/apps/household/snapshots/snap_test_individual_query.py diff --git a/backend/hct_mis_api/apps/household/tests/test_admin.py b/tests/unit/apps/household/test_admin.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_admin.py rename to tests/unit/apps/household/test_admin.py diff --git a/backend/hct_mis_api/apps/household/tests/test_all_household_flex_fields_attributes.py b/tests/unit/apps/household/test_all_household_flex_fields_attributes.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_all_household_flex_fields_attributes.py rename to tests/unit/apps/household/test_all_household_flex_fields_attributes.py diff --git a/backend/hct_mis_api/apps/household/tests/test_all_individuals_flex_fields_attributes.py b/tests/unit/apps/household/test_all_individuals_flex_fields_attributes.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_all_individuals_flex_fields_attributes.py rename to tests/unit/apps/household/test_all_individuals_flex_fields_attributes.py diff --git a/backend/hct_mis_api/apps/household/tests/test_assign_individual_to_rdi.py b/tests/unit/apps/household/test_assign_individual_to_rdi.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_assign_individual_to_rdi.py rename to tests/unit/apps/household/test_assign_individual_to_rdi.py diff --git a/backend/hct_mis_api/apps/household/tests/test_collecting_individual_data.py b/tests/unit/apps/household/test_collecting_individual_data.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_collecting_individual_data.py rename to tests/unit/apps/household/test_collecting_individual_data.py diff --git a/backend/hct_mis_api/apps/household/tests/test_dashboard_queries.py b/tests/unit/apps/household/test_dashboard_queries.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_dashboard_queries.py rename to tests/unit/apps/household/test_dashboard_queries.py diff --git a/backend/hct_mis_api/apps/household/tests/test_detecting_paid_hhs_loaded_via_sf.py b/tests/unit/apps/household/test_detecting_paid_hhs_loaded_via_sf.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_detecting_paid_hhs_loaded_via_sf.py rename to tests/unit/apps/household/test_detecting_paid_hhs_loaded_via_sf.py diff --git a/backend/hct_mis_api/apps/household/tests/test_document_constraint.py b/tests/unit/apps/household/test_document_constraint.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_document_constraint.py rename to tests/unit/apps/household/test_document_constraint.py diff --git a/backend/hct_mis_api/apps/household/tests/test_document_type_model.py b/tests/unit/apps/household/test_document_type_model.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_document_type_model.py rename to tests/unit/apps/household/test_document_type_model.py diff --git a/backend/hct_mis_api/apps/household/tests/test_file/iban_update_invalid_bad_columns.xlsx b/tests/unit/apps/household/test_file/iban_update_invalid_bad_columns.xlsx similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_file/iban_update_invalid_bad_columns.xlsx rename to tests/unit/apps/household/test_file/iban_update_invalid_bad_columns.xlsx diff --git a/backend/hct_mis_api/apps/household/tests/test_file/iban_update_invalid_empty_cell.xlsx b/tests/unit/apps/household/test_file/iban_update_invalid_empty_cell.xlsx similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_file/iban_update_invalid_empty_cell.xlsx rename to tests/unit/apps/household/test_file/iban_update_invalid_empty_cell.xlsx diff --git a/backend/hct_mis_api/apps/household/tests/test_file/iban_update_invalid_file.xlsx b/tests/unit/apps/household/test_file/iban_update_invalid_file.xlsx similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_file/iban_update_invalid_file.xlsx rename to tests/unit/apps/household/test_file/iban_update_invalid_file.xlsx diff --git a/backend/hct_mis_api/apps/household/tests/test_file/iban_update_invalid_no_match.xlsx b/tests/unit/apps/household/test_file/iban_update_invalid_no_match.xlsx similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_file/iban_update_invalid_no_match.xlsx rename to tests/unit/apps/household/test_file/iban_update_invalid_no_match.xlsx diff --git a/backend/hct_mis_api/apps/household/tests/test_file/iban_update_valid.xlsx b/tests/unit/apps/household/test_file/iban_update_valid.xlsx similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_file/iban_update_valid.xlsx rename to tests/unit/apps/household/test_file/iban_update_valid.xlsx diff --git a/backend/hct_mis_api/apps/household/tests/test_file/invalid_updated_test_file.xlsx b/tests/unit/apps/household/test_file/invalid_updated_test_file.xlsx similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_file/invalid_updated_test_file.xlsx rename to tests/unit/apps/household/test_file/invalid_updated_test_file.xlsx diff --git a/backend/hct_mis_api/apps/household/tests/test_file/valid_updated_test_file.xlsx b/tests/unit/apps/household/test_file/valid_updated_test_file.xlsx similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_file/valid_updated_test_file.xlsx rename to tests/unit/apps/household/test_file/valid_updated_test_file.xlsx diff --git a/backend/hct_mis_api/apps/household/tests/test_file/valid_updated_test_file_complex.xlsx b/tests/unit/apps/household/test_file/valid_updated_test_file_complex.xlsx similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_file/valid_updated_test_file_complex.xlsx rename to tests/unit/apps/household/test_file/valid_updated_test_file_complex.xlsx diff --git a/backend/hct_mis_api/apps/household/tests/test_filter_households_by_program.py b/tests/unit/apps/household/test_filter_households_by_program.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_filter_households_by_program.py rename to tests/unit/apps/household/test_filter_households_by_program.py diff --git a/backend/hct_mis_api/apps/household/tests/test_filter_individuals_by_program.py b/tests/unit/apps/household/test_filter_individuals_by_program.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_filter_individuals_by_program.py rename to tests/unit/apps/household/test_filter_individuals_by_program.py diff --git a/backend/hct_mis_api/apps/household/tests/test_fixdocumentsstatus.py b/tests/unit/apps/household/test_fixdocumentsstatus.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_fixdocumentsstatus.py rename to tests/unit/apps/household/test_fixdocumentsstatus.py diff --git a/backend/hct_mis_api/apps/household/tests/test_forms.py b/tests/unit/apps/household/test_forms.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_forms.py rename to tests/unit/apps/household/test_forms.py diff --git a/backend/hct_mis_api/apps/household/tests/test_household_admin.py b/tests/unit/apps/household/test_household_admin.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_household_admin.py rename to tests/unit/apps/household/test_household_admin.py diff --git a/backend/hct_mis_api/apps/household/tests/test_household_area_query.py b/tests/unit/apps/household/test_household_area_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_household_area_query.py rename to tests/unit/apps/household/test_household_area_query.py diff --git a/backend/hct_mis_api/apps/household/tests/test_household_delivered_quantities_query.py b/tests/unit/apps/household/test_household_delivered_quantities_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_household_delivered_quantities_query.py rename to tests/unit/apps/household/test_household_delivered_quantities_query.py diff --git a/backend/hct_mis_api/apps/household/tests/test_household_permissions_query.py b/tests/unit/apps/household/test_household_permissions_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_household_permissions_query.py rename to tests/unit/apps/household/test_household_permissions_query.py diff --git a/backend/hct_mis_api/apps/household/tests/test_household_program_registration_id.py b/tests/unit/apps/household/test_household_program_registration_id.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_household_program_registration_id.py rename to tests/unit/apps/household/test_household_program_registration_id.py diff --git a/backend/hct_mis_api/apps/household/tests/test_household_query.py b/tests/unit/apps/household/test_household_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_household_query.py rename to tests/unit/apps/household/test_household_query.py diff --git a/backend/hct_mis_api/apps/household/tests/test_household_status_endpoint.py b/tests/unit/apps/household/test_household_status_endpoint.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_household_status_endpoint.py rename to tests/unit/apps/household/test_household_status_endpoint.py diff --git a/backend/hct_mis_api/apps/household/tests/test_individual_flag_query.py b/tests/unit/apps/household/test_individual_flag_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_individual_flag_query.py rename to tests/unit/apps/household/test_individual_flag_query.py diff --git a/backend/hct_mis_api/apps/household/tests/test_individual_iban_xlsx_update.py b/tests/unit/apps/household/test_individual_iban_xlsx_update.py similarity index 95% rename from backend/hct_mis_api/apps/household/tests/test_individual_iban_xlsx_update.py rename to tests/unit/apps/household/test_individual_iban_xlsx_update.py index ae206773f9..dcaa66d0e2 100644 --- a/backend/hct_mis_api/apps/household/tests/test_individual_iban_xlsx_update.py +++ b/tests/unit/apps/household/test_individual_iban_xlsx_update.py @@ -32,33 +32,33 @@ def valid_file() -> File: - content = Path(f"{settings.PROJECT_ROOT}/apps/household/tests/test_file/iban_update_valid.xlsx").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/household/test_file/iban_update_valid.xlsx").read_bytes() return File(BytesIO(content), name="iban_update_valid.xlsx") def invalid_file_no_match() -> File: content = Path( - f"{settings.PROJECT_ROOT}/apps/household/tests/test_file/iban_update_invalid_no_match.xlsx" + f"{settings.TESTS_ROOT}/apps/household/test_file/iban_update_invalid_no_match.xlsx" ).read_bytes() return File(BytesIO(content), name="iban_update_invalid_no_match.xlsx") def invalid_file_empty_cell() -> File: content = Path( - f"{settings.PROJECT_ROOT}/apps/household/tests/test_file/iban_update_invalid_empty_cell.xlsx" + f"{settings.TESTS_ROOT}/apps/household/test_file/iban_update_invalid_empty_cell.xlsx" ).read_bytes() return File(BytesIO(content), name="iban_update_invalid_empty_cell.xlsx") def invalid_file_bad_columns() -> File: content = Path( - f"{settings.PROJECT_ROOT}/apps/household/tests/test_file/iban_update_invalid_bad_columns.xlsx" + f"{settings.TESTS_ROOT}/apps/household/test_file/iban_update_invalid_bad_columns.xlsx" ).read_bytes() return File(BytesIO(content), name="iban_update_invalid_bad_columns.xlsx") def invalid_file() -> File: - content = Path(f"{settings.PROJECT_ROOT}/apps/household/tests/test_file/iban_update_invalid_file.xlsx").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/household/test_file/iban_update_invalid_file.xlsx").read_bytes() return File(BytesIO(content), name="iban_update_invalid_file.xlsx") diff --git a/backend/hct_mis_api/apps/household/tests/test_individual_permissions_query.py b/tests/unit/apps/household/test_individual_permissions_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_individual_permissions_query.py rename to tests/unit/apps/household/test_individual_permissions_query.py diff --git a/backend/hct_mis_api/apps/household/tests/test_individual_query.py b/tests/unit/apps/household/test_individual_query.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_individual_query.py rename to tests/unit/apps/household/test_individual_query.py diff --git a/backend/hct_mis_api/apps/household/tests/test_individual_xlsx_update.py b/tests/unit/apps/household/test_individual_xlsx_update.py similarity index 95% rename from backend/hct_mis_api/apps/household/tests/test_individual_xlsx_update.py rename to tests/unit/apps/household/test_individual_xlsx_update.py index 77a7fc9b16..390970ab51 100644 --- a/backend/hct_mis_api/apps/household/tests/test_individual_xlsx_update.py +++ b/tests/unit/apps/household/test_individual_xlsx_update.py @@ -25,20 +25,20 @@ def valid_file() -> File: - content = Path(f"{settings.PROJECT_ROOT}/apps/household/tests/test_file/valid_updated_test_file.xlsx").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/household/test_file/valid_updated_test_file.xlsx").read_bytes() return File(BytesIO(content), name="valid_updated_test_file.xlsx") def valid_file_complex() -> File: content = Path( - f"{settings.PROJECT_ROOT}/apps/household/tests/test_file/valid_updated_test_file_complex.xlsx" + f"{settings.TESTS_ROOT}/apps/household//test_file/valid_updated_test_file_complex.xlsx" ).read_bytes() return File(BytesIO(content), name="valid_updated_test_file_complex.xlsx") def invalid_file() -> File: content = Path( - f"{settings.PROJECT_ROOT}/apps/household/tests/test_file/invalid_updated_test_file.xlsx" + f"{settings.TESTS_ROOT}/apps/household/test_file/invalid_updated_test_file.xlsx" ).read_bytes() return File(BytesIO(content), name="invalid_updated_test_file.xlsx") diff --git a/backend/hct_mis_api/apps/household/tests/test_models.py b/tests/unit/apps/household/test_models.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_models.py rename to tests/unit/apps/household/test_models.py diff --git a/backend/hct_mis_api/apps/household/tests/test_recalculate_data.py b/tests/unit/apps/household/test_recalculate_data.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_recalculate_data.py rename to tests/unit/apps/household/test_recalculate_data.py diff --git a/backend/hct_mis_api/apps/household/tests/test_tasks.py b/tests/unit/apps/household/test_tasks.py similarity index 100% rename from backend/hct_mis_api/apps/household/tests/test_tasks.py rename to tests/unit/apps/household/test_tasks.py diff --git a/backend/hct_mis_api/apps/utils/templatetags/__init__.py b/tests/unit/apps/mis_datahub/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/utils/templatetags/__init__.py rename to tests/unit/apps/mis_datahub/__init__.py diff --git a/backend/hct_mis_api/apps/mis_datahub/tests/test_data_send_tp_to_datahub.py b/tests/unit/apps/mis_datahub/test_data_send_tp_to_datahub.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/tests/test_data_send_tp_to_datahub.py rename to tests/unit/apps/mis_datahub/test_data_send_tp_to_datahub.py diff --git a/backend/hct_mis_api/apps/mis_datahub/tests/test_external_collector_send_tp_to_datahub.py b/tests/unit/apps/mis_datahub/test_external_collector_send_tp_to_datahub.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/tests/test_external_collector_send_tp_to_datahub.py rename to tests/unit/apps/mis_datahub/test_external_collector_send_tp_to_datahub.py diff --git a/backend/hct_mis_api/apps/mis_datahub/tests/test_send_tp_to_datahub.py b/tests/unit/apps/mis_datahub/test_send_tp_to_datahub.py similarity index 100% rename from backend/hct_mis_api/apps/mis_datahub/tests/test_send_tp_to_datahub.py rename to tests/unit/apps/mis_datahub/test_send_tp_to_datahub.py diff --git a/backend/hct_mis_api/apps/utils/tests/__init__.py b/tests/unit/apps/payment/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/utils/tests/__init__.py rename to tests/unit/apps/payment/__init__.py diff --git a/backend/hct_mis_api/apps/web/__init__.py b/tests/unit/apps/payment/services/__init__.py similarity index 100% rename from backend/hct_mis_api/apps/web/__init__.py rename to tests/unit/apps/payment/services/__init__.py diff --git a/backend/hct_mis_api/apps/payment/tests/services/test_dashboard_service.py b/tests/unit/apps/payment/services/test_dashboard_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/services/test_dashboard_service.py rename to tests/unit/apps/payment/services/test_dashboard_service.py diff --git a/backend/hct_mis_api/aurora/__init__.py b/tests/unit/apps/payment/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/aurora/__init__.py rename to tests/unit/apps/payment/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_action_payment_plan_mutation.py b/tests/unit/apps/payment/snapshots/snap_test_action_payment_plan_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_action_payment_plan_mutation.py rename to tests/unit/apps/payment/snapshots/snap_test_action_payment_plan_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_all_payment_plan_queries.py b/tests/unit/apps/payment/snapshots/snap_test_all_payment_plan_queries.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_all_payment_plan_queries.py rename to tests/unit/apps/payment/snapshots/snap_test_all_payment_plan_queries.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_all_payment_records.py b/tests/unit/apps/payment/snapshots/snap_test_all_payment_records.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_all_payment_records.py rename to tests/unit/apps/payment/snapshots/snap_test_all_payment_records.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_chart_total_transferred_cash_by_country.py b/tests/unit/apps/payment/snapshots/snap_test_chart_total_transferred_cash_by_country.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_chart_total_transferred_cash_by_country.py rename to tests/unit/apps/payment/snapshots/snap_test_chart_total_transferred_cash_by_country.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_create_follow_up_payment_plan.py b/tests/unit/apps/payment/snapshots/snap_test_create_follow_up_payment_plan.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_create_follow_up_payment_plan.py rename to tests/unit/apps/payment/snapshots/snap_test_create_follow_up_payment_plan.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_create_payment_verification_mutation.py b/tests/unit/apps/payment/snapshots/snap_test_create_payment_verification_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_create_payment_verification_mutation.py rename to tests/unit/apps/payment/snapshots/snap_test_create_payment_verification_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_dashboard_queries.py b/tests/unit/apps/payment/snapshots/snap_test_dashboard_queries.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_dashboard_queries.py rename to tests/unit/apps/payment/snapshots/snap_test_dashboard_queries.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_delete_verification_mutation.py b/tests/unit/apps/payment/snapshots/snap_test_delete_verification_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_delete_verification_mutation.py rename to tests/unit/apps/payment/snapshots/snap_test_delete_verification_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_delivery_type_choices.py b/tests/unit/apps/payment/snapshots/snap_test_delivery_type_choices.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_delivery_type_choices.py rename to tests/unit/apps/payment/snapshots/snap_test_delivery_type_choices.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_discard_verification_mutation.py b/tests/unit/apps/payment/snapshots/snap_test_discard_verification_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_discard_verification_mutation.py rename to tests/unit/apps/payment/snapshots/snap_test_discard_verification_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_export_pdf_payment_plan_summary.py b/tests/unit/apps/payment/snapshots/snap_test_export_pdf_payment_plan_summary.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_export_pdf_payment_plan_summary.py rename to tests/unit/apps/payment/snapshots/snap_test_export_pdf_payment_plan_summary.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_export_xlsx_verification_mutation.py b/tests/unit/apps/payment/snapshots/snap_test_export_xlsx_verification_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_export_xlsx_verification_mutation.py rename to tests/unit/apps/payment/snapshots/snap_test_export_xlsx_verification_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_finance_service_provider_related_queries.py b/tests/unit/apps/payment/snapshots/snap_test_finance_service_provider_related_queries.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_finance_service_provider_related_queries.py rename to tests/unit/apps/payment/snapshots/snap_test_finance_service_provider_related_queries.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_financial_service_provider.py b/tests/unit/apps/payment/snapshots/snap_test_financial_service_provider.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_financial_service_provider.py rename to tests/unit/apps/payment/snapshots/snap_test_financial_service_provider.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_invalid_xlsx_verification_mutation.py b/tests/unit/apps/payment/snapshots/snap_test_invalid_xlsx_verification_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_invalid_xlsx_verification_mutation.py rename to tests/unit/apps/payment/snapshots/snap_test_invalid_xlsx_verification_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_payment_plan_reconciliation.py b/tests/unit/apps/payment/snapshots/snap_test_payment_plan_reconciliation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_payment_plan_reconciliation.py rename to tests/unit/apps/payment/snapshots/snap_test_payment_plan_reconciliation.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_payment_verification_mutations.py b/tests/unit/apps/payment/snapshots/snap_test_payment_verification_mutations.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_payment_verification_mutations.py rename to tests/unit/apps/payment/snapshots/snap_test_payment_verification_mutations.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_sample_size.py b/tests/unit/apps/payment/snapshots/snap_test_sample_size.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_sample_size.py rename to tests/unit/apps/payment/snapshots/snap_test_sample_size.py diff --git a/backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_split_payment_plan_mutation.py b/tests/unit/apps/payment/snapshots/snap_test_split_payment_plan_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/snapshots/snap_test_split_payment_plan_mutation.py rename to tests/unit/apps/payment/snapshots/snap_test_split_payment_plan_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_action_payment_plan_mutation.py b/tests/unit/apps/payment/test_action_payment_plan_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_action_payment_plan_mutation.py rename to tests/unit/apps/payment/test_action_payment_plan_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_all_payment_plan_queries.py b/tests/unit/apps/payment/test_all_payment_plan_queries.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_all_payment_plan_queries.py rename to tests/unit/apps/payment/test_all_payment_plan_queries.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_all_payment_records.py b/tests/unit/apps/payment/test_all_payment_records.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_all_payment_records.py rename to tests/unit/apps/payment/test_all_payment_records.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_build_snapshot.py b/tests/unit/apps/payment/test_build_snapshot.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_build_snapshot.py rename to tests/unit/apps/payment/test_build_snapshot.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_build_summary.py b/tests/unit/apps/payment/test_build_summary.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_build_summary.py rename to tests/unit/apps/payment/test_build_summary.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_chart_total_transferred_cash_by_country.py b/tests/unit/apps/payment/test_chart_total_transferred_cash_by_country.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_chart_total_transferred_cash_by_country.py rename to tests/unit/apps/payment/test_chart_total_transferred_cash_by_country.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_create_cash_plan_from_reconciliation.py b/tests/unit/apps/payment/test_create_cash_plan_from_reconciliation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_create_cash_plan_from_reconciliation.py rename to tests/unit/apps/payment/test_create_cash_plan_from_reconciliation.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_create_follow_up_payment_plan.py b/tests/unit/apps/payment/test_create_follow_up_payment_plan.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_create_follow_up_payment_plan.py rename to tests/unit/apps/payment/test_create_follow_up_payment_plan.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_create_payment_verification_mutation.py b/tests/unit/apps/payment/test_create_payment_verification_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_create_payment_verification_mutation.py rename to tests/unit/apps/payment/test_create_payment_verification_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_dashboard_queries.py b/tests/unit/apps/payment/test_dashboard_queries.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_dashboard_queries.py rename to tests/unit/apps/payment/test_dashboard_queries.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_delete_verification_mutation.py b/tests/unit/apps/payment/test_delete_verification_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_delete_verification_mutation.py rename to tests/unit/apps/payment/test_delete_verification_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_discard_verification_mutation.py b/tests/unit/apps/payment/test_discard_verification_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_discard_verification_mutation.py rename to tests/unit/apps/payment/test_discard_verification_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_exclude_households.py b/tests/unit/apps/payment/test_exclude_households.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_exclude_households.py rename to tests/unit/apps/payment/test_exclude_households.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_export_pdf_payment_plan_summary.py b/tests/unit/apps/payment/test_export_pdf_payment_plan_summary.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_export_pdf_payment_plan_summary.py rename to tests/unit/apps/payment/test_export_pdf_payment_plan_summary.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_export_xlsx_verification_mutation.py b/tests/unit/apps/payment/test_export_xlsx_verification_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_export_xlsx_verification_mutation.py rename to tests/unit/apps/payment/test_export_xlsx_verification_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/import_file_no_delivery_date.xlsx b/tests/unit/apps/payment/test_file/import_file_no_delivery_date.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/import_file_no_delivery_date.xlsx rename to tests/unit/apps/payment/test_file/import_file_no_delivery_date.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/import_file_one_record.xlsx b/tests/unit/apps/payment/test_file/import_file_one_record.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/import_file_one_record.xlsx rename to tests/unit/apps/payment/test_file/import_file_one_record.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/import_file_protected.xlsx b/tests/unit/apps/payment/test_file/import_file_protected.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/import_file_protected.xlsx rename to tests/unit/apps/payment/test_file/import_file_protected.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/import_file_reference_id.xlsx b/tests/unit/apps/payment/test_file/import_file_reference_id.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/import_file_reference_id.xlsx rename to tests/unit/apps/payment/test_file/import_file_reference_id.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/import_file_with_existing_delivery_date.xlsx b/tests/unit/apps/payment/test_file/import_file_with_existing_delivery_date.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/import_file_with_existing_delivery_date.xlsx rename to tests/unit/apps/payment/test_file/import_file_with_existing_delivery_date.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/pp_payment_list_invalid.xlsx b/tests/unit/apps/payment/test_file/pp_payment_list_invalid.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/pp_payment_list_invalid.xlsx rename to tests/unit/apps/payment/test_file/pp_payment_list_invalid.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/pp_payment_list_unexpected_column.xlsx b/tests/unit/apps/payment/test_file/pp_payment_list_unexpected_column.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/pp_payment_list_unexpected_column.xlsx rename to tests/unit/apps/payment/test_file/pp_payment_list_unexpected_column.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/pp_payment_list_valid.xlsx b/tests/unit/apps/payment/test_file/pp_payment_list_valid.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/pp_payment_list_valid.xlsx rename to tests/unit/apps/payment/test_file/pp_payment_list_valid.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/unordered_columns_1.xlsx b/tests/unit/apps/payment/test_file/unordered_columns_1.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/unordered_columns_1.xlsx rename to tests/unit/apps/payment/test_file/unordered_columns_1.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/unordered_columns_2.xlsx b/tests/unit/apps/payment/test_file/unordered_columns_2.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/unordered_columns_2.xlsx rename to tests/unit/apps/payment/test_file/unordered_columns_2.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_file/unordered_columns_3.xlsx b/tests/unit/apps/payment/test_file/unordered_columns_3.xlsx similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_file/unordered_columns_3.xlsx rename to tests/unit/apps/payment/test_file/unordered_columns_3.xlsx diff --git a/backend/hct_mis_api/apps/payment/tests/test_finance_service_provider_related_queries.py b/tests/unit/apps/payment/test_finance_service_provider_related_queries.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_finance_service_provider_related_queries.py rename to tests/unit/apps/payment/test_finance_service_provider_related_queries.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_financial_service_provider.py b/tests/unit/apps/payment/test_financial_service_provider.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_financial_service_provider.py rename to tests/unit/apps/payment/test_financial_service_provider.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_finish_verification_plan.py b/tests/unit/apps/payment/test_finish_verification_plan.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_finish_verification_plan.py rename to tests/unit/apps/payment/test_finish_verification_plan.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_fixtures.py b/tests/unit/apps/payment/test_fixtures.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_fixtures.py rename to tests/unit/apps/payment/test_fixtures.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_fsp_in_payment_plan.py b/tests/unit/apps/payment/test_fsp_in_payment_plan.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_fsp_in_payment_plan.py rename to tests/unit/apps/payment/test_fsp_in_payment_plan.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_fsp_xlsx_template_get_column_value.py b/tests/unit/apps/payment/test_fsp_xlsx_template_get_column_value.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_fsp_xlsx_template_get_column_value.py rename to tests/unit/apps/payment/test_fsp_xlsx_template_get_column_value.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_import_export_payment_plan_payment_list.py b/tests/unit/apps/payment/test_import_export_payment_plan_payment_list.py similarity index 98% rename from backend/hct_mis_api/apps/payment/tests/test_import_export_payment_plan_payment_list.py rename to tests/unit/apps/payment/test_import_export_payment_plan_payment_list.py index 12bd8f5b2d..e8acd04cc1 100644 --- a/backend/hct_mis_api/apps/payment/tests/test_import_export_payment_plan_payment_list.py +++ b/tests/unit/apps/payment/test_import_export_payment_plan_payment_list.py @@ -63,12 +63,12 @@ def valid_file() -> File: - content = Path(f"{settings.PROJECT_ROOT}/apps/payment/tests/test_file/pp_payment_list_valid.xlsx").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/payment/test_file/pp_payment_list_valid.xlsx").read_bytes() return File(BytesIO(content), name="pp_payment_list_valid.xlsx") def invalid_file() -> File: - content = Path(f"{settings.PROJECT_ROOT}/apps/payment/tests/test_file/pp_payment_list_invalid.xlsx").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/payment/test_file/pp_payment_list_invalid.xlsx").read_bytes() return File(BytesIO(content), name="pp_payment_list_invalid.xlsx") @@ -151,7 +151,7 @@ def test_import_invalid_file(self) -> None: def test_import_invalid_file_with_unexpected_column(self) -> None: error_msg = XlsxError(sheet="Payment Plan - Payment List", coordinates="M3", message="Unexpected value") content = Path( - f"{settings.PROJECT_ROOT}/apps/payment/tests/test_file/pp_payment_list_unexpected_column.xlsx" + f"{settings.TESTS_ROOT}/apps/payment/test_file/pp_payment_list_unexpected_column.xlsx" ).read_bytes() file = BytesIO(content) diff --git a/backend/hct_mis_api/apps/payment/tests/test_import_verifications.py b/tests/unit/apps/payment/test_import_verifications.py similarity index 99% rename from backend/hct_mis_api/apps/payment/tests/test_import_verifications.py rename to tests/unit/apps/payment/test_import_verifications.py index a3f52db41c..720d69a057 100644 --- a/backend/hct_mis_api/apps/payment/tests/test_import_verifications.py +++ b/tests/unit/apps/payment/test_import_verifications.py @@ -405,7 +405,7 @@ def test_validation_of_unordered_columns(self, file_name: str, error_list: List, status=PaymentVerification.STATUS_PENDING, ) - content = Path(f"{settings.PROJECT_ROOT}/apps/payment/tests/test_file/{file_name}.xlsx").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/payment/test_file/{file_name}.xlsx").read_bytes() xlsx_verification_import_service = XlsxVerificationImportService(payment_verification_plan, io.BytesIO(content)) xlsx_verification_import_service.open_workbook() xlsx_verification_import_service.validate() diff --git a/backend/hct_mis_api/apps/payment/tests/test_invalid_xlsx_verification_mutation.py b/tests/unit/apps/payment/test_invalid_xlsx_verification_mutation.py similarity index 96% rename from backend/hct_mis_api/apps/payment/tests/test_invalid_xlsx_verification_mutation.py rename to tests/unit/apps/payment/test_invalid_xlsx_verification_mutation.py index f94d7a7ab0..fe80113c58 100644 --- a/backend/hct_mis_api/apps/payment/tests/test_invalid_xlsx_verification_mutation.py +++ b/tests/unit/apps/payment/test_invalid_xlsx_verification_mutation.py @@ -60,7 +60,7 @@ def setUpTestData(cls) -> None: verification_channel=PaymentVerificationPlan.VERIFICATION_CHANNEL_XLSX, status=PaymentVerificationPlan.STATUS_ACTIVE, ) - cls.content = Path(f"{settings.PROJECT_ROOT}/apps/core/tests/test_files/flex_updated.xls").read_bytes() + cls.content = Path(f"{settings.TESTS_ROOT}/apps/core/test_files/flex_updated.xls").read_bytes() cls.xlsx_file = FileTemp.objects.create( file=File(BytesIO(cls.content), name="flex_updated.xls"), object_id=cls.payment_verification_plan.pk, diff --git a/backend/tests/apps/payments/test_models.py b/tests/unit/apps/payment/test_models.py similarity index 100% rename from backend/tests/apps/payments/test_models.py rename to tests/unit/apps/payment/test_models.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_models.py b/tests/unit/apps/payment/test_models1.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_models.py rename to tests/unit/apps/payment/test_models1.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_payment_gateway_service.py b/tests/unit/apps/payment/test_payment_gateway_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_payment_gateway_service.py rename to tests/unit/apps/payment/test_payment_gateway_service.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_payment_notification.py b/tests/unit/apps/payment/test_payment_notification.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_payment_notification.py rename to tests/unit/apps/payment/test_payment_notification.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_payment_plan_pdf_export_service.py b/tests/unit/apps/payment/test_payment_plan_pdf_export_service.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_payment_plan_pdf_export_service.py rename to tests/unit/apps/payment/test_payment_plan_pdf_export_service.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_payment_plan_reconciliation.py b/tests/unit/apps/payment/test_payment_plan_reconciliation.py similarity index 99% rename from backend/hct_mis_api/apps/payment/tests/test_payment_plan_reconciliation.py rename to tests/unit/apps/payment/test_payment_plan_reconciliation.py index 8fa3dfcdb3..d2f169e2f6 100644 --- a/backend/hct_mis_api/apps/payment/tests/test_payment_plan_reconciliation.py +++ b/tests/unit/apps/payment/test_payment_plan_reconciliation.py @@ -1095,7 +1095,7 @@ def test_error_message_when_engine_rule_not_enabled_or_deprecated(self) -> None: ) def test_follow_up_pp_entitlements_updated_with_file(self) -> None: - content = Path(f"{settings.PROJECT_ROOT}/apps/payment/tests/test_file/pp_payment_list_valid.xlsx").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/payment/test_file/pp_payment_list_valid.xlsx").read_bytes() pp = PaymentPlanFactory(is_follow_up=True, status=PaymentPlan.Status.LOCKED) self.snapshot_graphql_request( @@ -1108,7 +1108,7 @@ def test_follow_up_pp_entitlements_updated_with_file(self) -> None: ) def test_correct_message_displayed_when_file_is_protected(self) -> None: - content = Path(f"{settings.PROJECT_ROOT}/apps/payment/tests/test_file/import_file_protected.xlsx").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/payment/test_file/import_file_protected.xlsx").read_bytes() pp = PaymentPlanFactory(status=PaymentPlan.Status.ACCEPTED) self.snapshot_graphql_request( diff --git a/backend/hct_mis_api/apps/payment/tests/test_payment_plan_services.py b/tests/unit/apps/payment/test_payment_plan_services.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_payment_plan_services.py rename to tests/unit/apps/payment/test_payment_plan_services.py diff --git a/backend/tests/apps/payments/test_payment_plan_views.py b/tests/unit/apps/payment/test_payment_plan_views.py similarity index 100% rename from backend/tests/apps/payments/test_payment_plan_views.py rename to tests/unit/apps/payment/test_payment_plan_views.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_payment_signature.py b/tests/unit/apps/payment/test_payment_signature.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_payment_signature.py rename to tests/unit/apps/payment/test_payment_signature.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_payment_token_and_order_numbers.py b/tests/unit/apps/payment/test_payment_token_and_order_numbers.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_payment_token_and_order_numbers.py rename to tests/unit/apps/payment/test_payment_token_and_order_numbers.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_payment_verification_mutations.py b/tests/unit/apps/payment/test_payment_verification_mutations.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_payment_verification_mutations.py rename to tests/unit/apps/payment/test_payment_verification_mutations.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_rapid_pro_verification_task.py b/tests/unit/apps/payment/test_rapid_pro_verification_task.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_rapid_pro_verification_task.py rename to tests/unit/apps/payment/test_rapid_pro_verification_task.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_recalculating_household_cash_received.py b/tests/unit/apps/payment/test_recalculating_household_cash_received.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_recalculating_household_cash_received.py rename to tests/unit/apps/payment/test_recalculating_household_cash_received.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_sample_size.py b/tests/unit/apps/payment/test_sample_size.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_sample_size.py rename to tests/unit/apps/payment/test_sample_size.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_split_payment_plan_mutation.py b/tests/unit/apps/payment/test_split_payment_plan_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_split_payment_plan_mutation.py rename to tests/unit/apps/payment/test_split_payment_plan_mutation.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_to_decimal.py b/tests/unit/apps/payment/test_to_decimal.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_to_decimal.py rename to tests/unit/apps/payment/test_to_decimal.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_update_payments_signature_in_batch.py b/tests/unit/apps/payment/test_update_payments_signature_in_batch.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_update_payments_signature_in_batch.py rename to tests/unit/apps/payment/test_update_payments_signature_in_batch.py diff --git a/backend/hct_mis_api/apps/payment/tests/test_update_reconciliation_data.py b/tests/unit/apps/payment/test_update_reconciliation_data.py similarity index 95% rename from backend/hct_mis_api/apps/payment/tests/test_update_reconciliation_data.py rename to tests/unit/apps/payment/test_update_reconciliation_data.py index 07d6040cf6..96c90c8cda 100644 --- a/backend/hct_mis_api/apps/payment/tests/test_update_reconciliation_data.py +++ b/tests/unit/apps/payment/test_update_reconciliation_data.py @@ -23,7 +23,7 @@ def file_without_delivery_dates() -> BytesIO: content = Path( - f"{settings.PROJECT_ROOT}/apps/payment/tests/test_file/import_file_no_delivery_date.xlsx" + f"{settings.TESTS_ROOT}/apps/payment/test_file/import_file_no_delivery_date.xlsx" ).read_bytes() file = BytesIO(content) return file @@ -31,20 +31,20 @@ def file_without_delivery_dates() -> BytesIO: def file_with_existing_delivery_dates() -> BytesIO: content = Path( - f"{settings.PROJECT_ROOT}/apps/payment/tests/test_file/import_file_with_existing_delivery_date.xlsx" + f"{settings.TESTS_ROOT}/apps/payment/test_file/import_file_with_existing_delivery_date.xlsx" ).read_bytes() file = BytesIO(content) return file def file_one_record() -> BytesIO: - content = Path(f"{settings.PROJECT_ROOT}/apps/payment/tests/test_file/import_file_one_record.xlsx").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/payment/test_file/import_file_one_record.xlsx").read_bytes() file = BytesIO(content) return file def file_reference_id() -> BytesIO: - content = Path(f"{settings.PROJECT_ROOT}/apps/payment/tests/test_file/import_file_reference_id.xlsx").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/payment/test_file/import_file_reference_id.xlsx").read_bytes() file = BytesIO(content) return file diff --git a/backend/hct_mis_api/apps/payment/tests/test_verification_plan_status_change_services.py b/tests/unit/apps/payment/test_verification_plan_status_change_services.py similarity index 100% rename from backend/hct_mis_api/apps/payment/tests/test_verification_plan_status_change_services.py rename to tests/unit/apps/payment/test_verification_plan_status_change_services.py diff --git a/backend/hct_mis_api/aurora/migrations/__init__.py b/tests/unit/apps/periodic_data_update/__init__.py similarity index 100% rename from backend/hct_mis_api/aurora/migrations/__init__.py rename to tests/unit/apps/periodic_data_update/__init__.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/tests/test_models.py b/tests/unit/apps/periodic_data_update/test_models.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/tests/test_models.py rename to tests/unit/apps/periodic_data_update/test_models.py diff --git a/backend/tests/apps/periodic_data_update/test_periodic_data_field_views.py b/tests/unit/apps/periodic_data_update/test_periodic_data_field_views.py similarity index 100% rename from backend/tests/apps/periodic_data_update/test_periodic_data_field_views.py rename to tests/unit/apps/periodic_data_update/test_periodic_data_field_views.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/tests/test_periodic_data_update_export_template_service.py b/tests/unit/apps/periodic_data_update/test_periodic_data_update_export_template_service.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/tests/test_periodic_data_update_export_template_service.py rename to tests/unit/apps/periodic_data_update/test_periodic_data_update_export_template_service.py diff --git a/backend/hct_mis_api/apps/periodic_data_update/tests/test_periodic_data_update_import_service.py b/tests/unit/apps/periodic_data_update/test_periodic_data_update_import_service.py similarity index 100% rename from backend/hct_mis_api/apps/periodic_data_update/tests/test_periodic_data_update_import_service.py rename to tests/unit/apps/periodic_data_update/test_periodic_data_update_import_service.py diff --git a/backend/tests/apps/periodic_data_update/test_periodic_data_update_template_views.py b/tests/unit/apps/periodic_data_update/test_periodic_data_update_template_views.py similarity index 100% rename from backend/tests/apps/periodic_data_update/test_periodic_data_update_template_views.py rename to tests/unit/apps/periodic_data_update/test_periodic_data_update_template_views.py diff --git a/backend/tests/apps/periodic_data_update/test_periodic_data_update_upload_views.py b/tests/unit/apps/periodic_data_update/test_periodic_data_update_upload_views.py similarity index 99% rename from backend/tests/apps/periodic_data_update/test_periodic_data_update_upload_views.py rename to tests/unit/apps/periodic_data_update/test_periodic_data_update_upload_views.py index 52031ba08b..9944edd76a 100644 --- a/backend/tests/apps/periodic_data_update/test_periodic_data_update_upload_views.py +++ b/tests/unit/apps/periodic_data_update/test_periodic_data_update_upload_views.py @@ -31,7 +31,7 @@ from hct_mis_api.apps.periodic_data_update.service.periodic_data_update_export_template_service import ( PeriodicDataUpdateExportTemplateService, ) -from hct_mis_api.apps.periodic_data_update.tests.test_periodic_data_update_import_service import ( +from tests.unit.apps.periodic_data_update.test_periodic_data_update_import_service import ( add_pdu_data_to_xlsx, ) from hct_mis_api.apps.periodic_data_update.utils import populate_pdu_with_null_values diff --git a/backend/tests/apps/periodic_data_update/test_remove_old_pdu_template_files_task.py b/tests/unit/apps/periodic_data_update/test_remove_old_pdu_template_files_task.py similarity index 100% rename from backend/tests/apps/periodic_data_update/test_remove_old_pdu_template_files_task.py rename to tests/unit/apps/periodic_data_update/test_remove_old_pdu_template_files_task.py diff --git a/backend/hct_mis_api/aurora/services/__init__.py b/tests/unit/apps/program/__init__.py similarity index 100% rename from backend/hct_mis_api/aurora/services/__init__.py rename to tests/unit/apps/program/__init__.py diff --git a/backend/hct_mis_api/config/__init__.py b/tests/unit/apps/program/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/config/__init__.py rename to tests/unit/apps/program/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_all_programs_query.py b/tests/unit/apps/program/snapshots/snap_test_all_programs_query.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_all_programs_query.py rename to tests/unit/apps/program/snapshots/snap_test_all_programs_query.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_cash_plan_choices.py b/tests/unit/apps/program/snapshots/snap_test_cash_plan_choices.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_cash_plan_choices.py rename to tests/unit/apps/program/snapshots/snap_test_cash_plan_choices.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_cash_plan_queries.py b/tests/unit/apps/program/snapshots/snap_test_cash_plan_queries.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_cash_plan_queries.py rename to tests/unit/apps/program/snapshots/snap_test_cash_plan_queries.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_change_program_status.py b/tests/unit/apps/program/snapshots/snap_test_change_program_status.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_change_program_status.py rename to tests/unit/apps/program/snapshots/snap_test_change_program_status.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_copy_program.py b/tests/unit/apps/program/snapshots/snap_test_copy_program.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_copy_program.py rename to tests/unit/apps/program/snapshots/snap_test_copy_program.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_create_cash_plan.py b/tests/unit/apps/program/snapshots/snap_test_create_cash_plan.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_create_cash_plan.py rename to tests/unit/apps/program/snapshots/snap_test_create_cash_plan.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_create_program.py b/tests/unit/apps/program/snapshots/snap_test_create_program.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_create_program.py rename to tests/unit/apps/program/snapshots/snap_test_create_program.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_dashboard_queries.py b/tests/unit/apps/program/snapshots/snap_test_dashboard_queries.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_dashboard_queries.py rename to tests/unit/apps/program/snapshots/snap_test_dashboard_queries.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_delete_cash_plan.py b/tests/unit/apps/program/snapshots/snap_test_delete_cash_plan.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_delete_cash_plan.py rename to tests/unit/apps/program/snapshots/snap_test_delete_cash_plan.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_delete_program.py b/tests/unit/apps/program/snapshots/snap_test_delete_program.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_delete_program.py rename to tests/unit/apps/program/snapshots/snap_test_delete_program.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_program_choices.py b/tests/unit/apps/program/snapshots/snap_test_program_choices.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_program_choices.py rename to tests/unit/apps/program/snapshots/snap_test_program_choices.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_program_query.py b/tests/unit/apps/program/snapshots/snap_test_program_query.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_program_query.py rename to tests/unit/apps/program/snapshots/snap_test_program_query.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_update_cash_plan.py b/tests/unit/apps/program/snapshots/snap_test_update_cash_plan.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_update_cash_plan.py rename to tests/unit/apps/program/snapshots/snap_test_update_cash_plan.py diff --git a/backend/hct_mis_api/apps/program/tests/snapshots/snap_test_update_program.py b/tests/unit/apps/program/snapshots/snap_test_update_program.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/snapshots/snap_test_update_program.py rename to tests/unit/apps/program/snapshots/snap_test_update_program.py diff --git a/backend/hct_mis_api/apps/program/tests/test_all_programs_query.py b/tests/unit/apps/program/test_all_programs_query.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_all_programs_query.py rename to tests/unit/apps/program/test_all_programs_query.py diff --git a/backend/hct_mis_api/apps/program/tests/test_cash_plan_choices.py b/tests/unit/apps/program/test_cash_plan_choices.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_cash_plan_choices.py rename to tests/unit/apps/program/test_cash_plan_choices.py diff --git a/backend/hct_mis_api/apps/program/tests/test_cash_plan_queries.py b/tests/unit/apps/program/test_cash_plan_queries.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_cash_plan_queries.py rename to tests/unit/apps/program/test_cash_plan_queries.py diff --git a/backend/hct_mis_api/apps/program/tests/test_change_program_status.py b/tests/unit/apps/program/test_change_program_status.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_change_program_status.py rename to tests/unit/apps/program/test_change_program_status.py diff --git a/backend/hct_mis_api/apps/program/tests/test_copy_program.py b/tests/unit/apps/program/test_copy_program.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_copy_program.py rename to tests/unit/apps/program/test_copy_program.py diff --git a/backend/hct_mis_api/apps/program/tests/test_create_program.py b/tests/unit/apps/program/test_create_program.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_create_program.py rename to tests/unit/apps/program/test_create_program.py diff --git a/backend/hct_mis_api/apps/program/tests/test_dashboard_queries.py b/tests/unit/apps/program/test_dashboard_queries.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_dashboard_queries.py rename to tests/unit/apps/program/test_dashboard_queries.py diff --git a/backend/hct_mis_api/apps/program/tests/test_delete_program.py b/tests/unit/apps/program/test_delete_program.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_delete_program.py rename to tests/unit/apps/program/test_delete_program.py diff --git a/backend/hct_mis_api/apps/program/tests/test_program_choices.py b/tests/unit/apps/program/test_program_choices.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_program_choices.py rename to tests/unit/apps/program/test_program_choices.py diff --git a/backend/hct_mis_api/apps/program/tests/test_program_cycle.py b/tests/unit/apps/program/test_program_cycle.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_program_cycle.py rename to tests/unit/apps/program/test_program_cycle.py diff --git a/backend/hct_mis_api/apps/program/tests/test_program_cycle_rest_api.py b/tests/unit/apps/program/test_program_cycle_rest_api.py similarity index 99% rename from backend/hct_mis_api/apps/program/tests/test_program_cycle_rest_api.py rename to tests/unit/apps/program/test_program_cycle_rest_api.py index 4c6636924b..2c093798aa 100644 --- a/backend/hct_mis_api/apps/program/tests/test_program_cycle_rest_api.py +++ b/tests/unit/apps/program/test_program_cycle_rest_api.py @@ -11,7 +11,7 @@ from rest_framework.exceptions import ValidationError from rest_framework.test import APIClient, APIRequestFactory -from hct_mis_api.api.tests.base import HOPEApiTestCase +from tests.unit.api.base import HOPEApiTestCase from hct_mis_api.apps.account.fixtures import ( BusinessAreaFactory, PartnerFactory, diff --git a/backend/hct_mis_api/apps/program/tests/test_program_query.py b/tests/unit/apps/program/test_program_query.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_program_query.py rename to tests/unit/apps/program/test_program_query.py diff --git a/backend/hct_mis_api/apps/program/tests/test_program_utils.py b/tests/unit/apps/program/test_program_utils.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_program_utils.py rename to tests/unit/apps/program/test_program_utils.py diff --git a/backend/hct_mis_api/apps/program/tests/test_signal_partner_access_change.py b/tests/unit/apps/program/test_signal_partner_access_change.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_signal_partner_access_change.py rename to tests/unit/apps/program/test_signal_partner_access_change.py diff --git a/backend/hct_mis_api/apps/program/tests/test_signal_partner_full_area_access_flag.py b/tests/unit/apps/program/test_signal_partner_full_area_access_flag.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_signal_partner_full_area_access_flag.py rename to tests/unit/apps/program/test_signal_partner_full_area_access_flag.py diff --git a/backend/hct_mis_api/apps/program/tests/test_update_program.py b/tests/unit/apps/program/test_update_program.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_update_program.py rename to tests/unit/apps/program/test_update_program.py diff --git a/backend/hct_mis_api/apps/program/tests/test_validators.py b/tests/unit/apps/program/test_validators.py similarity index 100% rename from backend/hct_mis_api/apps/program/tests/test_validators.py rename to tests/unit/apps/program/test_validators.py diff --git a/backend/hct_mis_api/config/fragments/__init__.py b/tests/unit/apps/registration_data/__init__.py similarity index 100% rename from backend/hct_mis_api/config/fragments/__init__.py rename to tests/unit/apps/registration_data/__init__.py diff --git a/backend/hct_mis_api/libs/__init__.py b/tests/unit/apps/registration_data/services/__init__.py similarity index 100% rename from backend/hct_mis_api/libs/__init__.py rename to tests/unit/apps/registration_data/services/__init__.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/services/test_mark_submissions.py b/tests/unit/apps/registration_data/services/test_mark_submissions.py similarity index 96% rename from backend/hct_mis_api/apps/registration_data/tests/services/test_mark_submissions.py rename to tests/unit/apps/registration_data/services/test_mark_submissions.py index 272c59d413..58390d3206 100644 --- a/backend/hct_mis_api/apps/registration_data/tests/services/test_mark_submissions.py +++ b/tests/unit/apps/registration_data/services/test_mark_submissions.py @@ -47,7 +47,7 @@ def _create_submission_with_merged_rdi(cls) -> None: @classmethod def _create_submission(cls, status: str) -> None: content = Path( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/kobo_submissions.json" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/kobo_submissions.json" ).read_bytes() file = File(BytesIO(content), name="kobo_submissions.json") import_data = ImportData.objects.create( diff --git a/backend/hct_mis_api/libs/power_query/__init__.py b/tests/unit/apps/registration_data/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/libs/power_query/__init__.py rename to tests/unit/apps/registration_data/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/snapshots/snap_test_create_reg_dat_import.py b/tests/unit/apps/registration_data/snapshots/snap_test_create_reg_dat_import.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/snapshots/snap_test_create_reg_dat_import.py rename to tests/unit/apps/registration_data/snapshots/snap_test_create_reg_dat_import.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/snapshots/snap_test_delete_reg_dat_import.py b/tests/unit/apps/registration_data/snapshots/snap_test_delete_reg_dat_import.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/snapshots/snap_test_delete_reg_dat_import.py rename to tests/unit/apps/registration_data/snapshots/snap_test_delete_reg_dat_import.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/snapshots/snap_test_registration_data_import_query.py b/tests/unit/apps/registration_data/snapshots/snap_test_registration_data_import_query.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/snapshots/snap_test_registration_data_import_query.py rename to tests/unit/apps/registration_data/snapshots/snap_test_registration_data_import_query.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/snapshots/snap_test_update_reg_dat_import.py b/tests/unit/apps/registration_data/snapshots/snap_test_update_reg_dat_import.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/snapshots/snap_test_update_reg_dat_import.py rename to tests/unit/apps/registration_data/snapshots/snap_test_update_reg_dat_import.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/test_admin.py b/tests/unit/apps/registration_data/test_admin.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/test_admin.py rename to tests/unit/apps/registration_data/test_admin.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/test_models.py b/tests/unit/apps/registration_data/test_models.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/test_models.py rename to tests/unit/apps/registration_data/test_models.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/test_registration_data_import_query.py b/tests/unit/apps/registration_data/test_registration_data_import_query.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/test_registration_data_import_query.py rename to tests/unit/apps/registration_data/test_registration_data_import_query.py diff --git a/backend/hct_mis_api/apps/registration_data/tests/test_rest_api.py b/tests/unit/apps/registration_data/test_rest_api.py similarity index 98% rename from backend/hct_mis_api/apps/registration_data/tests/test_rest_api.py rename to tests/unit/apps/registration_data/test_rest_api.py index 84a87d13f9..8a32e1e31a 100644 --- a/backend/hct_mis_api/apps/registration_data/tests/test_rest_api.py +++ b/tests/unit/apps/registration_data/test_rest_api.py @@ -6,7 +6,7 @@ from rest_framework import status from rest_framework.test import APIClient, APIRequestFactory -from hct_mis_api.api.tests.base import HOPEApiTestCase +from tests.unit.api.base import HOPEApiTestCase from hct_mis_api.apps.account.fixtures import PartnerFactory, UserFactory from hct_mis_api.apps.account.models import Role, UserRole from hct_mis_api.apps.account.permissions import Permissions diff --git a/backend/hct_mis_api/apps/registration_data/tests/test_template_file_generator.py b/tests/unit/apps/registration_data/test_template_file_generator.py similarity index 100% rename from backend/hct_mis_api/apps/registration_data/tests/test_template_file_generator.py rename to tests/unit/apps/registration_data/test_template_file_generator.py diff --git a/backend/hct_mis_api/libs/power_query/management/__init__.py b/tests/unit/apps/registration_data_import/__init__.py similarity index 100% rename from backend/hct_mis_api/libs/power_query/management/__init__.py rename to tests/unit/apps/registration_data_import/__init__.py diff --git a/backend/tests/apps/registration_data_import/test_registration_data_import_views.py b/tests/unit/apps/registration_data_import/test_registration_data_import_views.py similarity index 100% rename from backend/tests/apps/registration_data_import/test_registration_data_import_views.py rename to tests/unit/apps/registration_data_import/test_registration_data_import_views.py diff --git a/backend/hct_mis_api/libs/power_query/management/commands/__init__.py b/tests/unit/apps/registration_datahub/__init__.py similarity index 100% rename from backend/hct_mis_api/libs/power_query/management/commands/__init__.py rename to tests/unit/apps/registration_datahub/__init__.py diff --git a/backend/hct_mis_api/libs/power_query/tests/__init__.py b/tests/unit/apps/registration_datahub/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/libs/power_query/tests/__init__.py rename to tests/unit/apps/registration_datahub/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_imported_household_query.py b/tests/unit/apps/registration_datahub/snapshots/snap_test_imported_household_query.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_imported_household_query.py rename to tests/unit/apps/registration_datahub/snapshots/snap_test_imported_household_query.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_imported_individuals_query.py b/tests/unit/apps/registration_datahub/snapshots/snap_test_imported_individuals_query.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_imported_individuals_query.py rename to tests/unit/apps/registration_datahub/snapshots/snap_test_imported_individuals_query.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_refuse_rdi_mutation.py b/tests/unit/apps/registration_datahub/snapshots/snap_test_refuse_rdi_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_refuse_rdi_mutation.py rename to tests/unit/apps/registration_datahub/snapshots/snap_test_refuse_rdi_mutation.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_registration_data_import_datahub_mutations.py b/tests/unit/apps/registration_datahub/snapshots/snap_test_registration_data_import_datahub_mutations.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_registration_data_import_datahub_mutations.py rename to tests/unit/apps/registration_datahub/snapshots/snap_test_registration_data_import_datahub_mutations.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_registration_data_import_datahub_query.py b/tests/unit/apps/registration_datahub/snapshots/snap_test_registration_data_import_datahub_query.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_registration_data_import_datahub_query.py rename to tests/unit/apps/registration_datahub/snapshots/snap_test_registration_data_import_datahub_query.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_registration_data_import_program_population_mutation.py b/tests/unit/apps/registration_datahub/snapshots/snap_test_registration_data_import_program_population_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/snapshots/snap_test_registration_data_import_program_population_mutation.py rename to tests/unit/apps/registration_datahub/snapshots/snap_test_registration_data_import_program_population_mutation.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_biometric_deduplication_service.py b/tests/unit/apps/registration_datahub/test_biometric_deduplication_service.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_biometric_deduplication_service.py rename to tests/unit/apps/registration_datahub/test_biometric_deduplication_service.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_celery_tasks.py b/tests/unit/apps/registration_datahub/test_celery_tasks.py similarity index 99% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_celery_tasks.py rename to tests/unit/apps/registration_datahub/test_celery_tasks.py index 81785a7e30..dd516ca871 100644 --- a/backend/hct_mis_api/apps/registration_datahub/tests/test_celery_tasks.py +++ b/tests/unit/apps/registration_datahub/test_celery_tasks.py @@ -459,7 +459,7 @@ def create_record(fields: Dict, registration: int, status: str, files: Optional[Dict] = None) -> Any: # Record # based on backend/hct_mis_api/apps/registration_datahub/tests/test_extract_records.py - content = Path(f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/image.jpeg").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/image.jpeg").read_bytes() # need files for each Individual files = files or { diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_clean_old_record_files_task.py b/tests/unit/apps/registration_datahub/test_clean_old_record_files_task.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_clean_old_record_files_task.py rename to tests/unit/apps/registration_datahub/test_clean_old_record_files_task.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_czech_republic_registration_service.py b/tests/unit/apps/registration_datahub/test_czech_republic_registration_service.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_czech_republic_registration_service.py rename to tests/unit/apps/registration_datahub/test_czech_republic_registration_service.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_deduplication.py b/tests/unit/apps/registration_datahub/test_deduplication.py similarity index 99% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_deduplication.py rename to tests/unit/apps/registration_datahub/test_deduplication.py index c2ef80ad47..56a6bceb7b 100644 --- a/backend/hct_mis_api/apps/registration_datahub/tests/test_deduplication.py +++ b/tests/unit/apps/registration_datahub/test_deduplication.py @@ -31,7 +31,7 @@ rebuild_search_index, ) from hct_mis_api.apps.utils.querysets import evaluate_qs -from hct_mis_api.conftest import disabled_locally_test +from tests.unit.conftest import disabled_locally_test pytestmark = pytest.mark.usefixtures("django_elasticsearch_setup") diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_deduplication_engine_api.py b/tests/unit/apps/registration_datahub/test_deduplication_engine_api.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_deduplication_engine_api.py rename to tests/unit/apps/registration_datahub/test_deduplication_engine_api.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_erase_rdi_mutation.py b/tests/unit/apps/registration_datahub/test_erase_rdi_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_erase_rdi_mutation.py rename to tests/unit/apps/registration_datahub/test_erase_rdi_mutation.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_extract_records.py b/tests/unit/apps/registration_datahub/test_extract_records.py similarity index 97% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_extract_records.py rename to tests/unit/apps/registration_datahub/test_extract_records.py index d537c156d8..a995c97509 100644 --- a/backend/hct_mis_api/apps/registration_datahub/tests/test_extract_records.py +++ b/tests/unit/apps/registration_datahub/test_extract_records.py @@ -14,7 +14,7 @@ class TestExtractRecords(TestCase): @classmethod def setUpTestData(cls) -> None: super().setUpTestData() - content = Path(f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/image.jpeg").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/image.jpeg").read_bytes() fields = { "household": [ diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/empty_rdi.xlsx b/tests/unit/apps/registration_datahub/test_file/empty_rdi.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/empty_rdi.xlsx rename to tests/unit/apps/registration_datahub/test_file/empty_rdi.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/error-xlsx.xlsx b/tests/unit/apps/registration_datahub/test_file/error-xlsx.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/error-xlsx.xlsx rename to tests/unit/apps/registration_datahub/test_file/error-xlsx.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/image.jpeg b/tests/unit/apps/registration_datahub/test_file/image.jpeg similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/image.jpeg rename to tests/unit/apps/registration_datahub/test_file/image.jpeg diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/image.png b/tests/unit/apps/registration_datahub/test_file/image.png similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/image.png rename to tests/unit/apps/registration_datahub/test_file/image.png diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/invalid_area.xlsx b/tests/unit/apps/registration_datahub/test_file/invalid_area.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/invalid_area.xlsx rename to tests/unit/apps/registration_datahub/test_file/invalid_area.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/invalid_cols.xlsx b/tests/unit/apps/registration_datahub/test_file/invalid_cols.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/invalid_cols.xlsx rename to tests/unit/apps/registration_datahub/test_file/invalid_cols.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/invalid_rows.xlsx b/tests/unit/apps/registration_datahub/test_file/invalid_rows.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/invalid_rows.xlsx rename to tests/unit/apps/registration_datahub/test_file/invalid_rows.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/kobo_submissions.json b/tests/unit/apps/registration_datahub/test_file/kobo_submissions.json similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/kobo_submissions.json rename to tests/unit/apps/registration_datahub/test_file/kobo_submissions.json diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/kobo_submissions_collectors.json b/tests/unit/apps/registration_datahub/test_file/kobo_submissions_collectors.json similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/kobo_submissions_collectors.json rename to tests/unit/apps/registration_datahub/test_file/kobo_submissions_collectors.json diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/my_file copy4_ext.xlsx b/tests/unit/apps/registration_datahub/test_file/my_file copy4_ext.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/my_file copy4_ext.xlsx rename to tests/unit/apps/registration_datahub/test_file/my_file copy4_ext.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/new_reg_data_import.xlsx b/tests/unit/apps/registration_datahub/test_file/new_reg_data_import.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/new_reg_data_import.xlsx rename to tests/unit/apps/registration_datahub/test_file/new_reg_data_import.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/new_reg_data_import_flex_field.xlsx b/tests/unit/apps/registration_datahub/test_file/new_reg_data_import_flex_field.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/new_reg_data_import_flex_field.xlsx rename to tests/unit/apps/registration_datahub/test_file/new_reg_data_import_flex_field.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/not_excel_file.xlsx b/tests/unit/apps/registration_datahub/test_file/not_excel_file.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/not_excel_file.xlsx rename to tests/unit/apps/registration_datahub/test_file/not_excel_file.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/rdi_import_1_hh_10_people_missing_required_delivery_fields.xlsx b/tests/unit/apps/registration_datahub/test_file/rdi_import_1_hh_10_people_missing_required_delivery_fields.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/rdi_import_1_hh_10_people_missing_required_delivery_fields.xlsx rename to tests/unit/apps/registration_datahub/test_file/rdi_import_1_hh_10_people_missing_required_delivery_fields.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/rdi_import_3_hh_missing_required_delivery_fields.xlsx b/tests/unit/apps/registration_datahub/test_file/rdi_import_3_hh_missing_required_delivery_fields.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/rdi_import_3_hh_missing_required_delivery_fields.xlsx rename to tests/unit/apps/registration_datahub/test_file/rdi_import_3_hh_missing_required_delivery_fields.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/rdi_people_test.xlsx b/tests/unit/apps/registration_datahub/test_file/rdi_people_test.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/rdi_people_test.xlsx rename to tests/unit/apps/registration_datahub/test_file/rdi_people_test.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/rdi_people_test_invalid.xlsx b/tests/unit/apps/registration_datahub/test_file/rdi_people_test_invalid.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/rdi_people_test_invalid.xlsx rename to tests/unit/apps/registration_datahub/test_file/rdi_people_test_invalid.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/test_calculate_hash_for_kobo_submission1.json b/tests/unit/apps/registration_datahub/test_file/test_calculate_hash_for_kobo_submission1.json similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/test_calculate_hash_for_kobo_submission1.json rename to tests/unit/apps/registration_datahub/test_file/test_calculate_hash_for_kobo_submission1.json diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/test_calculate_hash_for_kobo_submission2.json b/tests/unit/apps/registration_datahub/test_file/test_calculate_hash_for_kobo_submission2.json similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/test_calculate_hash_for_kobo_submission2.json rename to tests/unit/apps/registration_datahub/test_file/test_calculate_hash_for_kobo_submission2.json diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/test_calculate_hash_for_kobo_submission3.json b/tests/unit/apps/registration_datahub/test_file/test_calculate_hash_for_kobo_submission3.json similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/test_calculate_hash_for_kobo_submission3.json rename to tests/unit/apps/registration_datahub/test_file/test_calculate_hash_for_kobo_submission3.json diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/test_collectors.xlsx b/tests/unit/apps/registration_datahub/test_file/test_collectors.xlsx similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/test_collectors.xlsx rename to tests/unit/apps/registration_datahub/test_file/test_collectors.xlsx diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_file/ukrainian_registration_test_data.json b/tests/unit/apps/registration_datahub/test_file/ukrainian_registration_test_data.json similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_file/ukrainian_registration_test_data.json rename to tests/unit/apps/registration_datahub/test_file/ukrainian_registration_test_data.json diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_generic_registration_service.py b/tests/unit/apps/registration_datahub/test_generic_registration_service.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_generic_registration_service.py rename to tests/unit/apps/registration_datahub/test_generic_registration_service.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_handling_documents_duplicates.py b/tests/unit/apps/registration_datahub/test_handling_documents_duplicates.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_handling_documents_duplicates.py rename to tests/unit/apps/registration_datahub/test_handling_documents_duplicates.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_imported_household_query.py b/tests/unit/apps/registration_datahub/test_imported_household_query.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_imported_household_query.py rename to tests/unit/apps/registration_datahub/test_imported_household_query.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_imported_individuals_query.py b/tests/unit/apps/registration_datahub/test_imported_individuals_query.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_imported_individuals_query.py rename to tests/unit/apps/registration_datahub/test_imported_individuals_query.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_kobo_validators_methods.py b/tests/unit/apps/registration_datahub/test_kobo_validators_methods.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_kobo_validators_methods.py rename to tests/unit/apps/registration_datahub/test_kobo_validators_methods.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_locked_cache.py b/tests/unit/apps/registration_datahub/test_locked_cache.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_locked_cache.py rename to tests/unit/apps/registration_datahub/test_locked_cache.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_program_population_to_pending_objects.py b/tests/unit/apps/registration_datahub/test_program_population_to_pending_objects.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_program_population_to_pending_objects.py rename to tests/unit/apps/registration_datahub/test_program_population_to_pending_objects.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_kobo_create.py b/tests/unit/apps/registration_datahub/test_rdi_kobo_create.py similarity index 98% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_kobo_create.py rename to tests/unit/apps/registration_datahub/test_rdi_kobo_create.py index 4789391f50..30844c4078 100644 --- a/backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_kobo_create.py +++ b/tests/unit/apps/registration_datahub/test_rdi_kobo_create.py @@ -43,7 +43,7 @@ class TestRdiKoboCreateTask(TestCase): @staticmethod def _return_test_image(*args: Any, **kwargs: Any) -> BytesIO: return BytesIO( - Path(f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/image.png").read_bytes() + Path(f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/image.png").read_bytes() ) @classmethod @@ -63,7 +63,7 @@ def setUpTestData(cls) -> None: DocumentType.objects.bulk_create(document_types, ignore_conflicts=True) content = Path( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/kobo_submissions.json" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/kobo_submissions.json" ).read_bytes() file = File(BytesIO(content), name="kobo_submissions.json") cls.import_data = ImportData.objects.create( @@ -73,7 +73,7 @@ def setUpTestData(cls) -> None: ) content = Path( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/kobo_submissions_collectors.json" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/kobo_submissions_collectors.json" ).read_bytes() file = File(BytesIO(content), name="kobo_submissions_collectors.json") cls.import_data_collectors = ImportData.objects.create( @@ -536,7 +536,7 @@ def _generate_huge_file(self) -> None: result.append(copy) with open( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/big_json.json", + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/big_json.json", "w+", ) as json_file: json_file.write(json.dumps(result)) diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_merge.py b/tests/unit/apps/registration_datahub/test_rdi_merge.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_merge.py rename to tests/unit/apps/registration_datahub/test_rdi_merge.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_people_create.py b/tests/unit/apps/registration_datahub/test_rdi_people_create.py similarity index 98% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_people_create.py rename to tests/unit/apps/registration_datahub/test_rdi_people_create.py index eaad16c6c1..5894aa706a 100644 --- a/backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_people_create.py +++ b/tests/unit/apps/registration_datahub/test_rdi_people_create.py @@ -44,7 +44,7 @@ def setUpTestData(cls) -> None: super().setUpTestData() PartnerFactory(name="UNHCR") content = Path( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/rdi_people_test.xlsx" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/rdi_people_test.xlsx" ).read_bytes() file = File(BytesIO(content), name="rdi_people_test.xlsx") cls.business_area = create_afghanistan() diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_xlsx_create.py b/tests/unit/apps/registration_datahub/test_rdi_xlsx_create.py similarity index 98% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_xlsx_create.py rename to tests/unit/apps/registration_datahub/test_rdi_xlsx_create.py index 72ba857fde..937de2ab72 100644 --- a/backend/hct_mis_api/apps/registration_datahub/tests/test_rdi_xlsx_create.py +++ b/tests/unit/apps/registration_datahub/test_rdi_xlsx_create.py @@ -59,7 +59,7 @@ def create_document_image() -> File: - content = Path(f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/image.png").read_bytes() + content = Path(f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/image.png").read_bytes() return File(BytesIO(content), name="image.png") @@ -98,7 +98,7 @@ def setUpTestData(cls) -> None: associated_with=FlexibleAttribute.ASSOCIATED_WITH_INDIVIDUAL, ) content = Path( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/new_reg_data_import.xlsx" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/new_reg_data_import.xlsx" ).read_bytes() file = File(BytesIO(content), name="new_reg_data_import.xlsx") business_area = create_afghanistan() @@ -235,7 +235,7 @@ def test_execute_with_postpone_deduplication(self) -> None: def test_execute_with_flex_field_and_pdu(self) -> None: content = Path( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/new_reg_data_import_flex_field.xlsx" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/new_reg_data_import_flex_field.xlsx" ).read_bytes() file = File(BytesIO(content), name="new_reg_data_import_flex_field.xlsx") diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_refuse_rdi_mutation.py b/tests/unit/apps/registration_datahub/test_refuse_rdi_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_refuse_rdi_mutation.py rename to tests/unit/apps/registration_datahub/test_refuse_rdi_mutation.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_registration_data_import_datahub_mutations.py b/tests/unit/apps/registration_datahub/test_registration_data_import_datahub_mutations.py similarity index 97% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_registration_data_import_datahub_mutations.py rename to tests/unit/apps/registration_datahub/test_registration_data_import_datahub_mutations.py index 54f360c5a8..409ea82881 100644 --- a/backend/hct_mis_api/apps/registration_datahub/tests/test_registration_data_import_datahub_mutations.py +++ b/tests/unit/apps/registration_datahub/test_registration_data_import_datahub_mutations.py @@ -143,10 +143,10 @@ def setUpTestData(cls) -> None: ) xlsx_valid_file_path = ( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/new_reg_data_import.xlsx" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/new_reg_data_import.xlsx" ) - xlsx_invalid_file_path = f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/rdi_import_3_hh_missing_required_delivery_fields.xlsx" + xlsx_invalid_file_path = f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/rdi_import_3_hh_missing_required_delivery_fields.xlsx" with open(xlsx_valid_file_path, "rb") as file: cls.valid_file = SimpleUploadedFile(file.name, file.read()) diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_registration_data_import_datahub_query.py b/tests/unit/apps/registration_datahub/test_registration_data_import_datahub_query.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_registration_data_import_datahub_query.py rename to tests/unit/apps/registration_datahub/test_registration_data_import_datahub_query.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_registration_data_import_program_population_mutation.py b/tests/unit/apps/registration_datahub/test_registration_data_import_program_population_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_registration_data_import_program_population_mutation.py rename to tests/unit/apps/registration_datahub/test_registration_data_import_program_population_mutation.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_registration_program_population_import_task.py b/tests/unit/apps/registration_datahub/test_registration_program_population_import_task.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_registration_program_population_import_task.py rename to tests/unit/apps/registration_datahub/test_registration_program_population_import_task.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_registration_xlsx_import_task.py b/tests/unit/apps/registration_datahub/test_registration_xlsx_import_task.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_registration_xlsx_import_task.py rename to tests/unit/apps/registration_datahub/test_registration_xlsx_import_task.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_sri_lanka_registration_service.py b/tests/unit/apps/registration_datahub/test_sri_lanka_registration_service.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_sri_lanka_registration_service.py rename to tests/unit/apps/registration_datahub/test_sri_lanka_registration_service.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_ukrainian_registration_service.py b/tests/unit/apps/registration_datahub/test_ukrainian_registration_service.py similarity index 100% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_ukrainian_registration_service.py rename to tests/unit/apps/registration_datahub/test_ukrainian_registration_service.py diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_utils.py b/tests/unit/apps/registration_datahub/test_utils.py similarity index 66% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_utils.py rename to tests/unit/apps/registration_datahub/test_utils.py index fa458a9f0e..b9a66ea7e6 100644 --- a/backend/hct_mis_api/apps/registration_datahub/tests/test_utils.py +++ b/tests/unit/apps/registration_datahub/test_utils.py @@ -12,17 +12,17 @@ class TestRdiUtils(TestCase): def test_calculate_hash_for_kobo_submission(self) -> None: test_data1 = json.load( open( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/test_calculate_hash_for_kobo_submission1.json" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/test_calculate_hash_for_kobo_submission1.json" ) ) test_data2 = json.load( open( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/test_calculate_hash_for_kobo_submission2.json" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/test_calculate_hash_for_kobo_submission2.json" ) ) test_data3 = json.load( open( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/test_calculate_hash_for_kobo_submission3.json" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/test_calculate_hash_for_kobo_submission3.json" ) ) hash1 = calculate_hash_for_kobo_submission(test_data1) diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_validate_xlsx_import_task.py b/tests/unit/apps/registration_datahub/test_validate_xlsx_import_task.py similarity index 95% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_validate_xlsx_import_task.py rename to tests/unit/apps/registration_datahub/test_validate_xlsx_import_task.py index 632765aa0d..33b933419f 100644 --- a/backend/hct_mis_api/apps/registration_datahub/tests/test_validate_xlsx_import_task.py +++ b/tests/unit/apps/registration_datahub/test_validate_xlsx_import_task.py @@ -26,7 +26,7 @@ def setUpTestData(cls) -> None: cls.program_with_social_worker = get_program_with_dct_type_and_name(dct_type=DataCollectingType.Type.SOCIAL) content = Path( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/new_reg_data_import.xlsx" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/new_reg_data_import.xlsx" ).read_bytes() file = File(BytesIO(content), name="new_reg_data_import.xlsx") cls.import_data = ImportData.objects.create( @@ -38,7 +38,7 @@ def setUpTestData(cls) -> None: ) def test_people(self, validate_everything_mock: Mock) -> None: content = Path( - f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file/rdi_people_test.xlsx" + f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file/rdi_people_test.xlsx" ).read_bytes() file = File(BytesIO(content), name="rdi_people_test.xlsx") import_data = ImportData.objects.create( diff --git a/backend/hct_mis_api/apps/registration_datahub/tests/test_xlsx_upload_validators_methods.py b/tests/unit/apps/registration_datahub/test_xlsx_upload_validators_methods.py similarity index 99% rename from backend/hct_mis_api/apps/registration_datahub/tests/test_xlsx_upload_validators_methods.py rename to tests/unit/apps/registration_datahub/test_xlsx_upload_validators_methods.py index 34cacdec6b..8cfdcda8b5 100644 --- a/backend/hct_mis_api/apps/registration_datahub/tests/test_xlsx_upload_validators_methods.py +++ b/tests/unit/apps/registration_datahub/test_xlsx_upload_validators_methods.py @@ -29,7 +29,7 @@ class TestXLSXValidatorsMethods(APITestCase): databases = {"default"} fixtures = (f"{settings.PROJECT_ROOT}/apps/geo/fixtures/data.json",) - FILES_DIR_PATH = f"{settings.PROJECT_ROOT}/apps/registration_datahub/tests/test_file" + FILES_DIR_PATH = f"{settings.TESTS_ROOT}/apps/registration_datahub/test_file" @classmethod def setUpTestData(cls) -> None: diff --git a/backend/hct_mis_api/middlewares/__init__.py b/tests/unit/apps/reporting/__init__.py similarity index 100% rename from backend/hct_mis_api/middlewares/__init__.py rename to tests/unit/apps/reporting/__init__.py diff --git a/backend/hct_mis_api/one_time_scripts/__init__.py b/tests/unit/apps/reporting/snapshots/__init__.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/__init__.py rename to tests/unit/apps/reporting/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/reporting/tests/snapshots/snap_test_reporting_choices.py b/tests/unit/apps/reporting/snapshots/snap_test_reporting_choices.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/tests/snapshots/snap_test_reporting_choices.py rename to tests/unit/apps/reporting/snapshots/snap_test_reporting_choices.py diff --git a/backend/hct_mis_api/apps/reporting/tests/snapshots/snap_test_reporting_mutations.py b/tests/unit/apps/reporting/snapshots/snap_test_reporting_mutations.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/tests/snapshots/snap_test_reporting_mutations.py rename to tests/unit/apps/reporting/snapshots/snap_test_reporting_mutations.py diff --git a/backend/hct_mis_api/apps/reporting/tests/snapshots/snap_test_reports_query.py b/tests/unit/apps/reporting/snapshots/snap_test_reports_query.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/tests/snapshots/snap_test_reports_query.py rename to tests/unit/apps/reporting/snapshots/snap_test_reports_query.py diff --git a/backend/hct_mis_api/apps/reporting/tests/test_generate_dashboard_report_service.py b/tests/unit/apps/reporting/test_generate_dashboard_report_service.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/tests/test_generate_dashboard_report_service.py rename to tests/unit/apps/reporting/test_generate_dashboard_report_service.py diff --git a/backend/hct_mis_api/apps/reporting/tests/test_report_service.py b/tests/unit/apps/reporting/test_report_service.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/tests/test_report_service.py rename to tests/unit/apps/reporting/test_report_service.py diff --git a/backend/hct_mis_api/apps/reporting/tests/test_reporting_choices.py b/tests/unit/apps/reporting/test_reporting_choices.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/tests/test_reporting_choices.py rename to tests/unit/apps/reporting/test_reporting_choices.py diff --git a/backend/hct_mis_api/apps/reporting/tests/test_reporting_mutations.py b/tests/unit/apps/reporting/test_reporting_mutations.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/tests/test_reporting_mutations.py rename to tests/unit/apps/reporting/test_reporting_mutations.py diff --git a/backend/hct_mis_api/apps/reporting/tests/test_reports_query.py b/tests/unit/apps/reporting/test_reports_query.py similarity index 100% rename from backend/hct_mis_api/apps/reporting/tests/test_reports_query.py rename to tests/unit/apps/reporting/test_reports_query.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/__init__.py b/tests/unit/apps/sanction_list/__init__.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/__init__.py rename to tests/unit/apps/sanction_list/__init__.py diff --git a/backend/hct_mis_api/apps/sanction_list/tests/test_check_against_sanction_list_pre_merge.py b/tests/unit/apps/sanction_list/test_check_against_sanction_list_pre_merge.py similarity index 98% rename from backend/hct_mis_api/apps/sanction_list/tests/test_check_against_sanction_list_pre_merge.py rename to tests/unit/apps/sanction_list/test_check_against_sanction_list_pre_merge.py index f6b057983e..1957b3be70 100644 --- a/backend/hct_mis_api/apps/sanction_list/tests/test_check_against_sanction_list_pre_merge.py +++ b/tests/unit/apps/sanction_list/test_check_against_sanction_list_pre_merge.py @@ -33,7 +33,7 @@ class TestSanctionListPreMerge(TestCase): databases = "__all__" fixtures = (f"{settings.PROJECT_ROOT}/apps/geo/fixtures/data.json",) - TEST_FILES_PATH = f"{settings.PROJECT_ROOT}/apps/sanction_list/tests/test_files" + TEST_FILES_PATH = f"{settings.TESTS_ROOT}/apps/sanction_list/test_files" @classmethod def setUpTestData(cls) -> None: diff --git a/backend/hct_mis_api/apps/sanction_list/tests/test_check_against_sanction_list_task.py b/tests/unit/apps/sanction_list/test_check_against_sanction_list_task.py similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tests/test_check_against_sanction_list_task.py rename to tests/unit/apps/sanction_list/test_check_against_sanction_list_task.py diff --git a/backend/hct_mis_api/apps/sanction_list/tests/test_files/TestSanctionList.xlsx b/tests/unit/apps/sanction_list/test_files/TestSanctionList.xlsx similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tests/test_files/TestSanctionList.xlsx rename to tests/unit/apps/sanction_list/test_files/TestSanctionList.xlsx diff --git a/backend/hct_mis_api/apps/sanction_list/tests/test_files/full_sanction_list.xml b/tests/unit/apps/sanction_list/test_files/full_sanction_list.xml similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tests/test_files/full_sanction_list.xml rename to tests/unit/apps/sanction_list/test_files/full_sanction_list.xml diff --git a/backend/hct_mis_api/apps/sanction_list/tests/test_files/original-consolidated.xml b/tests/unit/apps/sanction_list/test_files/original-consolidated.xml similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tests/test_files/original-consolidated.xml rename to tests/unit/apps/sanction_list/test_files/original-consolidated.xml diff --git a/backend/hct_mis_api/apps/sanction_list/tests/test_files/updated-consolidated.xml b/tests/unit/apps/sanction_list/test_files/updated-consolidated.xml similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tests/test_files/updated-consolidated.xml rename to tests/unit/apps/sanction_list/test_files/updated-consolidated.xml diff --git a/backend/hct_mis_api/apps/sanction_list/tests/test_files/updated2-consolidated.xml b/tests/unit/apps/sanction_list/test_files/updated2-consolidated.xml similarity index 100% rename from backend/hct_mis_api/apps/sanction_list/tests/test_files/updated2-consolidated.xml rename to tests/unit/apps/sanction_list/test_files/updated2-consolidated.xml diff --git a/backend/hct_mis_api/apps/sanction_list/tests/test_load_xml.py b/tests/unit/apps/sanction_list/test_load_xml.py similarity index 96% rename from backend/hct_mis_api/apps/sanction_list/tests/test_load_xml.py rename to tests/unit/apps/sanction_list/test_load_xml.py index 1fd08dcdbe..326c049511 100644 --- a/backend/hct_mis_api/apps/sanction_list/tests/test_load_xml.py +++ b/tests/unit/apps/sanction_list/test_load_xml.py @@ -16,7 +16,7 @@ class TestLoadXML(TestCase): fixtures = (f"{settings.PROJECT_ROOT}/apps/geo/fixtures/data.json",) def test_execute(self) -> None: - main_test_files_path = f"{settings.PROJECT_ROOT}/apps/sanction_list/tests/test_files" + main_test_files_path = f"{settings.TESTS_ROOT}/apps/sanction_list/test_files" task = LoadSanctionListXMLTask(file_path=f"{main_test_files_path}/original-consolidated.xml") task.execute() diff --git a/backend/tests/__init__.py b/tests/unit/apps/steficon/__init__.py similarity index 100% rename from backend/tests/__init__.py rename to tests/unit/apps/steficon/__init__.py diff --git a/backend/tests/apps/__init__.py b/tests/unit/apps/steficon/snapshots/__init__.py similarity index 100% rename from backend/tests/apps/__init__.py rename to tests/unit/apps/steficon/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/steficon/tests/snapshots/snap_test_rule_schema.py b/tests/unit/apps/steficon/snapshots/snap_test_rule_schema.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/tests/snapshots/snap_test_rule_schema.py rename to tests/unit/apps/steficon/snapshots/snap_test_rule_schema.py diff --git a/backend/hct_mis_api/apps/steficon/tests/test_forms.py b/tests/unit/apps/steficon/test_forms.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/tests/test_forms.py rename to tests/unit/apps/steficon/test_forms.py diff --git a/backend/hct_mis_api/apps/steficon/tests/test_rule_schema.py b/tests/unit/apps/steficon/test_rule_schema.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/tests/test_rule_schema.py rename to tests/unit/apps/steficon/test_rule_schema.py diff --git a/backend/hct_mis_api/apps/steficon/tests/test_rules.py b/tests/unit/apps/steficon/test_rules.py similarity index 100% rename from backend/hct_mis_api/apps/steficon/tests/test_rules.py rename to tests/unit/apps/steficon/test_rules.py diff --git a/backend/tests/apps/api/__init__.py b/tests/unit/apps/targeting/__init__.py similarity index 100% rename from backend/tests/apps/api/__init__.py rename to tests/unit/apps/targeting/__init__.py diff --git a/backend/tests/apps/geo/__init__.py b/tests/unit/apps/targeting/snapshots/__init__.py similarity index 100% rename from backend/tests/apps/geo/__init__.py rename to tests/unit/apps/targeting/snapshots/__init__.py diff --git a/backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_candidate_households_by_targeting_criteria_query.py b/tests/unit/apps/targeting/snapshots/snap_test_candidate_households_by_targeting_criteria_query.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_candidate_households_by_targeting_criteria_query.py rename to tests/unit/apps/targeting/snapshots/snap_test_candidate_households_by_targeting_criteria_query.py diff --git a/backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_copy_target_population_mutation.py b/tests/unit/apps/targeting/snapshots/snap_test_copy_target_population_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_copy_target_population_mutation.py rename to tests/unit/apps/targeting/snapshots/snap_test_copy_target_population_mutation.py diff --git a/backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_create_target_population_mutation.py b/tests/unit/apps/targeting/snapshots/snap_test_create_target_population_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_create_target_population_mutation.py rename to tests/unit/apps/targeting/snapshots/snap_test_create_target_population_mutation.py diff --git a/backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_final_households_by_targeting_criteria_query.py b/tests/unit/apps/targeting/snapshots/snap_test_final_households_by_targeting_criteria_query.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_final_households_by_targeting_criteria_query.py rename to tests/unit/apps/targeting/snapshots/snap_test_final_households_by_targeting_criteria_query.py diff --git a/backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_status_change_target_population_mutation.py b/tests/unit/apps/targeting/snapshots/snap_test_status_change_target_population_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_status_change_target_population_mutation.py rename to tests/unit/apps/targeting/snapshots/snap_test_status_change_target_population_mutation.py diff --git a/backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_target_population_households_query.py b/tests/unit/apps/targeting/snapshots/snap_test_target_population_households_query.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_target_population_households_query.py rename to tests/unit/apps/targeting/snapshots/snap_test_target_population_households_query.py diff --git a/backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_target_query.py b/tests/unit/apps/targeting/snapshots/snap_test_target_query.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_target_query.py rename to tests/unit/apps/targeting/snapshots/snap_test_target_query.py diff --git a/backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_update_target_population_mutation.py b/tests/unit/apps/targeting/snapshots/snap_test_update_target_population_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/snapshots/snap_test_update_target_population_mutation.py rename to tests/unit/apps/targeting/snapshots/snap_test_update_target_population_mutation.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_admin.py b/tests/unit/apps/targeting/test_admin.py similarity index 94% rename from backend/hct_mis_api/apps/targeting/tests/test_admin.py rename to tests/unit/apps/targeting/test_admin.py index 446626ca53..c50ec08a26 100644 --- a/backend/hct_mis_api/apps/targeting/tests/test_admin.py +++ b/tests/unit/apps/targeting/test_admin.py @@ -1,4 +1,4 @@ -from hct_mis_api.apps.household.tests.test_admin import BaseTest +from tests.unit.apps.household.test_admin import BaseTest from hct_mis_api.apps.targeting.fixtures import TargetPopulationFactory diff --git a/backend/hct_mis_api/apps/targeting/tests/test_copy_target_population_mutation.py b/tests/unit/apps/targeting/test_copy_target_population_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_copy_target_population_mutation.py rename to tests/unit/apps/targeting/test_copy_target_population_mutation.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_create_target_population_mutation.py b/tests/unit/apps/targeting/test_create_target_population_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_create_target_population_mutation.py rename to tests/unit/apps/targeting/test_create_target_population_mutation.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_individual_block_filters.py b/tests/unit/apps/targeting/test_individual_block_filters.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_individual_block_filters.py rename to tests/unit/apps/targeting/test_individual_block_filters.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_status_change_target_population_mutation.py b/tests/unit/apps/targeting/test_status_change_target_population_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_status_change_target_population_mutation.py rename to tests/unit/apps/targeting/test_status_change_target_population_mutation.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_steficon.py b/tests/unit/apps/targeting/test_steficon.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_steficon.py rename to tests/unit/apps/targeting/test_steficon.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_target_population_households_query.py b/tests/unit/apps/targeting/test_target_population_households_query.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_target_population_households_query.py rename to tests/unit/apps/targeting/test_target_population_households_query.py diff --git a/backend/tests/apps/targeting/test_target_population_views.py b/tests/unit/apps/targeting/test_target_population_views.py similarity index 100% rename from backend/tests/apps/targeting/test_target_population_views.py rename to tests/unit/apps/targeting/test_target_population_views.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_target_query.py b/tests/unit/apps/targeting/test_target_query.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_target_query.py rename to tests/unit/apps/targeting/test_target_query.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_targeting_criteria.py b/tests/unit/apps/targeting/test_targeting_criteria.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_targeting_criteria.py rename to tests/unit/apps/targeting/test_targeting_criteria.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_targeting_criteria_exlude_need_adjudication.py b/tests/unit/apps/targeting/test_targeting_criteria_exlude_need_adjudication.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_targeting_criteria_exlude_need_adjudication.py rename to tests/unit/apps/targeting/test_targeting_criteria_exlude_need_adjudication.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_targeting_criteria_rule_filter.py b/tests/unit/apps/targeting/test_targeting_criteria_rule_filter.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_targeting_criteria_rule_filter.py rename to tests/unit/apps/targeting/test_targeting_criteria_rule_filter.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_targeting_validators.py b/tests/unit/apps/targeting/test_targeting_validators.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_targeting_validators.py rename to tests/unit/apps/targeting/test_targeting_validators.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_update_target_population_mutation.py b/tests/unit/apps/targeting/test_update_target_population_mutation.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_update_target_population_mutation.py rename to tests/unit/apps/targeting/test_update_target_population_mutation.py diff --git a/backend/hct_mis_api/apps/targeting/tests/test_xlsx_export_targeting_service.py b/tests/unit/apps/targeting/test_xlsx_export_targeting_service.py similarity index 100% rename from backend/hct_mis_api/apps/targeting/tests/test_xlsx_export_targeting_service.py rename to tests/unit/apps/targeting/test_xlsx_export_targeting_service.py diff --git a/backend/tests/apps/payments/__init__.py b/tests/unit/apps/utils/__init__.py similarity index 100% rename from backend/tests/apps/payments/__init__.py rename to tests/unit/apps/utils/__init__.py diff --git a/backend/hct_mis_api/apps/utils/tests/test_celery_utils.py b/tests/unit/apps/utils/test_celery_utils.py similarity index 100% rename from backend/hct_mis_api/apps/utils/tests/test_celery_utils.py rename to tests/unit/apps/utils/test_celery_utils.py diff --git a/backend/hct_mis_api/apps/utils/tests/test_deployment_maintenace_page.py b/tests/unit/apps/utils/test_deployment_maintenace_page.py similarity index 100% rename from backend/hct_mis_api/apps/utils/tests/test_deployment_maintenace_page.py rename to tests/unit/apps/utils/test_deployment_maintenace_page.py diff --git a/backend/hct_mis_api/apps/utils/tests/test_elasticsearch_bulk_upsert.py b/tests/unit/apps/utils/test_elasticsearch_bulk_upsert.py similarity index 100% rename from backend/hct_mis_api/apps/utils/tests/test_elasticsearch_bulk_upsert.py rename to tests/unit/apps/utils/test_elasticsearch_bulk_upsert.py diff --git a/backend/hct_mis_api/apps/utils/tests/test_get_version.py b/tests/unit/apps/utils/test_get_version.py similarity index 100% rename from backend/hct_mis_api/apps/utils/tests/test_get_version.py rename to tests/unit/apps/utils/test_get_version.py diff --git a/backend/tests/apps/utils/test_mailjet.py b/tests/unit/apps/utils/test_mailjet.py similarity index 100% rename from backend/tests/apps/utils/test_mailjet.py rename to tests/unit/apps/utils/test_mailjet.py diff --git a/backend/hct_mis_api/apps/utils/tests/test_payment_plan_celery_tasks_mixin.py b/tests/unit/apps/utils/test_payment_plan_celery_tasks_mixin.py similarity index 100% rename from backend/hct_mis_api/apps/utils/tests/test_payment_plan_celery_tasks_mixin.py rename to tests/unit/apps/utils/test_payment_plan_celery_tasks_mixin.py diff --git a/backend/hct_mis_api/apps/utils/tests/test_registration_data_xlsx_import_celery_manager.py b/tests/unit/apps/utils/test_registration_data_xlsx_import_celery_manager.py similarity index 100% rename from backend/hct_mis_api/apps/utils/tests/test_registration_data_xlsx_import_celery_manager.py rename to tests/unit/apps/utils/test_registration_data_xlsx_import_celery_manager.py diff --git a/backend/hct_mis_api/conftest.py b/tests/unit/conftest.py similarity index 97% rename from backend/hct_mis_api/conftest.py rename to tests/unit/conftest.py index ec381acb85..7b7437a9ce 100644 --- a/backend/hct_mis_api/conftest.py +++ b/tests/unit/conftest.py @@ -1,3 +1,4 @@ +from .fixtures import * # noqa: ABS101, F403, F401 import logging import os import re @@ -51,6 +52,7 @@ def pytest_configure(config: Config) -> None: settings.SECURE_REFERRER_POLICY = "same-origin" settings.CACHE_ENABLED = False + settings.TESTS_ROOT = os.path.join(settings.PROJECT_ROOT, "../../tests/unit") settings.CACHES = { "default": { "BACKEND": "hct_mis_api.apps.core.memcache.LocMemCache", diff --git a/backend/tests/fixtures/__init__.py b/tests/unit/fixtures/__init__.py similarity index 100% rename from backend/tests/fixtures/__init__.py rename to tests/unit/fixtures/__init__.py diff --git a/backend/tests/fixtures/account.py b/tests/unit/fixtures/account.py similarity index 100% rename from backend/tests/fixtures/account.py rename to tests/unit/fixtures/account.py diff --git a/backend/tests/fixtures/api_client.py b/tests/unit/fixtures/api_client.py similarity index 100% rename from backend/tests/fixtures/api_client.py rename to tests/unit/fixtures/api_client.py diff --git a/backend/tests/fixtures/common.py b/tests/unit/fixtures/common.py similarity index 100% rename from backend/tests/fixtures/common.py rename to tests/unit/fixtures/common.py diff --git a/backend/tests/apps/periodic_data_update/__init__.py b/tests/unit/libs/__init__.py similarity index 100% rename from backend/tests/apps/periodic_data_update/__init__.py rename to tests/unit/libs/__init__.py diff --git a/backend/tests/apps/registration_data_import/__init__.py b/tests/unit/libs/power_query/__init__.py similarity index 100% rename from backend/tests/apps/registration_data_import/__init__.py rename to tests/unit/libs/power_query/__init__.py diff --git a/backend/hct_mis_api/libs/power_query/tests/test_auth.py b/tests/unit/libs/power_query/test_auth.py similarity index 96% rename from backend/hct_mis_api/libs/power_query/tests/test_auth.py rename to tests/unit/libs/power_query/test_auth.py index 088cb4301e..f99bbfc13a 100644 --- a/backend/hct_mis_api/libs/power_query/tests/test_auth.py +++ b/tests/unit/libs/power_query/test_auth.py @@ -13,7 +13,7 @@ from hct_mis_api.apps.account.fixtures import BusinessAreaFactory, UserFactory from hct_mis_api.apps.household.fixtures import create_household from hct_mis_api.libs.power_query.defaults import hope_create_defaults -from hct_mis_api.libs.power_query.tests.utils import user_grant_office_permission +from tests.unit.libs.power_query.utils import user_grant_office_permission @pytest.mark.skip(reason="This test is not working") diff --git a/backend/hct_mis_api/libs/power_query/tests/test_backend.py b/tests/unit/libs/power_query/test_backend.py similarity index 96% rename from backend/hct_mis_api/libs/power_query/tests/test_backend.py rename to tests/unit/libs/power_query/test_backend.py index 050ad7a316..08d02f5b96 100644 --- a/backend/hct_mis_api/libs/power_query/tests/test_backend.py +++ b/tests/unit/libs/power_query/test_backend.py @@ -6,7 +6,7 @@ from hct_mis_api.apps.account.fixtures import BusinessAreaFactory, UserFactory from hct_mis_api.libs.power_query.backends import PowerQueryBackend from hct_mis_api.libs.power_query.defaults import hope_create_defaults -from hct_mis_api.libs.power_query.tests.utils import user_grant_office_permission +from tests.unit.libs.power_query.utils import user_grant_office_permission @override_settings(POWER_QUERY_DB_ALIAS="default") diff --git a/backend/hct_mis_api/libs/power_query/tests/test_params.py b/tests/unit/libs/power_query/test_params.py similarity index 100% rename from backend/hct_mis_api/libs/power_query/tests/test_params.py rename to tests/unit/libs/power_query/test_params.py diff --git a/backend/hct_mis_api/libs/power_query/tests/test_views.py b/tests/unit/libs/power_query/test_views.py similarity index 100% rename from backend/hct_mis_api/libs/power_query/tests/test_views.py rename to tests/unit/libs/power_query/test_views.py diff --git a/backend/hct_mis_api/libs/power_query/tests/utils.py b/tests/unit/libs/power_query/utils.py similarity index 100% rename from backend/hct_mis_api/libs/power_query/tests/utils.py rename to tests/unit/libs/power_query/utils.py diff --git a/backend/tests/apps/targeting/__init__.py b/tests/unit/one_time_scripts/__init__.py similarity index 100% rename from backend/tests/apps/targeting/__init__.py rename to tests/unit/one_time_scripts/__init__.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/files/test_file_admin_areas_for_UKR_HH.csv b/tests/unit/one_time_scripts/files/test_file_admin_areas_for_UKR_HH.csv similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/files/test_file_admin_areas_for_UKR_HH.csv rename to tests/unit/one_time_scripts/files/test_file_admin_areas_for_UKR_HH.csv diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_add_tickets_to_missing_rdis.py b/tests/unit/one_time_scripts/test_add_tickets_to_missing_rdis.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_add_tickets_to_missing_rdis.py rename to tests/unit/one_time_scripts/test_add_tickets_to_missing_rdis.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_calculate_age_at_registration.py b/tests/unit/one_time_scripts/test_calculate_age_at_registration.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_calculate_age_at_registration.py rename to tests/unit/one_time_scripts/test_calculate_age_at_registration.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_fix_cross_programs_tickets.py b/tests/unit/one_time_scripts/test_fix_cross_programs_tickets.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_fix_cross_programs_tickets.py rename to tests/unit/one_time_scripts/test_fix_cross_programs_tickets.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_fix_disability_fields.py b/tests/unit/one_time_scripts/test_fix_disability_fields.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_fix_disability_fields.py rename to tests/unit/one_time_scripts/test_fix_disability_fields.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_grievance_ticket_fill_empty_program.py b/tests/unit/one_time_scripts/test_grievance_ticket_fill_empty_program.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_grievance_ticket_fill_empty_program.py rename to tests/unit/one_time_scripts/test_grievance_ticket_fill_empty_program.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_mass_withdraw_sudan_hhs.py b/tests/unit/one_time_scripts/test_mass_withdraw_sudan_hhs.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_mass_withdraw_sudan_hhs.py rename to tests/unit/one_time_scripts/test_mass_withdraw_sudan_hhs.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_migrate_data_to_representations.py b/tests/unit/one_time_scripts/test_migrate_data_to_representations.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_migrate_data_to_representations.py rename to tests/unit/one_time_scripts/test_migrate_data_to_representations.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_migrate_data_to_representations_performance.py b/tests/unit/one_time_scripts/test_migrate_data_to_representations_performance.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_migrate_data_to_representations_performance.py rename to tests/unit/one_time_scripts/test_migrate_data_to_representations_performance.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_migrate_data_to_representations_unit.py b/tests/unit/one_time_scripts/test_migrate_data_to_representations_unit.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_migrate_data_to_representations_unit.py rename to tests/unit/one_time_scripts/test_migrate_data_to_representations_unit.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_migrate_grievance_to_representations.py b/tests/unit/one_time_scripts/test_migrate_grievance_to_representations.py similarity index 99% rename from backend/hct_mis_api/one_time_scripts/tests/test_migrate_grievance_to_representations.py rename to tests/unit/one_time_scripts/test_migrate_grievance_to_representations.py index 06dfcda64f..8439630e64 100644 --- a/backend/hct_mis_api/one_time_scripts/tests/test_migrate_grievance_to_representations.py +++ b/tests/unit/one_time_scripts/test_migrate_grievance_to_representations.py @@ -69,7 +69,7 @@ handle_payment_related_tickets, migrate_grievance_to_representations, ) -from hct_mis_api.one_time_scripts.tests.test_migrate_data_to_representations_performance import ( +from tests.unit.one_time_scripts.test_migrate_data_to_representations_performance import ( _AssertNumQueriesContext, ) diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_migrate_partner_permissions_and_access.py b/tests/unit/one_time_scripts/test_migrate_partner_permissions_and_access.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_migrate_partner_permissions_and_access.py rename to tests/unit/one_time_scripts/test_migrate_partner_permissions_and_access.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_program_cycle_data_migration.py b/tests/unit/one_time_scripts/test_program_cycle_data_migration.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_program_cycle_data_migration.py rename to tests/unit/one_time_scripts/test_program_cycle_data_migration.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_soft_delete_original_objects.py b/tests/unit/one_time_scripts/test_soft_delete_original_objects.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_soft_delete_original_objects.py rename to tests/unit/one_time_scripts/test_soft_delete_original_objects.py diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_sync_representations.py b/tests/unit/one_time_scripts/test_sync_representations.py similarity index 99% rename from backend/hct_mis_api/one_time_scripts/tests/test_sync_representations.py rename to tests/unit/one_time_scripts/test_sync_representations.py index d0236ca97a..fcc28309c3 100644 --- a/backend/hct_mis_api/one_time_scripts/tests/test_sync_representations.py +++ b/tests/unit/one_time_scripts/test_sync_representations.py @@ -43,10 +43,10 @@ ONE_TO_ONE_GREVIANCE_MODELS, sync_representations_per_business_area, ) -from hct_mis_api.one_time_scripts.tests.test_migrate_data_to_representations import ( +from tests.unit.one_time_scripts.test_migrate_data_to_representations import ( BaseMigrateDataTestCase, ) -from hct_mis_api.one_time_scripts.tests.test_migrate_grievance_to_representations import ( +from tests.unit.one_time_scripts.test_migrate_grievance_to_representations import ( BaseGrievanceTestCase, ) diff --git a/backend/hct_mis_api/one_time_scripts/tests/test_update_program_size.py b/tests/unit/one_time_scripts/test_update_program_size.py similarity index 100% rename from backend/hct_mis_api/one_time_scripts/tests/test_update_program_size.py rename to tests/unit/one_time_scripts/test_update_program_size.py diff --git a/tests/unit/pytest.ini b/tests/unit/pytest.ini new file mode 100644 index 0000000000..19e7dc8670 --- /dev/null +++ b/tests/unit/pytest.ini @@ -0,0 +1,13 @@ +[pytest] +generate_report_on_test = True +DJANGO_SETTINGS_MODULE = hct_mis_api.config.settings +addopts = + -sv + -p no:capturelog + -p no:warnings + --tb=short + --capture=sys + --reuse-db + --echo-version django + --cov-config=.coveragerc + --cov=hct_mis_api \ No newline at end of file diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 5be8df1698..0000000000 --- a/yarn.lock +++ /dev/null @@ -1,167 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/runtime@^7.23.9", "@babel/runtime@^7.24.0": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c" - integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== - dependencies: - regenerator-runtime "^0.14.0" - -"@emotion/cache@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== - dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" - stylis "4.2.0" - -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== - -"@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== - -"@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== - -"@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== - -"@mui/private-theming@^5.15.14": - version "5.15.14" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.14.tgz#edd9a82948ed01586a01c842eb89f0e3f68970ee" - integrity sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.15.14" - prop-types "^15.8.1" - -"@mui/styled-engine@^5.15.14": - version "5.15.14" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.14.tgz#168b154c4327fa4ccc1933a498331d53f61c0de2" - integrity sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw== - dependencies: - "@babel/runtime" "^7.23.9" - "@emotion/cache" "^11.11.0" - csstype "^3.1.3" - prop-types "^15.8.1" - -"@mui/system@^5.15.14": - version "5.15.15" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.15.tgz#658771b200ce3c4a0f28e58169f02e5e718d1c53" - integrity sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.15.14" - "@mui/styled-engine" "^5.15.14" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" - clsx "^2.1.0" - csstype "^3.1.3" - prop-types "^15.8.1" - -"@mui/types@^7.2.14": - version "7.2.14" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.14.tgz#8a02ac129b70f3d82f2f9b76ded2c8d48e3fc8c9" - integrity sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ== - -"@mui/utils@^5.15.14": - version "5.15.14" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.14.tgz#e414d7efd5db00bfdc875273a40c0a89112ade3a" - integrity sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA== - dependencies: - "@babel/runtime" "^7.23.9" - "@types/prop-types" "^15.7.11" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@mui/x-data-grid@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@mui/x-data-grid/-/x-data-grid-7.4.0.tgz#1901f2908aca760146ccae74b064fc15462bcf63" - integrity sha512-ILu0AVqqHQf4wN/nblsJ/k7PkvlB115vQ/FEiYk7neZlc/kOJOUyst3MWMVClAecZ8+JEs476q40xd4r1CtMfw== - dependencies: - "@babel/runtime" "^7.24.0" - "@mui/system" "^5.15.14" - "@mui/utils" "^5.15.14" - clsx "^2.1.1" - prop-types "^15.8.1" - reselect "^4.1.8" - -"@types/prop-types@^15.7.11": - version "15.7.12" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" - integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== - -clsx@^2.1.0, clsx@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" - integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== - -csstype@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -"js-tokens@^3.0.0 || ^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -react-is@^16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.2.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -reselect@^4.1.8: - version "4.1.8" - resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524" - integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ== - -stylis@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==