refactor: Improve code readability and formatting in Dropdown component and test-setup.sh

This commit is contained in:
Simon Larsen
2024-08-15 15:57:46 +01:00
parent cf71ba0c72
commit c8f8b79cea
2 changed files with 26 additions and 28 deletions

View File

@@ -22,8 +22,8 @@ export interface ComponentProps {
placeholder?: undefined | string;
className?: undefined | string;
onChange?:
| undefined
| ((value: DropdownValue | Array<DropdownValue> | null) => void);
| undefined
| ((value: DropdownValue | Array<DropdownValue> | null) => void);
value?: DropdownOption | Array<DropdownOption> | undefined;
onFocus?: (() => void) | undefined;
onBlur?: (() => void) | undefined;
@@ -70,15 +70,15 @@ const Dropdown: FunctionComponent<ComponentProps> = (
if (
Array.isArray(value) &&
value.length > 0 &&
typeof value[0] === "string"
(typeof value[0] === "string" || typeof value[0] === "number")
) {
const options: Array<DropdownOption> = [];
for (const item of value as Array<DropdownValue>) {
if (
(!Array.isArray(item) && typeof item === "string") ||
typeof item === "number"
) {
(!Array.isArray(item) && (typeof item === "string" ||
typeof item === "number"))
) {
const option: DropdownOption | undefined | Array<DropdownOption> =
props.options.find((option: DropdownOption) => {
return option.value === item;
@@ -94,8 +94,8 @@ const Dropdown: FunctionComponent<ComponentProps> = (
}
if (
(!Array.isArray(value) && typeof value === "string") ||
typeof value === "number"
(!Array.isArray(value) && (typeof value === "string" ||
typeof value === "number"))
) {
return props.options.find((option: DropdownOption) => {
return option.value === value;
@@ -128,10 +128,9 @@ const Dropdown: FunctionComponent<ComponentProps> = (
return (
<div
id={props.id}
className={`${
props.className ||
className={`${props.className ||
"relative mt-2 mb-1 rounded-md w-full overflow-visible"
}`}
}`}
onClick={() => {
props.onClick && props.onClick();
props.onFocus && props.onFocus();

View File

@@ -7,23 +7,22 @@ cd ..
cp config.env.example config.env
sed -i 's/.*NODE_ENV.*/NODE_ENV=test/' config.env
sed -i 's/.*BILLING_ENABLED.*/BILLING_ENABLED=true/' config.env
sed -i 's/.*DATABASE_HOST.*/DATABASE_HOST=localhost/' config.env
sed -i 's/.*DATABASE_PORT.*/DATABASE_PORT=5400/' config.env
sed -i 's/.*REDIS_HOST.*/REDIS_HOST=localhost/' config.env
sed -i 's/.*REDIS_PORT.*/REDIS_PORT=6310/' config.env
sed -i 's/.*REDIS_DB.*/REDIS_DB=0/' config.env
sed -i 's/.*REDIS_USERNAME.*/REDIS_USERNAME=default/' config.env
# sed all of these values
sed -i 's/.*SUBSCRIPTION_PLAN_BASIC.*/SUBSCRIPTION_PLAN_BASIC=Free,price_1M4niQANuQdJ93r7AVjhnik5,price_1M4niQANuQdJ93r7l1Wz1dkm,0,0,1,0/' config.env
sed -i 's/.*SUBSCRIPTION_PLAN_GROWTH.*/SUBSCRIPTION_PLAN_GROWTH=Growth,price_1M4nhZANuQdJ93r7yfQ1MePQ,price_1M4r3OANuQdJ93r7g8NyoCBq,22,20,2,14/' config.env
sed -i 's/.*SUBSCRIPTION_PLAN_SCALE.*/SUBSCRIPTION_PLAN_SCALE=Scale,price_1MKidGANuQdJ93r7FoaZ1dOb,price_1MKidRANuQdJ93r7LVOc0BUy,99,84,3,14/' config.env
sed -i 's/.*SUBSCRIPTION_PLAN_ENTERPRISE.*/SUBSCRIPTION_PLAN_ENTERPRISE=Enterprise,price_1M4ng9ANuQdJ93r7CP90ezSN,price_1M4ng9ANuQdJ93r72ZYUp4PU,-1,-1,4,14/' config.env
sed -i 's/.*BILLING_PUBLIC_KEY.*/BILLING_PUBLIC_KEY=pk_test_51LleTZANuQdJ93r7PvyfOvpm5TZXtUf1T5fjS5cbOmDuCFIiGMoEhvuIrzTRMcZirg7qJwgbjLeCmXmxL1BiUDi100IzcuP3SU/' config.env
sed -i "s/.*BILLING_PUBLIC_KEY.*/BILLING_PRIVATE_KEY=$TEST_BILLING_PRIVATE_KEY/" config.env
cat <<EOL > config.env
NODE_ENV=test
BILLING_ENABLED=true
DATABASE_HOST=localhost
DATABASE_PORT=5400
REDIS_HOST=localhost
REDIS_PORT=6310
REDIS_DB=0
REDIS_USERNAME=default
SUBSCRIPTION_PLAN_BASIC=Free,price_1M4niQANuQdJ93r7AVjhnik5,price_1M4niQANuQdJ93r7l1Wz1dkm,0,0,1,0
SUBSCRIPTION_PLAN_GROWTH=Growth,price_1M4nhZANuQdJ93r7yfQ1MePQ,price_1M4r3OANuQdJ93r7g8NyoCBq,22,20,2,14
SUBSCRIPTION_PLAN_SCALE=Scale,price_1MKidGANuQdJ93r7FoaZ1dOb,price_1MKidRANuQdJ93r7LVOc0BUy,99,84,3,14
SUBSCRIPTION_PLAN_ENTERPRISE=Enterprise,price_1M4ng9ANuQdJ93r7CP90ezSN,price_1M4ng9ANuQdJ93r72ZYUp4PU,-1,-1,4,14
BILLING_PUBLIC_KEY=pk_test_51LleTZANuQdJ93r7PvyfOvpm5TZXtUf1T5fjS5cbOmDuCFIiGMoEhvuIrzTRMcZirg7qJwgbjLeCmXmxL1BiUDi100IzcuP3SU
BILLING_PRIVATE_KEY=$TEST_BILLING_PRIVATE_KEY
EOL
npm run prerun
# Run Postgres