backend-service/internal/services/jitsi_service_test.go

96 lines
2.1 KiB
Go
Raw Normal View History

package services
import (
"testing"
"time"
"attune-heart-therapy/internal/config"
)
func TestJitsiService_CreateMeeting(t *testing.T) {
// Setup test config
cfg := &config.JitsiConfig{
BaseURL: "https://meet.jit.si",
}
service := NewJitsiService(cfg)
// Test creating a meeting
bookingID := uint(123)
scheduledAt := time.Now().Add(24 * time.Hour)
meeting, err := service.CreateMeeting(bookingID, scheduledAt)
if err != nil {
t.Fatalf("Expected no error, got %v", err)
}
if meeting == nil {
t.Fatal("Expected meeting to be created, got nil")
}
if meeting.RoomID == "" {
t.Error("Expected room ID to be generated")
}
if meeting.RoomURL == "" {
t.Error("Expected room URL to be generated")
}
// Verify URL format
expectedPrefix := "https://meet.jit.si/"
if len(meeting.RoomURL) <= len(expectedPrefix) {
t.Error("Expected room URL to contain room ID")
}
if meeting.RoomURL[:len(expectedPrefix)] != expectedPrefix {
t.Errorf("Expected room URL to start with %s, got %s", expectedPrefix, meeting.RoomURL)
}
}
func TestJitsiService_GetMeetingURL(t *testing.T) {
cfg := &config.JitsiConfig{
BaseURL: "https://meet.jit.si",
}
service := NewJitsiService(cfg)
roomID := "test-room-123"
url := service.GetMeetingURL(roomID)
expected := "https://meet.jit.si/test-room-123"
if url != expected {
t.Errorf("Expected URL %s, got %s", expected, url)
}
}
func TestJitsiService_GetMeetingURL_DefaultBaseURL(t *testing.T) {
// Test with empty base URL (should use default)
cfg := &config.JitsiConfig{
BaseURL: "",
}
service := NewJitsiService(cfg)
roomID := "test-room-456"
url := service.GetMeetingURL(roomID)
expected := "https://meet.jit.si/test-room-456"
if url != expected {
t.Errorf("Expected URL %s, got %s", expected, url)
}
}
func TestJitsiService_DeleteMeeting(t *testing.T) {
cfg := &config.JitsiConfig{
BaseURL: "https://meet.jit.si",
}
service := NewJitsiService(cfg)
// Test deleting a meeting (should not error)
err := service.DeleteMeeting("test-room-789")
if err != nil {
t.Errorf("Expected no error, got %v", err)
}
}