MCPcopy Index your code
hub / github.com/coder/coder / TestFeatureComparison

Function TestFeatureComparison

codersdk/deployment_test.go:874–1024  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

872}
873
874func TestFeatureComparison(t *testing.T) {
875 t.Parallel()
876
877 testCases := []struct {
878 Name string
879 A codersdk.Feature
880 B codersdk.Feature
881 Expected int
882 }{
883 {
884 Name: "Empty",
885 Expected: 0,
886 },
887 // Entitlement check
888 // Entitled
889 {
890 Name: "EntitledVsGracePeriod",
891 A: codersdk.Feature{Entitlement: codersdk.EntitlementEntitled},
892 B: codersdk.Feature{Entitlement: codersdk.EntitlementGracePeriod},
893 Expected: 1,
894 },
895 {
896 Name: "EntitledVsGracePeriodLimits",
897 A: codersdk.Feature{Entitlement: codersdk.EntitlementEntitled},
898 // Entitled should still win here
899 B: codersdk.Feature{Entitlement: codersdk.EntitlementGracePeriod, Limit: ptr.Ref[int64](100), Actual: ptr.Ref[int64](50)},
900 Expected: 1,
901 },
902 {
903 Name: "EntitledVsNotEntitled",
904 A: codersdk.Feature{Entitlement: codersdk.EntitlementEntitled},
905 B: codersdk.Feature{Entitlement: codersdk.EntitlementNotEntitled},
906 Expected: 3,
907 },
908 {
909 Name: "EntitledVsUnknown",
910 A: codersdk.Feature{Entitlement: codersdk.EntitlementEntitled},
911 B: codersdk.Feature{Entitlement: ""},
912 Expected: 4,
913 },
914 // GracePeriod
915 {
916 Name: "GracefulVsNotEntitled",
917 A: codersdk.Feature{Entitlement: codersdk.EntitlementGracePeriod},
918 B: codersdk.Feature{Entitlement: codersdk.EntitlementNotEntitled},
919 Expected: 2,
920 },
921 {
922 Name: "GracefulVsUnknown",
923 A: codersdk.Feature{Entitlement: codersdk.EntitlementGracePeriod},
924 B: codersdk.Feature{Entitlement: ""},
925 Expected: 3,
926 },
927 // NotEntitled
928 {
929 Name: "NotEntitledVsUnknown",
930 A: codersdk.Feature{Entitlement: codersdk.EntitlementNotEntitled},
931 B: codersdk.Feature{Entitlement: ""},

Callers

nothing calls this directly

Calls 6

RefFunction · 0.92
CompareMethod · 0.80
RunMethod · 0.65
LogfMethod · 0.65
EqualMethod · 0.45
MarshalMethod · 0.45

Tested by

no test coverage detected