Skip to content

Commit e1c3265

Browse files
feat: Added additional E2E Integration Testing
1 parent abcc789 commit e1c3265

19 files changed

Lines changed: 263 additions & 58 deletions

.github/workflows/run-e2e-tests.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,16 @@ jobs:
3535
with:
3636
node-version: lts/*
3737

38-
# 1) Devbox Setup #
39-
- name: Setup devbox
40-
uses: ./.github/actions/devbox-setup
41-
42-
- name: Rename env files
38+
- name: Load ENV files from examples
4339
run: |
4440
mv builder-frontend/.env.example builder-frontend/.env
4541
mv builder-api/.env.example builder-api/.env
42+
mv library-api/.env.example library-api/.env
43+
mv .env.example .env
44+
45+
# 1) Devbox Setup #
46+
- name: Setup devbox
47+
uses: ./.github/actions/devbox-setup
4648

4749
# 2) Prepare app dependencies #
4850
- name: "Cache Maven dependencies"

builder-frontend/.env.example

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,5 @@ VITE_AUTH_DOMAIN=localhost:9099
55
VITE_MEASUREMENT_ID=G-XXXXXXXXXX
66
VITE_MESSAGING_SENDER_ID=123456789
77
VITE_PROJECT_ID=demo-bdt-dev
8-
VITE_SCREENER_BASE_URL=http://localhost:5174/
98
VITE_STORAGE_BUCKET=demo-bdt-dev.appspot.com
109
DEV_SERVER_PORT=5173

builder-frontend/src/components/homeScreen/NewScreenerForm.jsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,22 +40,24 @@ export default function NewScreenerForm({
4040
X
4141
</div>
4242
</div>
43-
<div className="mt-12 text-3xl font-bold w-80">
43+
<div class="mt-12 text-3xl font-bold w-80">
4444
What is the name of your screener?
4545
</div>
4646
<form onSubmit={handleSubmit}>
4747
<div className="mt-8 flex flex-col">
4848
<label>Screener Name:</label>
4949
<input
5050
type="text"
51+
id="new-screener-name"
5152
ref={(el) => (nameInput = el)}
52-
className="p-1 border-1 border-gray-400 w-90"
53-
></input>
53+
class="form-input-custom"
54+
/>
5455
</div>
5556
<button
5657
type="submit"
58+
id="new-screener-submit"
5759
disabled={isLoading()}
58-
className="mt-3 py-2 px-4 text-white rounded bg-gray-800 disabled:opacity-50"
60+
class="mt-3 py-2 px-4 text-white rounded bg-gray-800 disabled:opacity-50"
5961
>
6062
Create
6163
</button>

builder-frontend/src/components/project/FormEditorView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ function FormEditorView({ formSchema, setFormSchema }) {
168168
<div class="h-full" ref={(el) => (container = el)} />
169169
</div>
170170
<div class="flex-1 border-l-4 border-l-gray-200">
171-
<div class="flex flex-col p-10 gap-4 place-items-center">
171+
<div id="form-editor-save_container" class="flex flex-col p-10 gap-4 place-items-center">
172172
<Switch>
173173
<Match when={isUnsaved()}>
174174
<div onClick={handleSave} class="btn-default btn-yellow">

builder-frontend/src/components/project/Publish.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export default function Publish({ project, refetchProject }) {
5252
<div class="px-8 py-4 w-xl border-1 shadow-sm border-gray-200">
5353
<div class="text-xl">{screenerName()}</div>
5454
<div class="mt-4 flex flex-col gap-2">
55-
<div class=" flex gap-4">
55+
<div id="screener-url-info" class="flex gap-4">
5656
<div class="text-sm font-bold">Screener URL:</div>
5757
{isPublished() ? (
5858
<a href={screenerUrl()} target="_blank" rel="noopener noreferrer">
@@ -62,7 +62,7 @@ export default function Publish({ project, refetchProject }) {
6262
<a>Publish screener to create public url.</a>
6363
)}
6464
</div>
65-
<div class="flex gap-4">
65+
<div id="screener-last-published-info" class="flex gap-4">
6666
<div class="text-sm font-bold">Last Published Date:</div>
6767
{lastPublishDate() ? (
6868
<div>{formattedDate(lastPublishDate())}</div>
@@ -73,6 +73,7 @@ export default function Publish({ project, refetchProject }) {
7373
</div>
7474
<div class="mt-4 flex flex-col gap-2">
7575
<button
76+
id="publish-screener-button"
7677
onClick={handlePublish}
7778
class="w-80 bg-gray-800 font-bold text-gray-50 rounded px-4 py-2 hover:bg-gray-700 disabled:opacity-50"
7879
disabled={isLoading()}

builder-frontend/src/components/project/manageBenefits/benefitList/BenefitList.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const BenefitList = (
2121

2222
return (
2323
<div class="p-5">
24-
<div class="text-3xl font-bold mb-2 tracking-wide">
24+
<div id="manage-benefits-title" class="text-3xl font-bold mb-2 tracking-wide">
2525
Manage Benefits
2626
</div>
2727
<div class="text-lg mb-3">
@@ -32,7 +32,7 @@ const BenefitList = (
3232
class="btn-default btn-blue mb-3 mr-1"
3333
onClick={() => {setAddingNewBenefit(true)}}
3434
>
35-
Create New Benefit
35+
Create new benefit
3636
</div>
3737
{/* <div
3838
class="btn-default btn-blue mb-3"

builder-frontend/src/components/project/manageBenefits/benefitList/modals/AddNewBenefitModal.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ const AddNewBenefitModal = (
2929
<label class="block font-bold mb-2">Name:</label>
3030
<input
3131
type="text"
32-
class="w-full border border-gray-300 rounded px-3 py-2"
32+
id="new-benefit-name"
33+
class="w-full border-2 border-gray-400 rounded px-3 py-2"
3334
value={newBenefit.name}
3435
onInput={(e) => setNewBenefit("name", e.currentTarget.value)}
3536
placeholder="Enter benefit name"
@@ -38,7 +39,8 @@ const AddNewBenefitModal = (
3839
<div class="mb-4">
3940
<label class="block font-bold mb-2">Description:</label>
4041
<textarea
41-
class="w-full border border-gray-300 rounded px-3 py-2"
42+
id="new-benefit-description"
43+
class="w-full border-2 border-gray-400 rounded px-3 py-2"
4244
value={newBenefit.description}
4345
onInput={(e) => setNewBenefit("description", e.currentTarget.value)}
4446
placeholder="Enter benefit description"
@@ -56,6 +58,7 @@ const AddNewBenefitModal = (
5658
</div>
5759
<div
5860
class={"btn-default bg-sky-600 text-white " + addButtonClasses()}
61+
id="new-benefit-submit"
5962
onClick={async () => {
6063
if (isAddDisabled()) {
6164
console.log("Please fill in all fields.");

builder-frontend/src/components/project/manageBenefits/configureBenefit/ConfigureBenefit.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ const ConfigureBenefit = ({
7575
Selected eligibility checks for {benefit().name}
7676
</div>
7777

78-
<div class="px-4">
78+
<div class="px-4" id="selected-eligibility-checks_container">
7979
{benefit() && benefit().checks.length === 0 && (
8080
<div class="text-gray-500">
8181
No eligibility checks selected. Use the checkboxes to add
@@ -84,10 +84,9 @@ const ConfigureBenefit = ({
8484
)}
8585
{benefit().checks.length > 0 && (
8686
<For each={benefit().checks}>
87-
{(checkConfig) => {
87+
{(checkConfig, checkConfigIndex) => {
8888
return (
8989
<SelectedEligibilityCheck
90-
checkId={() => checkConfig.checkId}
9190
checkConfig={() => checkConfig}
9291
onRemove={() =>
9392
onRemoveEligibilityCheck(checkConfig.checkId)

builder-frontend/src/components/project/manageBenefits/configureBenefit/EligibilityCheckListView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ const EligibilityCheckRow = ({
141141
onAdd: (check: EligibilityCheck) => void;
142142
}) => {
143143
return (
144-
<tr>
144+
<tr id={"check-row_" + check.name}>
145145
<td class="eligibility-check-table-cell border-top">
146146
<div class="btn-default btn-blue" onClick={() => onAdd(check)}>
147147
Add

builder-frontend/src/components/project/manageBenefits/configureBenefit/SelectedEligibilityCheck.tsx

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,11 @@ import type {
1010
ParameterValues,
1111
} from "@/types";
1212

13-
interface ParameterWithConfiguredValue {
14-
parameter: ParameterDefinition;
15-
value: string | number | boolean | string[] | undefined;
16-
}
17-
1813
const SelectedEligibilityCheck = ({
19-
checkId,
2014
checkConfig,
2115
onRemove,
2216
updateCheckConfigParams,
2317
}: {
24-
checkId: Accessor<string>;
2518
checkConfig: Accessor<CheckConfig>;
2619
updateCheckConfigParams: (newCheckData: ParameterValues) => void;
2720
onRemove: () => void | null;

0 commit comments

Comments
 (0)