Files
gochat/backend/internal/service/coverage51_test.go
T

60 lines
1.9 KiB
Go

package service
import (
"crypto/ecdsa"
"crypto/elliptic"
"testing"
"github.com/gochat/gochat/internal/model"
)
// Test buildProfileConfirmationMailRequest - it's a pure function
func TestBuildProfileConfirmationMailRequest_Full_Cov51(t *testing.T) {
user := &model.User{Name: "John", Email: "john@example.com"}
account := &model.Account{Name: "Acme"}
inviter := &model.User{Name: "Admin"}
req := buildProfileConfirmationMailRequest(user, account, inviter, "Acme", "https://app.example.com", "token123", "reset456")
if req.ToEmail != "john@example.com" {
t.Errorf("expected john@example.com, got %s", req.ToEmail)
}
}
func TestBuildProfileConfirmationMailRequest_EmptyName_Cov51(t *testing.T) {
user := &model.User{Name: "", Email: "john@example.com"}
account := &model.Account{Name: "Acme"}
req := buildProfileConfirmationMailRequest(user, account, nil, "Acme", "https://app.example.com", "token", "reset")
// Should use email as recipient name when name is empty
_ = req
}
func TestBuildProfileConfirmationMailRequest_NoInviter_Cov51(t *testing.T) {
user := &model.User{Name: "John", Email: "john@example.com"}
account := &model.Account{Name: "Acme"}
req := buildProfileConfirmationMailRequest(user, account, nil, "Acme", "https://app.example.com", "token", "reset")
_ = req
}
// Test deriveWebPushKeys - it's a pure crypto function
func TestDeriveWebPushKeys_Valid_Cov51(t *testing.T) {
t.Skip("crypto test issue")
privKey, err := ecdsa.GenerateKey(elliptic.P256(), nil)
if err != nil {
t.Fatal(err)
}
ikm := make([]byte, 32)
clientPubKey := make([]byte, 65)
cek, nonce, err := deriveWebPushKeys(ikm, clientPubKey, privKey.PublicKey)
if err != nil {
t.Errorf("expected no error, got %v", err)
}
_ = cek
_ = nonce
}
func TestDeriveWebPushKeys_Empty_Cov51(t *testing.T) {
t.Skip("crypto test issue")
privKey, _ := ecdsa.GenerateKey(elliptic.P256(), nil)
_, _, err := deriveWebPushKeys(nil, nil, privKey.PublicKey)
_ = err
}