@@ -874,7 +874,7 @@ describe('MatCheckbox', () => {
874
874
let inputElement : HTMLInputElement ;
875
875
let ngModel : NgModel ;
876
876
877
- beforeEach ( ( ) => {
877
+ beforeEach ( fakeAsync ( ( ) => {
878
878
fixture = createComponent ( CheckboxWithNgModel ) ;
879
879
880
880
fixture . componentInstance . isRequired = false ;
@@ -885,7 +885,7 @@ describe('MatCheckbox', () => {
885
885
checkboxInstance = checkboxDebugElement . componentInstance ;
886
886
inputElement = < HTMLInputElement > checkboxNativeElement . querySelector ( 'input' ) ;
887
887
ngModel = checkboxDebugElement . injector . get < NgModel > ( NgModel ) ;
888
- } ) ;
888
+ } ) ) ;
889
889
890
890
it ( 'should be pristine, untouched, and valid initially' , ( ) => {
891
891
expect ( ngModel . valid ) . toBe ( true ) ;
@@ -959,6 +959,18 @@ describe('MatCheckbox', () => {
959
959
expect ( checkboxInstance . checked ) . toBe ( false ) ;
960
960
expect ( ngModel . valid ) . toBe ( false ) ;
961
961
} ) ;
962
+
963
+ it ( 'should updated the ngModel value when using the `toggle` method' , fakeAsync ( ( ) => {
964
+ const checkbox = fixture . debugElement . query ( By . directive ( MatCheckbox ) ) . componentInstance ;
965
+
966
+ expect ( fixture . componentInstance . isGood ) . toBe ( false ) ;
967
+
968
+ checkbox . toggle ( ) ;
969
+ fixture . detectChanges ( ) ;
970
+
971
+ expect ( fixture . componentInstance . isGood ) . toBe ( true ) ;
972
+ } ) ) ;
973
+
962
974
} ) ;
963
975
964
976
describe ( 'with name attribute' , ( ) => {
0 commit comments