@@ -396,6 +396,43 @@ public void When_calling_ensure_fields_on_a_closed_user_Story_with_Then_closed_d
396396            } ) ; 
397397        } 
398398
399+         [ Test ] 
400+         public  void  When_calling_ensure_fields_on_a_wi_with_no_state_field_Then_no_execption_is_thrown_and_no_revision_fields_are_set ( ) 
401+         { 
402+             MockedWitClientWrapper  witClientWrapper  =  new  MockedWitClientWrapper ( ) ; 
403+             WitClientUtils  wiUtils  =  new  WitClientUtils ( witClientWrapper ) ; 
404+ 
405+             WiRevision  rev  =  new  WiRevision 
406+             { 
407+                 Fields  =  new  List < WiField > ( ) , 
408+                 Index  =  1 
409+             } ; 
410+ 
411+             WiField  revState  =  new  WiField 
412+             { 
413+                 ReferenceName  =  WiFieldReference . State , 
414+                 Value  =  "New" 
415+             } ; 
416+             rev . Fields . Add ( revState ) ; 
417+ 
418+             WorkItem  createdWI  =  wiUtils . CreateWorkItem ( "User Story" ,  false ) ; 
419+ 
420+             wiUtils . EnsureFieldsOnStateChange ( rev ,  createdWI ) ; 
421+ 
422+             Assert . DoesNotThrow ( ( )  =>  wiUtils . EnsureFieldsOnStateChange ( rev ,  createdWI ) ) ; 
423+ 
424+             Assert . Multiple ( ( )  => 
425+             { 
426+                 Assert . That ( rev . Fields . GetFieldValueOrDefault < string > ( WiFieldReference . State ) ,  Is . EqualTo ( "New" ) ) ; 
427+                 Assert . That ( rev . Fields . Where ( f =>  f . ReferenceName . Equals ( WiFieldReference . ClosedDate ) ) . Count ,  Is . EqualTo ( 0 ) ) ; 
428+                 Assert . That ( rev . Fields . Where ( f =>  f . ReferenceName . Equals ( WiFieldReference . ClosedBy ) ) . Count ,  Is . EqualTo ( 0 ) ) ; 
429+                 Assert . That ( rev . Fields . Where ( f =>  f . ReferenceName . Equals ( WiFieldReference . ActivatedDate ) ) . Count ,  Is . EqualTo ( 0 ) ) ; 
430+                 Assert . That ( rev . Fields . Where ( f =>  f . ReferenceName . Equals ( WiFieldReference . ActivatedBy ) ) . Count ,  Is . EqualTo ( 0 ) ) ; 
431+                 Assert . That ( rev . Fields . Where ( f =>  f . ReferenceName . Equals ( WiFieldReference . ResolvedDate ) ) . Count ,  Is . EqualTo ( 0 ) ) ; 
432+                 Assert . That ( rev . Fields . Where ( f =>  f . ReferenceName . Equals ( WiFieldReference . ResolvedBy ) ) . Count ,  Is . EqualTo ( 0 ) ) ; 
433+             } ) ; 
434+         } 
435+ 
399436        [ Test ] 
400437        public  void  When_calling_ensure_classification_fields_with_empty_args_Then_an_exception_is_thrown ( ) 
401438        { 
0 commit comments