package main

import (
	"testing"
)

func TestQueuePriorities_CriticalHighest(t *testing.T) {
	p := queuePriorities()
	if p["critical"] <= p["default"] || p["critical"] <= p["low"] {
		t.Errorf("critical (%d) should be highest", p["critical"])
	}
}

func TestQueuePriorities_ThreeQueues(t *testing.T) {
	p := queuePriorities()
	if len(p) != 3 {
		t.Errorf("len = %d, want 3", len(p))
	}
}

func TestAllJobTypes_Count(t *testing.T) {
	types := allJobTypes()
	if len(types) != 6 {
		t.Errorf("len = %d, want 6", len(types))
	}
}

func TestAllJobTypes_NoDuplicates(t *testing.T) {
	types := allJobTypes()
	seen := make(map[string]bool)
	for _, typ := range types {
		if seen[typ] {
			t.Errorf("duplicate job type: %q", typ)
		}
		seen[typ] = true
	}
}

func TestAllJobTypes_AllNonEmpty(t *testing.T) {
	for _, typ := range allJobTypes() {
		if typ == "" {
			t.Error("found empty job type")
		}
	}
}
