@@ -404,5 +404,216 @@ def test_when_valid_dictionary_returned_then_it_can_be_parsed_into_fan_club_obje
404404 # Act
405405 result = FanClubResponse .parse_obj (data )
406406
407+ # Assert
408+ assert result is not None
409+
410+ def test_when_forecast_is_none_then_it_can_be_parsed_into_fan_club_object ():
411+ # Arrange
412+ data = {
413+ "fanClubStatus" : [
414+ {
415+ "discountSource" : "#1 Fan: Market Weighton - Carr Farm" ,
416+ "current" : {
417+ "startAt" : "2023-11-19T22:08:00.300415+00:00" ,
418+ "discount" : "0.500"
419+ },
420+ "historic" : [
421+ {
422+ "startAt" : "2023-11-19T21:30:00+00:00" ,
423+ "discount" : "0.500"
424+ },
425+ {
426+ "startAt" : "2023-11-19T21:00:00+00:00" ,
427+ "discount" : "0.500"
428+ },
429+ {
430+ "startAt" : "2023-11-19T20:30:00+00:00" ,
431+ "discount" : "0.500"
432+ },
433+ {
434+ "startAt" : "2023-11-19T20:00:00+00:00" ,
435+ "discount" : "0.500"
436+ },
437+ {
438+ "startAt" : "2023-11-19T19:30:00+00:00" ,
439+ "discount" : "0.200"
440+ },
441+ {
442+ "startAt" : "2023-11-19T19:00:00+00:00" ,
443+ "discount" : "0.200"
444+ },
445+ {
446+ "startAt" : "2023-11-19T18:30:00+00:00" ,
447+ "discount" : "0.200"
448+ },
449+ {
450+ "startAt" : "2023-11-19T18:00:00+00:00" ,
451+ "discount" : "0.200"
452+ },
453+ {
454+ "startAt" : "2023-11-19T17:30:00+00:00" ,
455+ "discount" : "0.200"
456+ },
457+ {
458+ "startAt" : "2023-11-19T17:00:00+00:00" ,
459+ "discount" : "0.200"
460+ },
461+ {
462+ "startAt" : "2023-11-19T16:30:00+00:00" ,
463+ "discount" : "0.200"
464+ },
465+ {
466+ "startAt" : "2023-11-19T16:00:00+00:00" ,
467+ "discount" : "0.200"
468+ },
469+ {
470+ "startAt" : "2023-11-19T15:30:00+00:00" ,
471+ "discount" : "0.200"
472+ },
473+ {
474+ "startAt" : "2023-11-19T15:00:00+00:00" ,
475+ "discount" : "0.200"
476+ },
477+ {
478+ "startAt" : "2023-11-19T14:30:00+00:00" ,
479+ "discount" : "0.200"
480+ },
481+ {
482+ "startAt" : "2023-11-19T14:00:00+00:00" ,
483+ "discount" : "0.200"
484+ },
485+ {
486+ "startAt" : "2023-11-19T13:30:00+00:00" ,
487+ "discount" : "0.200"
488+ },
489+ {
490+ "startAt" : "2023-11-19T13:00:00+00:00" ,
491+ "discount" : "0.200"
492+ },
493+ {
494+ "startAt" : "2023-11-19T12:30:00+00:00" ,
495+ "discount" : "0.200"
496+ },
497+ {
498+ "startAt" : "2023-11-19T12:00:00+00:00" ,
499+ "discount" : "0.200"
500+ },
501+ {
502+ "startAt" : "2023-11-19T11:30:00+00:00" ,
503+ "discount" : "0.200"
504+ },
505+ {
506+ "startAt" : "2023-11-19T11:00:00+00:00" ,
507+ "discount" : "0.500"
508+ },
509+ {
510+ "startAt" : "2023-11-19T10:30:00+00:00" ,
511+ "discount" : "0.500"
512+ },
513+ {
514+ "startAt" : "2023-11-19T10:00:00+00:00" ,
515+ "discount" : "0.500"
516+ },
517+ {
518+ "startAt" : "2023-11-19T09:30:00+00:00" ,
519+ "discount" : "0.500"
520+ },
521+ {
522+ "startAt" : "2023-11-19T09:00:00+00:00" ,
523+ "discount" : "0.500"
524+ },
525+ {
526+ "startAt" : "2023-11-19T08:30:00+00:00" ,
527+ "discount" : "0.500"
528+ },
529+ {
530+ "startAt" : "2023-11-19T08:00:00+00:00" ,
531+ "discount" : "0.500"
532+ },
533+ {
534+ "startAt" : "2023-11-19T07:30:00+00:00" ,
535+ "discount" : "0.200"
536+ },
537+ {
538+ "startAt" : "2023-11-19T07:00:00+00:00" ,
539+ "discount" : "0.500"
540+ },
541+ {
542+ "startAt" : "2023-11-19T06:30:00+00:00" ,
543+ "discount" : "0.200"
544+ },
545+ {
546+ "startAt" : "2023-11-19T06:00:00+00:00" ,
547+ "discount" : "0.200"
548+ },
549+ {
550+ "startAt" : "2023-11-19T05:30:00+00:00" ,
551+ "discount" : "0.500"
552+ },
553+ {
554+ "startAt" : "2023-11-19T05:00:00+00:00" ,
555+ "discount" : "0.500"
556+ },
557+ {
558+ "startAt" : "2023-11-19T04:30:00+00:00" ,
559+ "discount" : "0.200"
560+ },
561+ {
562+ "startAt" : "2023-11-19T04:00:00+00:00" ,
563+ "discount" : "0.500"
564+ },
565+ {
566+ "startAt" : "2023-11-19T03:30:00+00:00" ,
567+ "discount" : "0.500"
568+ },
569+ {
570+ "startAt" : "2023-11-19T03:00:00+00:00" ,
571+ "discount" : "0.500"
572+ },
573+ {
574+ "startAt" : "2023-11-19T02:30:00+00:00" ,
575+ "discount" : "0.500"
576+ },
577+ {
578+ "startAt" : "2023-11-19T02:00:00+00:00" ,
579+ "discount" : "0.500"
580+ },
581+ {
582+ "startAt" : "2023-11-19T01:30:00+00:00" ,
583+ "discount" : "0.500"
584+ },
585+ {
586+ "startAt" : "2023-11-19T01:00:00+00:00" ,
587+ "discount" : "0.500"
588+ },
589+ {
590+ "startAt" : "2023-11-19T00:30:00+00:00" ,
591+ "discount" : "0.500"
592+ },
593+ {
594+ "startAt" : "2023-11-19T00:00:00+00:00" ,
595+ "discount" : "0.500"
596+ },
597+ {
598+ "startAt" : "2023-11-18T23:30:00+00:00" ,
599+ "discount" : "0.500"
600+ },
601+ {
602+ "startAt" : "2023-11-18T23:00:00+00:00" ,
603+ "discount" : "0.200"
604+ },
605+ {
606+ "startAt" : "2023-11-18T22:30:00+00:00" ,
607+ "discount" : "0.200"
608+ }
609+ ],
610+ "forecast" : None
611+ }
612+ ]
613+ }
614+
615+ # Act
616+ result = FanClubResponse .parse_obj (data )
617+
407618 # Assert
408619 assert result is not None
0 commit comments