package Ġno . nav . person br uk er . dit tn av . event ag gregator . op pg ave Ċ Ċ import Ġno . nav . br uk er not ifik as jon . schemas . builders . domain . Prefer ert K anal Ċ import Ġno . nav . br uk er not ifik as jon . schemas . builders . exception . Field ValidationException Ċ import Ġno . nav . person br uk er . dit tn av . event ag gregator . common .` with Ġmessage Ġcontaining ` Ċ import Ġorg . am sh ove . k lu ent .` should Ġcontain ` Ċ import Ġorg . am sh ove . k lu ent .` should Ġthrow ` Ċ import Ġorg . am sh ove . k lu ent . inv oking Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . Zone Id Ċ Ċ class ĠO pp g ave Test Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġvalid System br uk er Ġ= Ġ" dummy System br uk er " ĊĠĠĠ Ġprivate Ġval Ġvalid F od se ls nummer Ġ= Ġ" 1 2 3 " ĊĠĠĠ Ġprivate Ġval Ġevent Tid sp unkt Ġ= ĠLocalDateTime . now ( Zone Id . of (" UTC ")) ĊĠĠĠ Ġprivate Ġval Ġsist Opp dat ert Ġ= ĠLocalDateTime . now ( Zone Id . of (" UTC ")) ĊĠĠĠ Ġprivate Ġval Ġvalid EventId Ġ= Ġ" b - 2 " ĊĠĠĠ Ġprivate Ġval Ġvalid Gr upper ings Id Ġ= Ġ" 6 5 4 3 2 " ĊĠĠĠ Ġprivate Ġval Ġvalid T ek st Ġ= Ġ" Det te Ġer Ġen Ġopp g ave Ġtil Ġbru ker en " ĊĠĠĠ Ġprivate Ġval Ġvalid Link Ġ= Ġ" https :// www . nav . no / system X /" ĊĠĠĠ Ġprivate Ġval Ġvalid S ik kerhets n iv aa Ġ= Ġ 4 ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` sk al Ġreturn ere Ġmask erte Ġdata Ġf ra ĠtoString - met od en `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġopp g ave Ġ= ĠO pp g ave Object M other . give Me A ktiv Opp g ave (" dummy EventId ", Ġ" 1 2 3 ") ĊĠĠĠĠĠĠĠ Ġval Ġopp g ave AsString Ġ= Ġopp g ave . toString () ĊĠĠĠĠĠĠĠ Ġopp g ave AsString Ġ` should Ġcontain ` Ġ" f od se ls nummer = *** " ĊĠĠĠĠĠĠĠ Ġopp g ave AsString Ġ` should Ġcontain ` Ġ" tek st = *** " ĊĠĠĠĠĠĠĠ Ġopp g ave AsString Ġ` should Ġcontain ` Ġ" link = *** " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġtoo Ġlong Ġsystem br uk er `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoo Long System br uk er Ġ= Ġ" P ". repeat ( 1 0 1 ) ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġtoo Long System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġvalid F od se ls nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġvalid EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġvalid Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġvalid T ek st , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġvalid Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" system br uk er " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġtoo Ġlong Ġf od se ls nummer `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoo Long Fn r Ġ= Ġ" 1 ". repeat ( 1 2 ) ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġvalid System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġtoo Long Fn r , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġvalid EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġvalid Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġvalid T ek st , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġvalid Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" f od se ls nummer " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġtoo Ġlong Ġevent id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoo Long EventId Ġ= Ġ" E ". repeat ( 5 1 ) ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġvalid System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġvalid F od se ls nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġtoo Long EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġvalid Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġvalid T ek st , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġvalid Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" eventId " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġtoo Ġlong Ġgr upper ings Id `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoo Long Gr upper ings Id Ġ= Ġ" G ". repeat ( 1 0 1 ) ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġvalid System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġvalid F od se ls nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġvalid EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġtoo Long Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġvalid T ek st , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġvalid Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" gr upper ings Id " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġtoo Ġlong Ġtek st `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoo Long Text Ġ= Ġ" T ". repeat ( 5 0 1 ) ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġvalid System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġvalid F od se ls nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġvalid EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġvalid Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġtoo Long Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġvalid Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" tek st " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġtoo Ġlong Ġlink `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtoo Long Link Ġ= Ġ" http ://" Ġ+ Ġ" L ". repeat ( 2 0 1 ) ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġvalid System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġvalid F od se ls nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġvalid EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġvalid Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġvalid T ek st , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġtoo Long Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" link " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġinvalid Ġlink `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinvalid Link Ġ= Ġ" invalid Url " ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġvalid System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġvalid F od se ls nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġvalid EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġvalid Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġvalid T ek st , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġinvalid Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" link " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġempty Ġlink `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġempty Link Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġvalid System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġvalid F od se ls nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġvalid EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġvalid Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġvalid T ek st , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġempty Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" link " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġinvalid Ġs ik kerhets n iv aa `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinvalid S ik kerhets n iv aa Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġvalid System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġvalid F od se ls nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġvalid EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġvalid Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġvalid T ek st , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġvalid Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġinvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" S ik kerhets n iv aa " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġunknown Ġprefer ert Ġkan al `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġunknown Prefer ert K anal Ġ= Ġ" Unknown " ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġvalid System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġvalid F od se ls nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġvalid EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġvalid Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġvalid T ek st , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġvalid Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefer erte K an aler Ġ= ĠlistOf ( unknown Prefer ert K anal ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" prefer erte K an aler " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` do Ġnot Ġallow Ġprefer erte K an aler Ġif Ġek st ern Var sl ing Ġis Ġfalse `() Ġ{ ĊĠĠĠĠĠĠĠ Ġinvoking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠO pp g ave ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsystem br uk er Ġ= Ġvalid System br uk er , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Tid sp unkt Ġ= Ġevent Tid sp unkt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf od se ls nummer Ġ= Ġvalid F od se ls nummer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id Ġ= Ġvalid EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgr upper ings Id Ġ= Ġvalid Gr upper ings Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtek st Ġ= Ġvalid T ek st , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġvalid Link , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsist Opp dat ert Ġ= Ġsist Opp dat ert , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ik kerhets n iv aa Ġ= Ġvalid S ik kerhets n iv aa , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaktiv Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġek st ern Var sl ing Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefer erte K an aler Ġ= ĠlistOf ( Prefer ert K anal . SMS . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġ` should Ġthrow ` ĠField ValidationException :: class Ġ` with Ġmessage Ġcontaining ` Ġ" prefer erte K an aler " ĊĠĠĠ Ġ} Ċ } Ċ