adding api unit tests (#108)

* adding api unit tests

* adding not signed in alerts to flights and logs
This commit was merged in pull request #108.
This commit is contained in:
2026-03-08 14:58:24 -05:00
committed by GitHub
parent b7e74242b8
commit 487afb08d6
40 changed files with 1621 additions and 182 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "client",
"private": true,
"version": "2.0.0-beta-4",
"version": "2.0.0",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -3,11 +3,13 @@ import { useEffect, useReducer } from "react";
import { useLogs } from "../../hooks/logs/UseLogs";
import { LogbookEntry } from "../logbook/LogbookEntry.interface";
import { initialState, reducer } from "./reducer";
import { useOidc } from "../../auth/oidcConfig";
import Alert from "../alert/Alert";
const Flights = () => {
const [state, dispatch] = useReducer(reducer, initialState);
const { logs, logsLoading } = useLogs();
const { isUserLoggedIn } = useOidc();
useEffect(() => {
@@ -19,7 +21,12 @@ const Flights = () => {
if (flights && flights.length > 0) {
dispatch({ type: 'SET_FLIGHTS', payload: flights})
dispatch({ type: 'SET_ALERT', payload: undefined })
if (!isUserLoggedIn && flights.length >= 5) {
dispatch({ type: 'SET_ALERT', payload: { severity: 'info', message: 'A limited number of flights displayed. Sign in to view all flights.'}})
} else {
dispatch({ type: 'SET_ALERT', payload: undefined })
}
} else {
dispatch({ type: 'SET_ALERT', payload: { severity: 'info', message: 'No flights found' }})
}

View File

@@ -33,7 +33,7 @@ const LogForm = () => {
`api/logs/${logbookContext.state.selectedLogId}`
);
const log = response.data;
console.log(log)
reset(log);
} catch (error) {
const axiosError = error as AxiosError;
@@ -53,11 +53,16 @@ const LogForm = () => {
if (pilots && FormMode.ADD) {
const newPilotsOptions = pilots.map((pilot) => {
return {
key: pilot.id,
label: pilot.name,
value: pilot.id,
};
});
newPilotsOptions.unshift({
label: '',
value: '',
})
dispatch({ type: 'SET_PILOT_OPTIONS', payload: newPilotsOptions });
}
}, [pilots]);
@@ -80,9 +85,9 @@ const LogForm = () => {
onChange={onChange}
value={[value]}
>
{state.pilotOptions?.map((pilotOption: { key: string; label: string, }) => {
{state.pilotOptions?.map((pilotOption: { label: string, value: string; }) => {
return (
<option key={pilotOption.key}>{pilotOption.label}</option>
<option value={pilotOption.value}>{pilotOption.label}</option>
)
})}
</select>

View File

@@ -4,6 +4,6 @@ export interface LogFormState {
alert: Alert | undefined;
isDisabled: boolean;
isLoading: boolean;
pilotOptions: { key: string; label: string; }[];
pilotOptions: { label: string; value: string; }[];
selectedPilotName: string;
}

View File

@@ -5,7 +5,7 @@ type Action =
| { type: 'SET_ALERT'; payload: Alert | undefined }
| { type: 'SET_IS_DISABLED'; payload: boolean }
| { type: 'SET_IS_LOADING'; payload: boolean }
| { type: 'SET_PILOT_OPTIONS'; payload: { key: string, label: string; }[] }
| { type: 'SET_PILOT_OPTIONS'; payload: { label: string; value: string }[] }
| { type: 'SET_SELECTED_PILOT_NAME'; payload: string };
export const initialState: LogFormState = {

View File

@@ -377,7 +377,9 @@ const Logbook: React.FC<unknown> = () => {
setColumnVisibility(columnVisibility)
dispatch({ type: 'SET_ENTRIES', payload: entries });
if (state.alert) {
if (!isUserLoggedIn && response.data.length >= 5) {
dispatch({ type: 'SET_ALERT', payload: { severity: 'info', message: 'A limited number of log entries displayed. Sign in to view all log entries.'}})
} else {
dispatch({ type: 'SET_ALERT', payload: undefined})
}
} else {