title: Test not looping in protractor
body: <p>I have a test that I'm trying to fix. It needs to click on each result and verify the price and name match from the initial result with the final individual result. Currently my code will click on only the first image but will not navigate back to the results page to try the next result. I tried to remove the <code>first()</code> as my understanding is that method only takes the very first element and ignores the rest. Sadly that didn't work. What am I missing?</p>
  <pre><code>tester.it('links to the correct product details page when a result is clicked', () =&gt; {
    const $offer = element.all(by.css('#main-results .catalog-offer')).first();
    const offerResultsText = [];
    let offerResultsPrice;
  
    return Promise.all([
                  $offer.all(by.css('.offer-name .name-part')).map(($namePart) =&gt;
                      $namePart.getText().then((partText) =&gt; offerResultsText.push(partText))
                  ),
                  $offer
                      .element(by.css('.price'))
                      .getText()
                      .then((offerPrice) =&gt; (offerResultsPrice = offerPrice)),
              ])
                  .then($offer.element(by.tagName('a')).click)
                  .then(() =&gt;
                      browser.wait(
                          protractor.ExpectedConditions.presenceOf(
                              element(by.css('#recently-purchased-details'))
                          ),
                          5000
                      )
                  )
                  .then(() =&gt;
                      expect(element(by.css('.details .subtotal &gt; span')).getText()).to.eventually.equal(
                          offerResultsPrice
                      )
                  )
                  .then(() =&gt; {
                      return offerResultsText.map((sourceString) =&gt; {
            console.log(sourceString);
                          return expect(
                              element(by.css('.details .setting .info')).getText()
                          ).to.eventually.contains(sourceString);
                      });
                  });
          });
  </code></pre>