" in result + + +class TestMiscAPIEndpoints: + """Tests for misc API endpoints.""" + + def test_api_bible_full(self, client): + """Test full Bible API endpoint.""" + response = client.get("/api/bible") + assert response.status_code == 200 + + def test_api_random_verse(self, client): + """Test random verse API.""" + response = client.get("/api/verse-of-the-day") + assert response.status_code == 200 + + def test_api_verse_single(self, client): + """Test single verse API.""" + response = client.get("/api/verse/Genesis/1/1") + assert response.status_code == 200 + data = response.json() + assert "text" in data + + def test_api_verse_invalid(self, client): + """Test invalid verse API.""" + response = client.get("/api/verse/InvalidBook/1/1") + assert response.status_code == 404 + + +class TestMoreRoutes: + """Tests for additional route coverage.""" + + def test_verse_page_with_interlinear(self, client): + """Test verse page that may have interlinear.""" + response = client.get("/book/Genesis/chapter/1/verse/1") + assert response.status_code == 200 + + def test_chapter_with_many_verses(self, client): + """Test chapter with many verses (Psalm 119).""" + response = client.get("/book/Psalms/chapter/119") + assert response.status_code == 200 + + def test_small_book_page(self, client): + """Test small book page (Obadiah - 1 chapter).""" + response = client.get("/book/Obadiah") + assert response.status_code == 200 + + def test_last_verse_of_bible(self, client): + """Test last verse of Bible.""" + response = client.get("/book/Revelation/chapter/22/verse/21") + assert response.status_code == 200 + + +class TestDataModuleExtended: + """Extended tests for data module.""" + + def test_data_init_imports(self): + """Test data module initialization.""" + from kjvstudy_org import data + # Module should import successfully + assert data is not None + + +class TestHelpersExtended: + """Extended tests for helpers module.""" + + def test_create_slug_special_chars(self): + """Test slug creation with special characters.""" + from kjvstudy_org.utils.helpers import create_slug + result = create_slug("Test & Example!") + assert "&" not in result + assert "!" not in result + + def test_create_slug_numbers(self): + """Test slug creation with numbers.""" + from kjvstudy_org.utils.helpers import create_slug + result = create_slug("1 Samuel") + assert "1" in result + assert "samuel" in result.lower() + + +class TestResourceDataModule: + """Tests for resource_data module.""" + + def test_import_resource_data(self): + """Test resource_data module imports.""" + try: + from kjvstudy_org import resource_data + assert resource_data is not None + except ImportError: + pass # Module may not be used + + +class TestMainModule: + """Tests for main module - entry point.""" + + def test_main_module_import(self): + """Test main module imports correctly.""" + from kjvstudy_org import main + assert hasattr(main, 'main') + assert hasattr(main, 'app')