99 "strings"
1010 "testing"
1111
12+ "github.com/alexedwards/scs/v2"
13+ "github.com/alexedwards/scs/v2/memstore"
1214 "snippetbox.tonidefez.net/internal/models"
1315)
1416
@@ -85,13 +87,19 @@ func TestSnippetView(t *testing.T) {
8587 t .Fatal (err )
8688 }
8789
90+ // Create fake session manager
91+ sessionManager := scs .New ()
92+ sessionManager .Store = memstore .New ()
93+
8894 app := & Application {
89- logger : dummyLogger ,
90- snippets : & models.MockSnippetModel {},
91- templateCache : templateCache ,
95+ logger : dummyLogger ,
96+ snippets : & models.MockSnippetModel {},
97+ templateCache : templateCache ,
98+ sessionManager : sessionManager ,
9299 }
93100
94- router := app .routes ()
101+ //Be sure to manage session for each route
102+ router := app .sessionManager .LoadAndSave (app .routes ())
95103 router .ServeHTTP (rr , req )
96104
97105 // verify status
@@ -115,18 +123,22 @@ func TestSnippetCreateGet(t *testing.T) {
115123 dummyLogger := slog .New (slog .NewTextHandler (io .Discard , nil ))
116124 dummyDB := & models.SnippetModel {DB : nil }
117125 templateCache , err := newTemplateCache ()
126+ // Create fake session manager
127+ sessionManager := scs .New ()
128+ sessionManager .Store = memstore .New ()
118129
119130 if err != nil {
120131 t .Fatal (err )
121132 }
122133
123134 app := & Application {
124- logger : dummyLogger ,
125- snippets : dummyDB ,
126- templateCache : templateCache ,
135+ logger : dummyLogger ,
136+ snippets : dummyDB ,
137+ templateCache : templateCache ,
138+ sessionManager : sessionManager ,
127139 }
128140
129- router := app .routes ()
141+ router := app .sessionManager . LoadAndSave ( app . routes () )
130142 router .ServeHTTP (rr , req )
131143
132144 // verify status
@@ -144,13 +156,18 @@ func TestSnippetCreatePost(t *testing.T) {
144156
145157 dummyLogger := slog .New (slog .NewTextHandler (io .Discard , nil ))
146158
159+ // Create fake session manager
160+ sessionManager := scs .New ()
161+ sessionManager .Store = memstore .New ()
162+
147163 // simulate dependencies
148164 app := & Application {
149- logger : dummyLogger ,
150- snippets : & models.MockSnippetModel {},
165+ logger : dummyLogger ,
166+ snippets : & models.MockSnippetModel {},
167+ sessionManager : sessionManager ,
151168 }
152169
153- router := app .routes ()
170+ router := app .sessionManager . LoadAndSave ( app . routes () )
154171 router .ServeHTTP (rr , req )
155172
156173 // Verificar redirección
@@ -172,8 +189,14 @@ func TestSnippetCreatePost_InvalidData(t *testing.T) {
172189 if err != nil {
173190 t .Fatal (err )
174191 }
192+
193+ // Create fake session manager
194+ sessionManager := scs .New ()
195+ sessionManager .Store = memstore .New ()
196+
175197 app := & Application {
176- templateCache : templateCache ,
198+ templateCache : templateCache ,
199+ sessionManager : sessionManager ,
177200 }
178201
179202 form := url.Values {}
@@ -186,7 +209,7 @@ func TestSnippetCreatePost_InvalidData(t *testing.T) {
186209
187210 rr := httptest .NewRecorder ()
188211
189- app .SnippetCreatePost (rr , req )
212+ app .sessionManager . LoadAndSave ( http . HandlerFunc ( app . SnippetCreatePost )). ServeHTTP (rr , req )
190213
191214 res := rr .Result ()
192215 defer res .Body .Close ()
0 commit comments