feat: add Drone CI pipelines, Jest unit tests, and Prettier check
Some checks failed
continuous-integration/drone/push Build encountered an error

Add Drone CI with server build/test and format check pipelines.
Add unit tests for password utils and recurrenceExpander.
Add check_format script, fix Jest config to ignore dist/,
remove dead CaldavService.test.ts, apply Prettier formatting.
This commit is contained in:
2026-02-24 12:43:31 +01:00
parent 16848bfdf0
commit bf8bb3cfb8
13 changed files with 367 additions and 29 deletions

View File

@@ -45,7 +45,9 @@ const CaldavTextInput = ({
const { theme } = useThemeStore();
return (
<View className="flex flex-row items-center py-1">
<Text className="ml-4 w-24" style={{ color: theme.textPrimary }}>{title}:</Text>
<Text className="ml-4 w-24" style={{ color: theme.textPrimary }}>
{title}:
</Text>
<CustomTextInput
className="flex-1 mr-4 px-3 py-2"
text={value}
@@ -111,7 +113,13 @@ const CaldavSettings = () => {
);
const saveConfig = async () => {
showFeedback(setSaveFeedback, saveTimer, "Speichere Konfiguration...", false, true);
showFeedback(
setSaveFeedback,
saveTimer,
"Speichere Konfiguration...",
false,
true,
);
try {
const saved = await CaldavConfigService.saveConfig(
serverUrl,
@@ -119,9 +127,19 @@ const CaldavSettings = () => {
password,
);
setConfig(saved);
showFeedback(setSaveFeedback, saveTimer, "Konfiguration wurde gespeichert", false);
showFeedback(
setSaveFeedback,
saveTimer,
"Konfiguration wurde gespeichert",
false,
);
} catch {
showFeedback(setSaveFeedback, saveTimer, "Fehler beim Speichern der Konfiguration", true);
showFeedback(
setSaveFeedback,
saveTimer,
"Fehler beim Speichern der Konfiguration",
true,
);
}
};
@@ -129,9 +147,19 @@ const CaldavSettings = () => {
showFeedback(setSyncFeedback, syncTimer, "Synchronisiere...", false, true);
try {
await CaldavConfigService.sync();
showFeedback(setSyncFeedback, syncTimer, "Synchronisierung erfolgreich", false);
showFeedback(
setSyncFeedback,
syncTimer,
"Synchronisierung erfolgreich",
false,
);
} catch {
showFeedback(setSyncFeedback, syncTimer, "Fehler beim Synchronisieren", true);
showFeedback(
setSyncFeedback,
syncTimer,
"Fehler beim Synchronisieren",
true,
);
}
};