+
+
+ {#for day in week1}
+
+ |
+
+ |
+
+ {day.day.formatCommon}
+ |
+
+ {#if day.inOffice}{day.inOffice.username}{/if}
+ |
+
+
+
+ {/for}
+
+
+
+
+
+
+ {#for day in week2}
+
+ |
+
+ |
+
+ {day.day.formatCommon}
+ |
+
+ {#if day.inOffice}{day.inOffice.username}{/if}
+ |
+
+
+
+ {/for}
+
+
+
+
+ {/contents}
+ {/include}
\ No newline at end of file
diff --git a/src/test/java/de/mbremer/extension/CommonExtensionsTest.java b/src/test/java/de/mbremer/extension/CommonExtensionsTest.java
new file mode 100644
index 0000000..6ae2a96
--- /dev/null
+++ b/src/test/java/de/mbremer/extension/CommonExtensionsTest.java
@@ -0,0 +1,15 @@
+package de.mbremer.extension;
+
+import org.junit.jupiter.api.Test;
+
+import java.time.LocalDate;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class CommonExtensionsTest {
+
+ @Test
+ void testFormatCommon() {
+ assertEquals("Sonntag, 4.7.2021", CommonExtensions.formatCommon(LocalDate.of(2021, 7, 4)));
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/de/mbremer/kalender/KalenderResourceTest.java b/src/test/java/de/mbremer/kalender/KalenderResourceTest.java
new file mode 100644
index 0000000..b9c90ae
--- /dev/null
+++ b/src/test/java/de/mbremer/kalender/KalenderResourceTest.java
@@ -0,0 +1,44 @@
+package de.mbremer.kalender;
+
+import de.mbremer.secutity.User;
+import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import io.quarkus.hibernate.orm.panache.PanacheQuery;
+import io.quarkus.panache.mock.PanacheMock;
+import io.quarkus.security.identity.SecurityIdentity;
+import io.quarkus.test.junit.QuarkusTest;
+import io.quarkus.test.junit.mockito.InjectMock;
+import io.quarkus.test.security.TestSecurity;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+
+import java.security.Principal;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.Matchers.containsString;
+import static org.mockito.Mockito.when;
+
+@QuarkusTest
+class KalenderResourceTest {
+
+ @InjectMock
+ SecurityIdentity identity;
+
+ @Test
+ @TestSecurity(authorizationEnabled = false)
+ void testKalender() {
+ PanacheMock.mock(User.class);
+ Principal principal = Mockito.mock(Principal.class);
+ PanacheQuery
query = Mockito.mock(PanacheQuery.class);
+
+ when(principal.getName()).thenReturn("admin");
+ when(identity.getPrincipal()).thenReturn(principal);
+ when(query.singleResult()).thenReturn(new User());
+ when(User.find("username", "admin")).thenReturn(query);
+
+ given()
+ .when().get("/kalender")
+ .then()
+ .statusCode(200)
+ .body(containsString("Heute ist"));
+ }
+}
\ No newline at end of file