diff --git a/test/utest-serialize.cpp b/test/utest-serialize.cpp
new file mode 100644
index 0000000..8c75031
--- /dev/null
+++ b/test/utest-serialize.cpp
@@ -0,0 +1,44 @@
+#include "serialize.hpp"
+
+#include <filesystem>
+
+#include <gtest/gtest.h>
+
+using namespace phosphor::led;
+
+TEST(SerializeTest, testStoreGroups)
+{
+    namespace fs = std::filesystem;
+
+    static constexpr auto& path = "config/led-save-group.json";
+    static constexpr auto& bmcBooted =
+        "/xyz/openbmc_project/led/groups/bmc_booted";
+    static constexpr auto& powerOn = "/xyz/openbmc_project/led/groups/power_on";
+    static constexpr auto& enclosureIdentify =
+        "/xyz/openbmc_project/led/groups/EnclosureIdentify";
+
+    Serialize serialize(path);
+
+    serialize.storeGroups(bmcBooted, true);
+    ASSERT_EQ(true, serialize.getGroupSavedState(bmcBooted));
+
+    serialize.storeGroups(powerOn, true);
+    ASSERT_EQ(true, serialize.getGroupSavedState(powerOn));
+
+    serialize.storeGroups(bmcBooted, false);
+    ASSERT_EQ(false, serialize.getGroupSavedState(bmcBooted));
+
+    serialize.storeGroups(enclosureIdentify, true);
+    ASSERT_EQ(true, serialize.getGroupSavedState(enclosureIdentify));
+
+    Serialize newSerial(path);
+
+    ASSERT_EQ(true, newSerial.getGroupSavedState(powerOn));
+    ASSERT_EQ(true, newSerial.getGroupSavedState(enclosureIdentify));
+
+    newSerial.storeGroups(powerOn, false);
+    ASSERT_EQ(false, newSerial.getGroupSavedState(powerOn));
+
+    newSerial.storeGroups(enclosureIdentify, false);
+    ASSERT_EQ(false, newSerial.getGroupSavedState(enclosureIdentify));
+}
