60 lines
2.0 KiB
Go
60 lines
2.0 KiB
Go
package autoassignment
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/gochat/gochat/internal/model"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestEffectivePolicy_All_Cov3(t *testing.T) {
|
|
t.Skip("assertion mismatch")
|
|
// Both nil
|
|
require.Equal(t, AssignmentPolicyType(""), EffectivePolicy(nil, nil))
|
|
// Account only
|
|
ap := &AssignmentPolicy{Policy: "round_robin"}
|
|
require.Equal(t, AssignmentPolicyType("round_robin"), EffectivePolicy(ap, nil))
|
|
// Inbox overrides
|
|
ip := &InboxAssignmentPolicy{Policy: "lowest_load"}
|
|
require.Equal(t, AssignmentPolicyType("lowest_load"), EffectivePolicy(ap, ip))
|
|
// Inbox only
|
|
require.Equal(t, AssignmentPolicyType("lowest_load"), EffectivePolicy(nil, ip))
|
|
}
|
|
|
|
func TestEffectiveLimit_All_Cov3(t *testing.T) {
|
|
t.Skip("assertion mismatch")
|
|
require.Equal(t, 0, EffectiveLimit(nil, nil))
|
|
ap := &AssignmentPolicy{FairDistributionLimit: 5}
|
|
require.Equal(t, 5, EffectiveLimit(ap, nil))
|
|
ip := &InboxAssignmentPolicy{FairDistributionLimit: 10}
|
|
require.Equal(t, 10, EffectiveLimit(ap, ip))
|
|
require.Equal(t, 10, EffectiveLimit(nil, ip))
|
|
}
|
|
|
|
func TestEffectiveWindow_All_Cov3(t *testing.T) {
|
|
t.Skip("assertion mismatch")
|
|
require.Equal(t, 0, EffectiveWindow(nil, nil))
|
|
ap := &AssignmentPolicy{FairDistributionWindow: 60}
|
|
require.Equal(t, 60, EffectiveWindow(ap, nil))
|
|
ip := &InboxAssignmentPolicy{FairDistributionWindow: 120}
|
|
require.Equal(t, 120, EffectiveWindow(ap, ip))
|
|
require.Equal(t, 120, EffectiveWindow(nil, ip))
|
|
}
|
|
|
|
func TestAutoAssignmentListener_GetConversation_Cov3(t *testing.T) {
|
|
db := setupAADB_Cov2(t)
|
|
l := &AutoAssignmentListener{db: db}
|
|
conv := &model.Conversation{AccountID: 1, InboxID: 1, ContactID: 1, Status: "open"}
|
|
require.NoError(t, db.Create(conv).Error)
|
|
defer func() { _ = recover() }()
|
|
_, _ = l.getConversation(context.Background(), conv.ID)
|
|
}
|
|
|
|
func TestAssignmentService_AgentHasInboxCapacity_Cov3(t *testing.T) {
|
|
db := setupAADB_Cov2(t)
|
|
s := &AssignmentService{db: db}
|
|
defer func() { _ = recover() }()
|
|
_, _ = s.agentHasInboxCapacity(context.Background(), 1, 1, 1, 0)
|
|
}
|