Behavior of Capybara's "have_no_content" when expected with `.to_not` and with `.to`

about `to_not have_content`:

```ruby
  expect(page).to_not have_content("not on page")
```

it waits (Capybara's default waiting time), then it pass. Don't use it! 🚫

whereas `to have_no_content`:

```
  expect(page).to have_no_content("not on page")
```

Waits (same as with `.to_not`) but it passes as soon as `"not on page"` disappears from the page; use this one to wait for loading messages to disappear! ✅


victor-delarocha
April 21, 2022
