@@ -4,6 +4,7 @@ import { advanceTo, clear } from 'jest-date-mock';
44
55import {
66 fakeEvent ,
7+ fakeOffers ,
78 fakeSignup ,
89 fakeSignupGroup ,
910 fakeSignupPaymentCancellation ,
@@ -166,7 +167,7 @@ describe('canEditSignup function', () => {
166167
167168describe ( 'canECancelSignup function' , ( ) => {
168169 const editableEvent = fakeEvent ( { start_time : '2024-06-24' } ) ;
169- const cases : [ Signup , SignupGroup | undefined , Event , boolean ] [ ] = [
170+ const cases : [ Signup , SignupGroup | undefined , Event , boolean , string ] [ ] = [
170171 [
171172 fakeSignup ( {
172173 has_contact_person_access : false ,
@@ -175,6 +176,7 @@ describe('canECancelSignup function', () => {
175176 undefined ,
176177 editableEvent ,
177178 false ,
179+ '2024-06-01' ,
178180 ] ,
179181 [
180182 fakeSignup ( {
@@ -184,6 +186,7 @@ describe('canECancelSignup function', () => {
184186 undefined ,
185187 editableEvent ,
186188 true ,
189+ '2024-06-01' ,
187190 ] ,
188191 [
189192 fakeSignup ( {
@@ -193,8 +196,15 @@ describe('canECancelSignup function', () => {
193196 undefined ,
194197 editableEvent ,
195198 true ,
199+ '2024-06-01' ,
200+ ] ,
201+ [
202+ fakeSignup ( editableSignupOverride ) ,
203+ undefined ,
204+ editableEvent ,
205+ true ,
206+ '2024-06-01' ,
196207 ] ,
197- [ fakeSignup ( editableSignupOverride ) , undefined , editableEvent , true ] ,
198208 [
199209 fakeSignup ( {
200210 ...editableSignupOverride ,
@@ -203,6 +213,7 @@ describe('canECancelSignup function', () => {
203213 undefined ,
204214 editableEvent ,
205215 false ,
216+ '2024-06-01' ,
206217 ] ,
207218 [
208219 fakeSignup ( {
@@ -212,6 +223,7 @@ describe('canECancelSignup function', () => {
212223 undefined ,
213224 editableEvent ,
214225 false ,
226+ '2024-06-01' ,
215227 ] ,
216228 [
217229 fakeSignup ( editableSignupOverride ) ,
@@ -220,6 +232,7 @@ describe('canECancelSignup function', () => {
220232 } ) ,
221233 editableEvent ,
222234 false ,
235+ '2024-06-01' ,
223236 ] ,
224237 [
225238 fakeSignup ( editableSignupOverride ) ,
@@ -228,19 +241,41 @@ describe('canECancelSignup function', () => {
228241 } ) ,
229242 editableEvent ,
230243 false ,
244+ '2024-06-01' ,
231245 ] ,
232246 [
233247 fakeSignup ( editableSignupOverride ) ,
234248 undefined ,
235249 fakeEvent ( { start_time : '2024-01-01' } ) ,
236250 false ,
251+ '2024-06-01' ,
252+ ] ,
253+ [
254+ fakeSignup ( editableSignupOverride ) ,
255+ undefined ,
256+ fakeEvent ( {
257+ offers : fakeOffers ( 1 , [ { is_free : false } ] ) ,
258+ start_time : '2026-02-01T10:00:00Z' ,
259+ } ) ,
260+ true ,
261+ '2026-01-25T21:59:00Z' ,
262+ ] ,
263+ [
264+ fakeSignup ( editableSignupOverride ) ,
265+ undefined ,
266+ fakeEvent ( {
267+ offers : fakeOffers ( 1 , [ { is_free : false } ] ) ,
268+ start_time : '2026-02-01T10:00:00Z' ,
269+ } ) ,
270+ false ,
271+ '2026-01-25T22:00:00Z' ,
237272 ] ,
238273 ] ;
239274
240275 it . each ( cases ) (
241276 'should return true if signup can be cancelled' ,
242- ( signup , signupGroup , event , expectedResult ) => {
243- advanceTo ( '2024-06-01' ) ;
277+ ( signup , signupGroup , event , expectedResult , now ) => {
278+ advanceTo ( now ) ;
244279 expect ( canCancelSignup ( { event, signup, signupGroup } ) ) . toBe (
245280 expectedResult
246281 ) ;
@@ -250,8 +285,14 @@ describe('canECancelSignup function', () => {
250285
251286describe ( 'canEditSignup function' , ( ) => {
252287 const editableEvent = fakeEvent ( { start_time : '2024-06-24' } ) ;
253- const cases : [ Signup , SignupGroup | undefined , Event , string ] [ ] = [
254- [ fakeSignup ( editableSignupOverride ) , undefined , editableEvent , '' ] ,
288+ const cases : [ Signup , SignupGroup | undefined , Event , string , string ] [ ] = [
289+ [
290+ fakeSignup ( editableSignupOverride ) ,
291+ undefined ,
292+ editableEvent ,
293+ '' ,
294+ '2024-06-01' ,
295+ ] ,
255296 [
256297 fakeSignup ( {
257298 has_contact_person_access : false ,
@@ -260,6 +301,7 @@ describe('canEditSignup function', () => {
260301 undefined ,
261302 editableEvent ,
262303 'Sinulla ei ole oikeuksia muokata ilmoittautumisen tietoja.' ,
304+ '2024-06-01' ,
263305 ] ,
264306 [
265307 fakeSignup ( {
@@ -269,6 +311,7 @@ describe('canEditSignup function', () => {
269311 undefined ,
270312 editableEvent ,
271313 'Ilmoittautumisen maksua perutaan eikä sitä voi muokata.' ,
314+ '2024-06-01' ,
272315 ] ,
273316 [
274317 fakeSignup ( {
@@ -278,6 +321,7 @@ describe('canEditSignup function', () => {
278321 undefined ,
279322 editableEvent ,
280323 'Ilmoittautumisen maksua hyvitetään eikä sitä voi muokata.' ,
324+ '2024-06-01' ,
281325 ] ,
282326 [
283327 fakeSignup ( editableSignupOverride ) ,
@@ -286,6 +330,7 @@ describe('canEditSignup function', () => {
286330 } ) ,
287331 editableEvent ,
288332 'Ilmoittautumisen maksua perutaan eikä sitä voi muokata.' ,
333+ '2024-06-01' ,
289334 ] ,
290335 [
291336 fakeSignup ( editableSignupOverride ) ,
@@ -294,25 +339,38 @@ describe('canEditSignup function', () => {
294339 } ) ,
295340 editableEvent ,
296341 'Ilmoittautumisen maksua hyvitetään eikä sitä voi muokata.' ,
342+ '2024-06-01' ,
297343 ] ,
298344 [
299345 fakeSignup ( editableSignupOverride ) ,
300346 undefined ,
301347 fakeEvent ( { start_time : '2024-01-01' } ) ,
302348 'Tapahtuman on jo alkanut eikä ilmoittautumista voi perua.' ,
349+ '2024-06-01' ,
350+ ] ,
351+ [
352+ fakeSignup ( editableSignupOverride ) ,
353+ undefined ,
354+ fakeEvent ( {
355+ offers : fakeOffers ( 1 , [ { is_free : false } ] ) ,
356+ start_time : '2026-02-01T10:00:00Z' ,
357+ } ) ,
358+ 'Maksullisen tapahtuman ilmoittautumisen voi perua viimeistään 7 päivää ennen tapahtuman alkua.' ,
359+ '2026-01-25T22:00:00Z' ,
303360 ] ,
304361 [
305362 fakeSignup ( editableSignupOverride ) ,
306363 undefined ,
307364 fakeEvent ( { start_time : null } ) ,
308365 '' ,
366+ '2024-06-01' ,
309367 ] ,
310368 ] ;
311369
312370 it . each ( cases ) (
313371 'should return correct cancel signup warning' ,
314- ( signup , signupGroup , event , expectedResult ) => {
315- advanceTo ( '2024-06-01' ) ;
372+ ( signup , signupGroup , event , expectedResult , now ) => {
373+ advanceTo ( now ) ;
316374 expect (
317375 getCancelSignupWarning ( {
318376 event,
0 commit comments