You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

commit_status_test.go 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package structs
  4. import (
  5. "testing"
  6. )
  7. func TestNoBetterThan(t *testing.T) {
  8. type args struct {
  9. css CommitStatusState
  10. css2 CommitStatusState
  11. }
  12. var unExpectedState CommitStatusState
  13. tests := []struct {
  14. name string
  15. args args
  16. want bool
  17. }{
  18. {
  19. name: "success is no better than success",
  20. args: args{
  21. css: CommitStatusSuccess,
  22. css2: CommitStatusSuccess,
  23. },
  24. want: true,
  25. },
  26. {
  27. name: "success is no better than pending",
  28. args: args{
  29. css: CommitStatusSuccess,
  30. css2: CommitStatusPending,
  31. },
  32. want: false,
  33. },
  34. {
  35. name: "success is no better than failure",
  36. args: args{
  37. css: CommitStatusSuccess,
  38. css2: CommitStatusFailure,
  39. },
  40. want: false,
  41. },
  42. {
  43. name: "success is no better than error",
  44. args: args{
  45. css: CommitStatusSuccess,
  46. css2: CommitStatusError,
  47. },
  48. want: false,
  49. },
  50. {
  51. name: "pending is no better than success",
  52. args: args{
  53. css: CommitStatusPending,
  54. css2: CommitStatusSuccess,
  55. },
  56. want: true,
  57. },
  58. {
  59. name: "pending is no better than pending",
  60. args: args{
  61. css: CommitStatusPending,
  62. css2: CommitStatusPending,
  63. },
  64. want: true,
  65. },
  66. {
  67. name: "pending is no better than failure",
  68. args: args{
  69. css: CommitStatusPending,
  70. css2: CommitStatusFailure,
  71. },
  72. want: false,
  73. },
  74. {
  75. name: "pending is no better than error",
  76. args: args{
  77. css: CommitStatusPending,
  78. css2: CommitStatusError,
  79. },
  80. want: false,
  81. },
  82. {
  83. name: "failure is no better than success",
  84. args: args{
  85. css: CommitStatusFailure,
  86. css2: CommitStatusSuccess,
  87. },
  88. want: true,
  89. },
  90. {
  91. name: "failure is no better than pending",
  92. args: args{
  93. css: CommitStatusFailure,
  94. css2: CommitStatusPending,
  95. },
  96. want: true,
  97. },
  98. {
  99. name: "failure is no better than failure",
  100. args: args{
  101. css: CommitStatusFailure,
  102. css2: CommitStatusFailure,
  103. },
  104. want: true,
  105. },
  106. {
  107. name: "failure is no better than error",
  108. args: args{
  109. css: CommitStatusFailure,
  110. css2: CommitStatusError,
  111. },
  112. want: false,
  113. },
  114. {
  115. name: "error is no better than success",
  116. args: args{
  117. css: CommitStatusError,
  118. css2: CommitStatusSuccess,
  119. },
  120. want: true,
  121. },
  122. {
  123. name: "error is no better than pending",
  124. args: args{
  125. css: CommitStatusError,
  126. css2: CommitStatusPending,
  127. },
  128. want: true,
  129. },
  130. {
  131. name: "error is no better than failure",
  132. args: args{
  133. css: CommitStatusError,
  134. css2: CommitStatusFailure,
  135. },
  136. want: true,
  137. },
  138. {
  139. name: "error is no better than error",
  140. args: args{
  141. css: CommitStatusError,
  142. css2: CommitStatusError,
  143. },
  144. want: true,
  145. },
  146. {
  147. name: "unExpectedState is no better than success",
  148. args: args{
  149. css: unExpectedState,
  150. css2: CommitStatusSuccess,
  151. },
  152. want: false,
  153. },
  154. {
  155. name: "unExpectedState is no better than unExpectedState",
  156. args: args{
  157. css: unExpectedState,
  158. css2: unExpectedState,
  159. },
  160. want: false,
  161. },
  162. }
  163. for _, tt := range tests {
  164. t.Run(tt.name, func(t *testing.T) {
  165. result := tt.args.css.NoBetterThan(tt.args.css2)
  166. if result != tt.want {
  167. t.Errorf("NoBetterThan() = %v, want %v", result, tt.want)
  168. }
  169. })
  170. }
  171. }