| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- package cloudcost
- import (
- "testing"
- )
- func TestParseSortDirection(t *testing.T) {
- tests := map[string]struct {
- input string
- want SortDirection
- wantErr bool
- }{
- "Empty String": {
- input: "",
- want: SortDirectionNone,
- wantErr: true,
- },
- "invalid input": {
- input: "invalid",
- want: SortDirectionNone,
- wantErr: true,
- },
- "upper case ascending": {
- input: "ASC",
- want: SortDirectionAscending,
- wantErr: false,
- },
- "lower case ascending": {
- input: "asc",
- want: SortDirectionAscending,
- wantErr: false,
- },
- "upper case descending": {
- input: "DESC",
- want: SortDirectionDescending,
- wantErr: false,
- },
- "lower case descending": {
- input: "desc",
- want: SortDirectionDescending,
- wantErr: false,
- },
- }
- for name, tt := range tests {
- t.Run(name, func(t *testing.T) {
- got, err := ParseSortDirection(tt.input)
- if (err != nil) != tt.wantErr {
- t.Errorf("ParseSortDirection() error = %v, wantErr %v", err, tt.wantErr)
- return
- }
- if got != tt.want {
- t.Errorf("ParseSortDirection() got = %v, want %v", got, tt.want)
- }
- })
- }
- }
- func TestParseSortField(t *testing.T) {
- tests := map[string]struct {
- input string
- want SortField
- wantErr bool
- }{
- "Empty String": {
- input: "",
- want: SortFieldNone,
- wantErr: true,
- },
- "invalid input": {
- input: "invalid",
- want: SortFieldNone,
- wantErr: true,
- },
- "upper case cost": {
- input: "Cost",
- want: SortFieldCost,
- wantErr: false,
- },
- "lower case cost": {
- input: "cost",
- want: SortFieldCost,
- wantErr: false,
- },
- "upper case k8s %": {
- input: "KubernetesPercent",
- want: SortFieldKubernetesPercent,
- wantErr: false,
- },
- "lower case k8s %": {
- input: "kubernetesPercent",
- want: SortFieldKubernetesPercent,
- wantErr: false,
- },
- "upper case name": {
- input: "Name",
- want: SortFieldName,
- wantErr: false,
- },
- "lower case Name": {
- input: "name",
- want: SortFieldName,
- wantErr: false,
- },
- }
- for name, tt := range tests {
- t.Run(name, func(t *testing.T) {
- got, err := ParseSortField(tt.input)
- if (err != nil) != tt.wantErr {
- t.Errorf("ParseSortField() error = %v, wantErr %v", err, tt.wantErr)
- return
- }
- if got != tt.want {
- t.Errorf("ParseSortField() got = %v, want %v", got, tt.want)
- }
- })
- }
- }
|