@@ -20,26 +20,38 @@ func TestNullTime_MarshalJSON(t *testing.T) {
20
20
bt1 , err := json .Marshal (t1 )
21
21
require .NoError (t , err )
22
22
23
- type fields struct {
24
- time time.Time
25
- valid bool
26
- }
27
23
tests := []struct {
28
- name string
29
- fields fields
30
- want string
24
+ name string
25
+ input sql. NullTime
26
+ want string
31
27
}{
32
- {"valid zero" , fields {time : time.Time {}, valid : true }, `"0001-01-01T00:00:00Z"` },
33
- {"invalid zero" , fields {time : time.Time {}, valid : false }, "null" },
34
- {"valid time" , fields {time : t1 , valid : true }, string (bt1 )},
35
- {"null time" , fields {time : t1 , valid : false }, "null" },
28
+ {
29
+ name : "valid zero" ,
30
+ input : sql.NullTime {Valid : true },
31
+ want : `"0001-01-01T00:00:00Z"` ,
32
+ },
33
+ {
34
+ name : "invalid zero" ,
35
+ input : sql.NullTime {Valid : false },
36
+ want : "null" ,
37
+ },
38
+ {
39
+ name : "valid time" ,
40
+ input : sql.NullTime {Time : t1 , Valid : true },
41
+ want : string (bt1 ),
42
+ },
43
+ {
44
+ name : "null time" ,
45
+ input : sql.NullTime {Time : t1 , Valid : false },
46
+ want : "null" ,
47
+ },
36
48
}
37
49
for _ , tt := range tests {
38
50
tt := tt
39
51
t .Run (tt .name , func (t * testing.T ) {
40
52
t .Parallel ()
41
53
42
- tr := codersdk .NewNullTime (tt .fields . time , tt .fields . valid )
54
+ tr := codersdk .NewNullTime (tt .input . Time , tt .input . Valid )
43
55
got , err := tr .MarshalJSON ()
44
56
require .NoError (t , err )
45
57
require .Equal (t , tt .want , string (got ))
@@ -78,7 +90,6 @@ func TestNullTime_UnmarshalJSON(t *testing.T) {
78
90
{
79
91
name : "empty string" ,
80
92
data : `{"time": ""}` ,
81
- want : codersdk.NullTime {},
82
93
wantErr : true ,
83
94
},
84
95
{
@@ -89,7 +100,6 @@ func TestNullTime_UnmarshalJSON(t *testing.T) {
89
100
{
90
101
name : "invalid time" ,
91
102
data : fmt .Sprintf (`{"time": %q}` , `2022-08-18T00:00:00` ),
92
- want : codersdk.NullTime {},
93
103
wantErr : true ,
94
104
},
95
105
}
0 commit comments