11package generator
22
33import (
4- "github.com/brianvoe/gofakeit/v6"
5- "github.com/stretchr/testify/require"
64 "mokapi/schema/json/schema/schematest"
75 "testing"
6+ "time"
7+
8+ "github.com/brianvoe/gofakeit/v6"
9+ "github.com/stretchr/testify/require"
810)
911
1012func TestStringDate (t * testing.T ) {
13+ // tests depends on current year so without this, all tests will break in next year
14+ isDateString := func (t * testing.T , s any ) {
15+ _ , err := time .Parse ("2006-01-02" , s .(string ))
16+ require .NoError (t , err )
17+ }
18+ isDateTimeString := func (t * testing.T , s any ) {
19+ _ , err := time .Parse (time .RFC3339 , s .(string ))
20+ require .NoError (t , err )
21+ }
22+
1123 testcases := []struct {
1224 name string
1325 req * Request
@@ -21,7 +33,7 @@ func TestStringDate(t *testing.T) {
2133 },
2234 test : func (t * testing.T , v interface {}, err error ) {
2335 require .NoError (t , err )
24- require . Equal ( t , "2020-08-26" , v )
36+ isDateString ( t , v )
2537 },
2638 },
2739 {
@@ -31,7 +43,7 @@ func TestStringDate(t *testing.T) {
3143 },
3244 test : func (t * testing.T , v interface {}, err error ) {
3345 require .NoError (t , err )
34- require . Equal ( t , "2020-08-26" , v )
46+ isDateString ( t , v )
3547 },
3648 },
3749 {
@@ -41,7 +53,7 @@ func TestStringDate(t *testing.T) {
4153 },
4254 test : func (t * testing.T , v interface {}, err error ) {
4355 require .NoError (t , err )
44- require . Equal ( t , "2020-08-26" , v )
56+ isDateString ( t , v )
4557 },
4658 },
4759 {
@@ -51,7 +63,7 @@ func TestStringDate(t *testing.T) {
5163 },
5264 test : func (t * testing.T , v interface {}, err error ) {
5365 require .NoError (t , err )
54- require . Equal ( t , "2020-08-26" , v )
66+ isDateString ( t , v )
5567 },
5668 },
5769 {
@@ -61,7 +73,7 @@ func TestStringDate(t *testing.T) {
6173 },
6274 test : func (t * testing.T , v interface {}, err error ) {
6375 require .NoError (t , err )
64- require . Equal ( t , "2020-08-26" , v )
76+ isDateString ( t , v )
6577 },
6678 },
6779 {
@@ -71,7 +83,7 @@ func TestStringDate(t *testing.T) {
7183 },
7284 test : func (t * testing.T , v interface {}, err error ) {
7385 require .NoError (t , err )
74- require . Equal ( t , "2020-08-26" , v )
86+ isDateString ( t , v )
7587 },
7688 },
7789 {
@@ -81,7 +93,7 @@ func TestStringDate(t *testing.T) {
8193 },
8294 test : func (t * testing.T , v interface {}, err error ) {
8395 require .NoError (t , err )
84- require . Equal ( t , "2020-08-26" , v )
96+ isDateString ( t , v )
8597 },
8698 },
8799 {
@@ -91,7 +103,7 @@ func TestStringDate(t *testing.T) {
91103 },
92104 test : func (t * testing.T , v interface {}, err error ) {
93105 require .NoError (t , err )
94- require . Equal ( t , "2020-08-26" , v )
106+ isDateString ( t , v )
95107 },
96108 },
97109 {
@@ -101,7 +113,7 @@ func TestStringDate(t *testing.T) {
101113 },
102114 test : func (t * testing.T , v interface {}, err error ) {
103115 require .NoError (t , err )
104- require . Equal ( t , "2020-08-26" , v )
116+ isDateString ( t , v )
105117 },
106118 },
107119 {
@@ -111,7 +123,7 @@ func TestStringDate(t *testing.T) {
111123 },
112124 test : func (t * testing.T , v interface {}, err error ) {
113125 require .NoError (t , err )
114- require . Equal ( t , "1970-08-26" , v )
126+ isDateString ( t , v )
115127 },
116128 },
117129 {
@@ -124,7 +136,9 @@ func TestStringDate(t *testing.T) {
124136 },
125137 test : func (t * testing.T , v interface {}, err error ) {
126138 require .NoError (t , err )
127- require .Equal (t , map [string ]any {"activeFrom" : "2020-08-26T07:02:11Z" , "inactiveFrom" : "2029-08-30T11:01:28Z" }, v )
139+ m := v .(map [string ]interface {})
140+ isDateTimeString (t , m ["activeFrom" ])
141+ isDateTimeString (t , m ["inactiveFrom" ])
128142 },
129143 },
130144 {
@@ -137,7 +151,9 @@ func TestStringDate(t *testing.T) {
137151 },
138152 test : func (t * testing.T , v interface {}, err error ) {
139153 require .NoError (t , err )
140- require .Equal (t , map [string ]any {"publishedFrom" : "2020-08-26T07:02:11Z" , "publishedUntil" : "2029-08-30T11:01:28Z" }, v )
154+ m := v .(map [string ]interface {})
155+ isDateTimeString (t , m ["publishedFrom" ])
156+ isDateTimeString (t , m ["publishedUntil" ])
141157 },
142158 },
143159 }
0 commit comments