Protractor isSelected giving false reading after re-enabling checkboxes
<p>I have a list of checkboxes and at the top a <code>all</code> checkbox. When toggling the all checkbox, all checkboxes will get deselected or selected. </p>

<p>By default/initially, <code>all</code> checkbox is enabled with all checkboxes checked. So, I will deselect the all checkbox and all the checkboxes will uncheck.  This passes no with no issues in protractor:</p>

<pre><code>  it('all checkbox is deselected', function() {
    modelsAllCheckbox.click();
    expect(modelsAllCheckbox.isSelected()).to.eventually.be.false;
  });

  it('all models should be deselected', function() {
    ppvPercentages.modelChoices().then(function(modelChoices) {
      modelChoices.forEach(function(modelChoice) {
        expect(modelChoice.isSelected()).to.eventually.be.false;
      });
    });
  });

  this.modelChoices = function(rowNumber) {
    return element.all(by.repeater('model in vehicleCheckboxes.models'));
  }
</code></pre>

<p>Then I re-enable the <code>all</code> checkbox. I visually can see, in the browser, the all checkbox being checked in all the checkboxes successfully being checked/selected. Hoewever, in the test to assert they are all selected fails:</p>

<pre><code>  it('all button is re-enabled', function() {
    modelsAllCheckbox.click();
    expect(modelsAllCheckbox.isSelected()).to.eventually.be.true;
    // give time for all models to set
    browser.sleep(3000)
  });

  it('all models are selected', function() {
    ppvPercentages.modelChoices().then(function(modelChoices) {
      modelChoices.forEach(function(modelChoice) {
        expect(modelChoice.isSelected()).to.eventually.be.true;
      });
    });
  })
</code></pre>

<hr>

<pre><code>&lt;div class="overflow-container"&gt;

  &lt;!-- all checkbox --&gt;
  &lt;input type="checkbox"
    ng-model="vehicleAllCheckbox.models"
    ng-change="toggleAllModels(vehicleAllCheckbox, vehicleCheckboxes.models, vehicleCheckboxes.year)"&gt;All

  &lt;div ng-repeat="model in vehicleCheckboxes.models | orderBy: 'description' track by model.description"&gt;
    &lt;!-- the rest of the checkboxes --&gt;
    &lt;input type="checkbox"
      ng-change="modelCheckboxToggle()"
      ng-model="model.checked" &gt;
    {{model.description}}
  &lt;/div&gt;
&lt;/div&gt;
</code></pre>

<p>I see all the checkboxes are checked in the browser viusally. Why is <code>modelChoice.isSelected()</code> giving false instead of true up re-enabling the all checkbox? </p>