Skip to content

Commit

Permalink
Merge pull request #1113 from Santhosh-Siddhardha/main2
Browse files Browse the repository at this point in the history
Added test file for librarygenesis module
  • Loading branch information
nikhil25803 authored Jun 10, 2024
2 parents 02fd2c1 + 04e2041 commit 273c92d
Show file tree
Hide file tree
Showing 3 changed files with 86 additions and 4 deletions.
3 changes: 3 additions & 0 deletions src/scrape_up/librarygenesis/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from .library import LibGen

__all__ = ["LibGen"]
7 changes: 3 additions & 4 deletions src/test/banners_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@


class TestScraper88x31(unittest.TestCase):

def setUp(self):
"""
Initialize a Scraper88x31 instance before each test method.
Expand All @@ -12,9 +11,9 @@ def setUp(self):

def test_get_all(self):
"""
| Methods | Details |
| ------------------ | -------------------------------------------------------- |
| `get_all()` | Returns the list of all available 88x31 banners |
| Methods | Details |
| ------------------ | -------------------------------------------------------- |
| `get_all()` | Returns the list of all available 88x31 banners |
"""
try:
banners = self.scraper.get_all()
Expand Down
80 changes: 80 additions & 0 deletions src/test/librarygenesis_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
import unittest
from scrape_up.librarygenesis import LibGen


class TestLibGen(unittest.TestCase):
"""
| Methods | Details |
| --------------| ----------------------------- |
| `.getBooks(book_name=" ")` | Returns the books with name, author, size, format, book link, book cover link, language |
"""

def setUp(self):
"""
Initialize a LibGen instance before each test method.
"""
self.libgen = LibGen()

def test_getBooks_empty_name(self):
"""
Test the getBooks() method with an empty book name.
"""
try:
result = self.libgen.getBooks("")
self.assertEqual(
result,
"Error: enter name",
"Expected error message for empty book name",
)
except:
return None

def test_getBooks_short_name(self):
"""
Test the getBooks() method with a short book name.
"""
try:
result = self.libgen.getBooks("AI")
self.assertEqual(
result,
"Error: Title Too Short",
"Expected error message for short book name",
)
except:
return None

def test_getBooks_valid_name(self):
"""
Test the getBooks() method with a valid book name.
"""
try:
result = self.libgen.getBooks("Python")
self.assertIsInstance(result, list, "Expected a list of books")
if result: # Check if there are books returned
book = result[0]
self.assertIn("name", book, "Book should have a 'name' field")
self.assertIn("author", book, "Book should have an 'author' field")
self.assertIn("size", book, "Book should have a 'size' field")
self.assertIn("format", book, "Book should have a 'format' field")
self.assertIn("link", book, "Book should have a 'link' field")
self.assertIn("language", book, "Book should have a 'language' field")
except:
return None

def test_getBooks_no_results(self):
"""
Test the getBooks() method with a book name that yields no results.
"""
try:
result = self.libgen.getBooks("somebookthatdoesnotexist")
self.assertEqual(
result,
"Error: no results found",
"Expected error message for no results found",
)
except:
return None


if __name__ == "__main__":
unittest.main()

0 comments on commit 273c92d

Please sign in to comment.