-
Notifications
You must be signed in to change notification settings - Fork 229
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into (fix)O3-2197
- Loading branch information
Showing
10 changed files
with
286 additions
and
127 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# syntax=docker/dockerfile:1.3 | ||
FROM --platform=$BUILDPLATFORM node:18-alpine as dev | ||
|
||
ARG APP_SHELL_VERSION=next | ||
|
||
RUN mkdir -p /app | ||
WORKDIR /app | ||
|
||
COPY . . | ||
|
||
RUN npm_config_legacy_peer_deps=true npm install -g openmrs@${APP_SHELL_VERSION:-next} | ||
ARG CACHE_BUST | ||
RUN npm_config_legacy_peer_deps=true openmrs assemble --manifest --mode config --config spa-assemble-config.json --target ./spa | ||
|
||
FROM --platform=$BUILDPLATFORM openmrs/openmrs-reference-application-3-frontend:nightly as frontend | ||
FROM nginx:1.23-alpine | ||
|
||
RUN apk update && \ | ||
apk upgrade && \ | ||
# add more utils for sponge to support our startup script | ||
apk add --no-cache moreutils | ||
|
||
# clear any default files installed by nginx | ||
RUN rm -rf /usr/share/nginx/html/* | ||
|
||
COPY --from=frontend /etc/nginx/nginx.conf /etc/nginx/nginx.conf | ||
# this assumes that NOTHING in the framework is in a subdirectory | ||
COPY --from=frontend /usr/share/nginx/html/* /usr/share/nginx/html/ | ||
COPY --from=frontend /usr/local/bin/startup.sh /usr/local/bin/startup.sh | ||
RUN chmod +x /usr/local/bin/startup.sh | ||
|
||
COPY --from=dev /app/spa/ /usr/share/nginx/html/ | ||
|
||
CMD ["/usr/local/bin/startup.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
#!/usr/bin/env bash -eu | ||
|
||
# get the dir containing the script | ||
script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||
# create a temporary working directory | ||
working_dir=$(mktemp -d "${TMPDIR:-/tmp/}openmrs-e2e-frontends.XXXXXXXXXX") | ||
# get a list of all the apps in this workspace | ||
apps=$(yarn workspaces list --json | jq -r 'if ((.location == ".") or (.location | test("-app") | not)) then halt else .name end') | ||
# this array will hold all of the packed app names | ||
app_names=() | ||
|
||
echo "Creating packed archives of apps..." | ||
# for each app | ||
for app in $apps | ||
do | ||
# @openmrs/esm-whatever -> _openmrs_esm_whatever | ||
app_name=$(echo "$app" | tr '[:punct:]' '_'); | ||
# add to our array | ||
app_names+=("$app_name.tgz"); | ||
# run yarn pack for our app and add it to the working directory | ||
yarn workspace "$app" pack -o "$working_dir/$app_name.tgz" >/dev/null; | ||
done; | ||
echo "Created packed app archives" | ||
|
||
echo "Creating dynamic spa-assemble-config.json..." | ||
# dynamically assemble our list of frontend modules, prepending the login app and | ||
# primary navigation apps; apps will all be in the /app directory of the Docker | ||
# container | ||
jq -n \ | ||
--arg apps "$apps" \ | ||
--arg app_names "$(echo ${app_names[@]})" \ | ||
'{"@openmrs/esm-primary-navigation-app": "next", "@openmrs/esm-home-app": "next", "@openmrs/esm-patient-chart-app": "next"} + ( | ||
($apps | split("\n")) as $apps | ($app_names | split(" ") | map("/app/" + .)) as $app_files | ||
| [$apps, $app_files] | ||
| transpose | ||
| map({"key": .[0], "value": .[1]}) | ||
| from_entries | ||
)' | jq '{"frontendModules": .}' > "$working_dir/spa-assemble-config.json" | ||
echo "Created dynamic spa-assemble-config.json" | ||
|
||
echo "Copying Docker configuration..." | ||
cp "$script_dir/Dockerfile" "$working_dir/Dockerfile" | ||
cp "$script_dir/docker-compose.yml" "$working_dir/docker-compose.yml" | ||
|
||
cd $working_dir | ||
echo "Starting Docker containers..." | ||
# CACHE_BUST to ensure the assemble step is always run | ||
docker compose build --build-arg CACHE_BUST=$(date +%s) frontend | ||
docker compose up -d |
36 changes: 36 additions & 0 deletions
36
...sm-active-visits-app/src/visits-summary/visits-components/encounter-observations.test.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
import React from 'react'; | ||
import { render, screen } from '@testing-library/react'; | ||
import EncounterObservations from './encounter-observations.component'; | ||
|
||
describe('EncounterObservations', () => { | ||
test('renders skeleton text while loading', () => { | ||
render(<EncounterObservations observations={null} />); | ||
|
||
expect(screen.queryByText('Temperature')).not.toBeInTheDocument(); | ||
}); | ||
|
||
test('renders "No observations found" message when observations list is empty', () => { | ||
const emptyObservations = []; | ||
render(<EncounterObservations observations={emptyObservations} />); | ||
|
||
expect(screen.getByText('No observations found')).toBeInTheDocument(); | ||
}); | ||
|
||
test('renders observations list correctly', () => { | ||
const observations = [ | ||
{ display: 'Temperature: 98.6°F' }, | ||
{ display: 'Blood Pressure: 120/80 mmHg' }, | ||
{ display: 'Heart Rate: 72 bpm' }, | ||
]; | ||
render(<EncounterObservations observations={observations} />); | ||
|
||
expect(screen.getByText('Temperature:')).toBeInTheDocument(); | ||
expect(screen.getByText('98.6°F')).toBeInTheDocument(); | ||
|
||
expect(screen.getByText('Blood Pressure:')).toBeInTheDocument(); | ||
expect(screen.getByText('120/80 mmHg')).toBeInTheDocument(); | ||
|
||
expect(screen.getByText('Heart Rate:')).toBeInTheDocument(); | ||
expect(screen.getByText('72 bpm')).toBeInTheDocument(); | ||
}); | ||
}); |
Oops, something went wrong.