"""The one-line phone masthead and the drawer strip."""
from django.contrib.auth import get_user_model
from django.test import TestCase
from django.urls import reverse

User = get_user_model()


class MastheadTests(TestCase):
    def setUp(self):
        self.owner = User.objects.create_user("owner", password="pw-owner-12345")

    def test_signed_in_pages_carry_the_hamburger(self):
        self.client.force_login(self.owner)
        body = self.client.get(reverse("documents:library"), secure=True).content.decode()
        self.assertIn('id="nav-burger"', body)
        self.assertIn('id="site-nav"', body)
        self.assertIn('aria-controls="site-nav"', body)

    def test_the_login_page_has_no_hamburger(self):
        """No nav exists signed out, so a burger would open nothing."""
        body = self.client.get(reverse("login"), secure=True).content.decode()
        self.assertNotIn("nav-burger", body)

    def test_the_browse_strip_uses_a_chevron_not_a_second_hamburger(self):
        """Two hamburgers on one screen would read as the same control."""
        self.client.force_login(self.owner)
        body = self.client.get(reverse("documents:library"), secure=True).content.decode()
        strip = body[body.index('id="rail-open"'):body.index("</button>", body.index('id="rail-open"'))]
        self.assertIn("m9 6 6 6-6 6", strip)          # chevron-right path
        self.assertNotIn("M4 7h16", strip)            # the hamburger path
