diff --git a/indexedDb/implementation.go b/indexedDb/implementation.go
index 8a437467b2bc8ea355b1df91eb95f3df1e55eb7b..2763d924372e37745035f51116b8a869a1b1e2ae 100644
--- a/indexedDb/implementation.go
+++ b/indexedDb/implementation.go
@@ -258,11 +258,12 @@ func (w *wasmModel) receiveHelper(newMessage *Message) error {
 	if err != nil {
 		return errors.Errorf("Upserting Message failed: %+v", err)
 	}
-	jww.DEBUG.Printf("Successfully received message: %s", newMessage.Id)
+	jww.DEBUG.Printf("Successfully stored message from %s",
+		newMessage.SenderUsername)
 	return nil
 }
 
-// dump is used to output given ObjectStore contents to log for debugging
+// dump given [idb.ObjectStore] contents to string slice for debugging purposes
 func (w *wasmModel) dump(objectStoreName string) ([]string, error) {
 	parentErr := errors.Errorf("failed to dump %s", objectStoreName)
 
diff --git a/indexedDb/implementation_test.go b/indexedDb/implementation_test.go
index 3cdcfb2cb341ee39b7c95d0226bbf11173111336..a7b005abb782c0151bb0045d0eb9239c611ac947 100644
--- a/indexedDb/implementation_test.go
+++ b/indexedDb/implementation_test.go
@@ -8,17 +8,78 @@
 package indexedDb
 
 import (
+	"encoding/json"
 	jww "github.com/spf13/jwalterweatherman"
+	"gitlab.com/elixxir/client/channels"
 	cryptoBroadcast "gitlab.com/elixxir/crypto/broadcast"
+	"gitlab.com/elixxir/crypto/channel"
 	"gitlab.com/xx_network/primitives/id"
+	"os"
 	"testing"
+	"time"
 )
 
-func TestWasmModel_JoinChannel_LeaveChannel(t *testing.T) {
-	testDbName := "test"
-	jww.SetStdoutThreshold(jww.LevelTrace)
+func TestMain(m *testing.M) {
+	jww.SetStdoutThreshold(jww.LevelDebug)
+	os.Exit(m.Run())
+}
+
+// Test UpdateSentStatus happy path and ensure fields don't change
+func TestWasmModel_UpdateSentStatus(t *testing.T) {
+	testString := "test"
+	testMsgId := channel.MakeMessageID([]byte(testString))
+	eventModel, err := newWasmModel(testString)
+	if err != nil {
+		t.Fatalf("%+v", err)
+	}
+
+	// Store a test message
+	testMsg := buildMessage([]byte(testString), testMsgId.Bytes(),
+		nil, testString, testString, time.Now(), time.Second, channels.Sent)
+	err = eventModel.receiveHelper(testMsg)
+	if err != nil {
+		t.Fatalf("%+v", err)
+	}
+
+	// Ensure one message is stored
+	results, err := eventModel.dump(messageStoreName)
+	if err != nil {
+		t.Fatalf("%+v", err)
+	}
+	if len(results) != 1 {
+		t.Fatalf("Expected 1 message to exist")
+	}
 
-	eventModel, err := newWasmModel(testDbName)
+	// Update the sentStatus
+	expectedStatus := channels.Failed
+	eventModel.UpdateSentStatus(testMsgId, expectedStatus)
+
+	// Check the resulting status
+	results, err = eventModel.dump(messageStoreName)
+	if err != nil {
+		t.Fatalf("%+v", err)
+	}
+	if len(results) != 1 {
+		t.Fatalf("Expected 1 message to exist")
+	}
+	resultMsg := &Message{}
+	err = json.Unmarshal([]byte(results[0]), resultMsg)
+	if err != nil {
+		t.Fatalf("%+v", err)
+	}
+	if resultMsg.Status != uint8(expectedStatus) {
+		t.Fatalf("Unexpected Status: %v", resultMsg.Status)
+	}
+
+	// Make sure other fields didn't change
+	if resultMsg.SenderUsername != testString {
+		t.Fatalf("Unexpected SenderUsername: %v", resultMsg.SenderUsername)
+	}
+}
+
+// Smoke test JoinChannel/LeaveChannel happy paths
+func TestWasmModel_JoinChannel_LeaveChannel(t *testing.T) {
+	eventModel, err := newWasmModel("test")
 	if err != nil {
 		t.Fatalf("%+v", err)
 	}