diff --git a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestChatRequestSerialization.java b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestChatRequestSerialization.java
index c5a7060..e4655bf 100644
--- a/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestChatRequestSerialization.java
+++ b/src/test/java/io/github/amithkoujalgi/ollama4j/unittests/jackson/TestChatRequestSerialization.java
@@ -51,12 +51,27 @@ public class TestChatRequestSerialization extends AbstractRequestSerializationTe
     public void testRequestWithOptions() {
         OptionsBuilder b = new OptionsBuilder();
         OllamaChatRequestModel req = builder.withMessage(OllamaChatMessageRole.USER, "Some prompt")
-                .withOptions(b.setMirostat(1).build()).build();
+            .withOptions(b.setMirostat(1).build())
+            .withOptions(b.setTemperature(1L).build())
+            .withOptions(b.setMirostatEta(1L).build())
+            .withOptions(b.setMirostatTau(1L).build())
+            .withOptions(b.setNumGpu(1).build())
+            .withOptions(b.setSeed(1).build())
+            .withOptions(b.setTopK(1).build())
+            .withOptions(b.setTopP(1).build())
+            .build();
 
         String jsonRequest = serializeRequest(req);
-        OllamaChatRequestModel deserializeRequest = deserializeRequest(jsonRequest,OllamaChatRequestModel.class);
+        OllamaChatRequestModel deserializeRequest = deserializeRequest(jsonRequest, OllamaChatRequestModel.class);
         assertEqualsAfterUnmarshalling(deserializeRequest, req);
         assertEquals(1, deserializeRequest.getOptions().get("mirostat"));
+        assertEquals(1.0, deserializeRequest.getOptions().get("temperature"));
+        assertEquals(1.0, deserializeRequest.getOptions().get("mirostat_eta"));
+        assertEquals(1.0, deserializeRequest.getOptions().get("mirostat_tau"));
+        assertEquals(1, deserializeRequest.getOptions().get("num_gpu"));
+        assertEquals(1, deserializeRequest.getOptions().get("seed"));
+        assertEquals(1, deserializeRequest.getOptions().get("top_k"));
+        assertEquals(1.0, deserializeRequest.getOptions().get("top_p"));
     }
 
     @Test
@@ -71,4 +86,28 @@ public class TestChatRequestSerialization extends AbstractRequestSerializationTe
         String requestFormatProperty = jsonObject.getString("format");
         assertEquals("json", requestFormatProperty);
     }
+
+    @Test
+    public void testWithTemplate() {
+        OllamaChatRequestModel req = builder.withTemplate("System Template")
+            .build();
+        String jsonRequest = serializeRequest(req);
+        assertEqualsAfterUnmarshalling(deserializeRequest(jsonRequest, OllamaChatRequestModel.class), req);
+    }
+
+    @Test
+    public void testWithStreaming() {
+        OllamaChatRequestModel req = builder.withStreaming().build();
+        String jsonRequest = serializeRequest(req);
+        assertEquals(deserializeRequest(jsonRequest, OllamaChatRequestModel.class).isStream(), true);
+    }
+
+    @Test
+    public void testWithKeepAlive() {
+        String expectedKeepAlive = "5m";
+        OllamaChatRequestModel req = builder.withKeepAlive(expectedKeepAlive)
+            .build();
+        String jsonRequest = serializeRequest(req);
+        assertEquals(deserializeRequest(jsonRequest, OllamaChatRequestModel.class).getKeepAlive(), expectedKeepAlive);
+    }
 }