From d4b9c535941d8e800bb71d4930b4791252c941c6 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Fri, 23 Oct 2026 17:24:23 +0000 Subject: [PATCH] Upload via GUI (67 Dateien) --- mobile/build.gradle.kts | 4 +- .../java/de/deskhub/staff/WidgetLayoutTest.kt | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 mobile/src/test/java/de/deskhub/staff/WidgetLayoutTest.kt diff --git a/mobile/build.gradle.kts b/mobile/build.gradle.kts index b5addf48..3fde960f 100644 --- a/mobile/build.gradle.kts +++ b/mobile/build.gradle.kts @@ -29,8 +29,8 @@ android { // WICHTIG: Bei jedem neuen Debug-Build erhöhen. Android erkennt eine APK mit // unverändertem versionCode (+ gleicher Signatur) auf manchen Geräten nicht // zuverlässig als Update, wodurch eine Neuinstallation still fehlschlagen kann. - versionCode = 30 - versionName = "2.6.1" + versionCode = 41 + versionName = "3.1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/mobile/src/test/java/de/deskhub/staff/WidgetLayoutTest.kt b/mobile/src/test/java/de/deskhub/staff/WidgetLayoutTest.kt new file mode 100644 index 00000000..7b8f583a --- /dev/null +++ b/mobile/src/test/java/de/deskhub/staff/WidgetLayoutTest.kt @@ -0,0 +1,43 @@ +package de.deskhub.staff + +import android.content.Context +import android.widget.FrameLayout +import android.widget.RemoteViews +import android.widget.TextView +import androidx.test.core.app.ApplicationProvider +import org.junit.Assert.assertNotNull +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.RobolectricTestRunner +import org.robolectric.annotation.Config + +/** Stellt sicher, dass alle drei Widget-Größen sich zeichnen lassen und die Felder vorhanden sind, die der Code befüllt. */ +@RunWith(RobolectricTestRunner::class) +@Config(sdk = [34]) +class WidgetLayoutTest { + private val context: Context = ApplicationProvider.getApplicationContext() + + private fun inflate(layout: Int) = RemoteViews(context.packageName, layout).apply(context, FrameLayout(context)) + + @Test + fun smallHasTwoTiles() { + val v = inflate(R.layout.widget_deskhub_small) + assertNotNull(v.findViewById(R.id.widget_my_open)) + assertNotNull(v.findViewById(R.id.widget_overdue)) + assertNotNull(v.findViewById(R.id.widget_refresh)) + } + + @Test + fun mediumHasFourTilesAndTicketChips() { + val v = inflate(R.layout.widget_deskhub) + listOf(R.id.widget_my_open, R.id.widget_unassigned, R.id.widget_overdue, R.id.widget_unanswered, R.id.widget_t1, R.id.widget_t2, R.id.widget_t3) + .forEach { assertNotNull(v.findViewById(it)) } + } + + @Test + fun largeAddsButtonsAndStatusRow() { + val v = inflate(R.layout.widget_deskhub_large) + listOf(R.id.widget_btn_new, R.id.widget_btn_tickets, R.id.widget_st_available, R.id.widget_st_busy, R.id.widget_st_break, R.id.widget_st_offline, R.id.widget_t3) + .forEach { assertNotNull(v.findViewById(it)) } + } +}