Difference between revisions of "User:Alvonruff/ISFDB Tests"

From ISFDB
Jump to navigation Jump to search
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
  
 
These are formal tests using the unittest module. The tests are mostly concerned with:
 
These are formal tests using the unittest module. The tests are mostly concerned with:
* Testing return types (int, string, float, etc).
+
* Testing return types (int, string, float, etc). We're especially interested in DATE fields returning as an '''str''' and not a datetime. Note that under python2 '''type(intVariable)''' returns:
* Testing input arguments.
+
** <type 'int'>
* Testing for select statements that return nothing.
+
* While under python3 it returns:
 +
** <class 'int'>
 +
* Testing input arguments. Some of the methods will take, say a title_id, as either an int or a str. Some only str. Some only int. Maybe clean this up at a later date.
 +
* Testing for select statements that return nothing. Sometimes this returns an empty string, sometimes [], and sometimes 'None'
  
Although non-destructive, these tests should probably not be run against the production server. The goal is to be able to run the tests on both Python2 and Python3, and generate exactly the same results.
+
The tests should not reply on precise string values which may be modified at a later date through normal editing (not unless we construct a specific, stable testing database). Although non-destructive, these tests should probably not be run against the production server. The goal is to be able to run the tests on both Python2 and Python3, and generate exactly the same results.
  
 
==SQLparsing Tests==
 
==SQLparsing Tests==
Line 12: Line 15:
 
These are mostly methods that perform a select on the authors table.
 
These are mostly methods that perform a select on the authors table.
  
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:30%;"
+
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;"
 
! SQL Method
 
! SQL Method
 
! Status
 
! Status
Line 26: Line 29:
 
|-
 
|-
 
| SQLFindReviewParent(title, author, referral_lang)
 
| SQLFindReviewParent(title, author, referral_lang)
| Later (only used by mod scripts)
+
|  
 
|-
 
|-
 
| SQLgetActualFromPseudo(au_id)
 
| SQLgetActualFromPseudo(au_id)
Line 77: Line 80:
 
|-
 
|-
 
| SQLReviewAuthors(title_id)
 
| SQLReviewAuthors(title_id)
 +
| DONE
 +
|-
 +
| SQLReviewBriefAuthorRecords(title_id)
 +
| DONE
 +
|-
 +
| SQLReviewedAuthors(title_id)
 +
| DONE
 +
|-
 +
| SQLTitleAuthors(title_id)
 +
| DONE
 +
|-
 +
| SQLTitleBriefAuthorRecords(title_id)
 +
| DONE
 +
|-
 +
| SQLTitleListBriefAuthorRecords(title_list, author_id = 0)
 +
| DONE
 +
|-
 +
| SQLtransLegalNames(author_ids)
 +
| DONE
 +
|-
 +
|}
 +
 +
===Title-Related Methods===
 +
These are mostly methods that perform a select on the titles table.
 +
 +
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;"
 +
! SQL Method
 +
! Status
 +
|-
 +
| SQLaddTagToTitle(tag, title_id, user_id)
 +
|
 +
|-
 +
| SQLCountPubsForTitle(title_id)
 +
|
 +
|-
 +
| SQLDeletedTitle(title_id)
 +
|
 +
|-
 +
| SQLFindExactTitles(target)
 +
|
 +
|-
 +
| SQLFindFictionTitles(target)
 +
|
 +
|-
 +
| SQLfindReviewedTitle(review_id)
 +
|
 +
|-
 +
| SQLFindSeriesTitles(target)
 +
|
 +
|-
 +
| SQLFindTitles(target)
 +
|
 +
|-
 +
| SQLgetAllTitleTags(title_id, parent_id, user_id)
 +
|
 +
|-
 +
| SQLGetCoverPubsByTitle(titlerec)
 +
|
 +
|-
 +
| SQLGetLangIdByTitle(title_id)
 +
|
 +
|-
 +
| SQLGetPubsByTitle(titlerec)
 +
|
 +
|-
 +
| SQLGetPubsByTitleNoParent(titlerec)
 +
|
 +
|-
 +
| SQLGetPubsByTitleNoTranslations(titlerec)
 +
|
 +
|-
 +
| SQLGetPubsForChildTitles(titlerec)
 +
|
 +
|-
 +
| SQLgetPubTitle(pubId)
 +
|
 +
|-
 +
| SQLgetTagsByTitleForTitleList(title_ids, user_id)
 +
|
 +
|-
 +
| SQLgetTitle(titleId)
 +
|
 +
|-
 +
| SQLgetTitleByTagId(tagmap_id)
 +
|
 +
|-
 +
| SQLgetTitleListTags(title_list, user_id)
 
|
 
|
 
|-
 
|-
| SQLReviewBriefAuthorRecords(title_id)
+
| SQLgetTitleReferral(pub_id, pub_ctype, include_editors=0)
 +
|
 +
|-
 +
| SQLgetTitleReferralList(pubs, include_editors=0)
 +
|
 +
|-
 +
| SQLgetTitlesForAuthorAndTag(tag_id, author_id)
 +
|
 +
|-
 +
| SQLgetTitlesForTag(tag_id, start)
 +
|
 +
|-
 +
| SQLgetTitlesForTagForUser(tag_id, user_id, start)
 +
|
 +
|-
 +
| SQLgetTitleTags(title_id)
 +
|
 +
|-
 +
| SQLgetTitleTagsByUser(title_id)
 +
|
 +
|-
 +
| SQLgetTitleVariants(title_id)
 +
|
 +
|-
 +
| SQLloadAllAuthorTitles(aurec, page_type, languages_all, languages)
 +
|
 +
|-
 +
| SQLloadAllTitleReviews(title_id)
 +
|
 +
|-
 +
| SQLloadAnyTitles(aurec)
 +
|
 +
|-
 +
| SQLLoadReviewsForTitle(title_id)
 +
|
 +
|-
 +
| SQLLoadSeriesListTitles(series_list)
 +
|
 +
|-
 +
| SQLloadTitle(titlerec)
 +
|
 +
|-
 +
| SQLloadTitleFromAward(award_id)
 +
|
 +
|-
 +
| SQLloadTitleList(title_ids)
 +
|
 +
|-
 +
| SQLloadTitlesXBS(series)
 +
|
 +
|-
 +
| SQLloadTitlesXBT(recno)
 +
|
 +
|-
 +
| SQLloadTitleWebpages(title_id)
 +
|
 +
|-
 +
| SQLloadTransPubTitles(pub_id)
 +
|
 +
|-
 +
| SQLLoadTransPubTitlesList(pub_ids)
 +
|
 +
|-
 +
| SQLloadTransTitles(title_id)
 +
|
 +
|-
 +
| SQLLoadTransTitlesList(title_ids)
 +
|
 +
|-
 +
| SQLloadVTsForAuthor(author_id)
 
|
 
|
 
|-
 
|-
| SQLReviewedAuthors(title_id)
+
| SQLloadVTsForTitleList(title_list)
 
|
 
|
 
|-
 
|-
 
| SQLTitleAuthors(title_id)
 
| SQLTitleAuthors(title_id)
 +
|
 +
|-
 +
| SQLTitleAwards(title_id)
 
|
 
|
 
|-
 
|-
 
| SQLTitleBriefAuthorRecords(title_id)
 
| SQLTitleBriefAuthorRecords(title_id)
| DONE
+
|
 
|-
 
|-
 
| SQLTitleListBriefAuthorRecords(title_list, author_id = 0)
 
| SQLTitleListBriefAuthorRecords(title_list, author_id = 0)
 
|
 
|
 
|-
 
|-
| SQLtransLegalNames(author_ids)
+
| SQLTitlesWithPubs(title_list)
 +
|
 +
|-
 +
| SQLupdateTitleViews(title_id)
 +
|
 +
|-
 +
|}
 +
 
 +
===Publication-Related Methods===
 +
These are mostly methods that perform a select on the pubs table.
 +
 
 +
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;"
 +
! SQL Method
 +
! Status
 +
|-
 +
| SQLGetFrontPagePubs(front_page)
 +
|
 +
|-
 +
| SQLGetNextMonthPubs(additional_pubs = 0)
 +
|
 +
|-
 +
| SQLGetPubByTag(tag)
 +
|
 +
|-
 +
| SQLGetPubById(id)
 +
|
 +
|-
 +
| SQLGetCoverAuthorsForPubs(pub_list)
 +
|
 +
|-
 +
| SQLGetCoverPubsByTitle(titlerec)
 +
|
 +
|-
 +
| SQLGetPubsByTitle(titlerec)
 +
|
 +
|-
 +
| SQLGetPubsByTitleNoParent(titlerec)
 +
|
 +
|-
 +
| SQLGetPubsByTitleNoTranslations(titlerec)
 +
|
 +
|-
 +
| SQLGetPubsForChildTitles(titlerec)
 +
|
 +
|-
 +
| SQLGetPubsByPublisherYear(publisher_id, year)
 +
|
 +
|-
 +
| SQLGetPubsByAuthor(aurec)
 +
|
 +
|-
 +
| SQLGetPubContentByAuthor(aurec)
 +
|
 +
|-
 +
| SQLGetPublisher(pubrec)
 +
|
 +
|-
 +
| SQLGetPublisherList(publisher_list)
 +
|
 +
|-
 +
| SQLGetPublisherDirectory()
 +
|
 +
|-
 +
| SQLGetPubSeries(pub_series_id)
 +
|
 +
|-
 +
| SQLGetPubSeriesByName(pub_series_name)
 +
|
 +
|-
 +
| SQLGetPubSeriesList(pub_series_list)
 +
|
 +
|-
 +
| SQLLoadPubSeries(pub_series_ids)
 +
|
 +
|-
 +
| SQLGetPubSeriesPubs(pub_series_id, display_order)
 +
|
 +
|-
 +
| SQLCountPubsNotInPubSeries(publisher_id)
 +
|
 +
|-
 +
| SQLGetPubsNotInSeries(publisher_id)
 +
|
 +
|-
 +
| SQLFindPublisher(target, mode = 'contains')
 +
|
 +
|-
 +
| SQLGetPublisherYears(publisher_id)
 +
|
 +
|-
 +
| SQLFindPubSeries(target, mode = 'contains')
 +
|
 +
|-
 +
| SQLFindPubsByIsbn(targets, excluded_pub_id = 0)
 +
|
 +
|-
 +
| SQLFindPubsByCatalogId(value)
 +
|
 +
|-
 +
| SQLFindPubSeriesForPublisher(publisher_id)
 +
|
 +
|-
 +
| SQLgetPublisherName(id)
 +
|
 +
|-
 +
| SQLPubBriefAuthorRecords(pub_id)
 +
|
 +
|-
 +
| SQLPubListBriefAuthorRecords(pub_list)
 +
|
 +
|-
 +
| SQLloadPublisherWebpages(publisher_id)
 +
|
 +
|-
 +
| SQLloadTransPubSeriesNames(pub_series_id)
 +
|
 +
|-
 +
| SQLLoadTransPubSeriesList(pub_series_ids)
 +
|
 +
|-
 +
| SQLloadTransPublisherNames(publisher_id)
 +
|
 +
|-
 +
| SQLLoadTransPublisherList(publisher_ids)
 +
|
 +
|-
 +
| SQLloadTransPubTitles(pub_id)
 +
|
 +
|-
 +
| SQLLoadTransPubTitlesList(pub_ids)
 +
|
 +
|-
 +
| SQLloadPubSeriesWebpages(publisher_id)
 +
|
 +
|-
 +
| SQLloadPubWebpages(pub_id)
 +
|
 +
|-
 +
| SQLgetPubTitle(pubId)
 +
|
 +
|-
 +
| SQLTitlesWithPubs(title_list)
 +
|
 +
|-
 +
| SQLGetPubContentList(pub_id)
 +
|
 +
|-
 +
| SQLPubArtists(pubid)
 +
|
 +
|-
 +
| SQLPubCovers(pubid)
 +
|
 +
|-
 +
| SQLFindPubByExternalID(id_type, id_value)
 +
|
 +
|-
 +
| SQLCountPubsForTitle(title_id)
 +
|
 +
|-
 +
| SQLDeletedPub(pubid)
 +
|
 +
|-
 +
| SQLGetPubsForAuthorPublisher(publisher_id, author_id)
 +
|
 +
|-
 +
|}
 +
 
 +
===Award-Related Methods===
 +
These are mostly methods that perform a select on the awards table.
 +
 
 +
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;"
 +
! SQL Method
 +
! Status
 +
|-
 +
| SQLloadTitleFromAward(award_id)
 +
|
 +
|-
 +
| SQLloadAwardsXBA(author, titles, pseudonyms)
 +
|
 +
|-
 +
| SQLloadAwardsForYearType(award_type_id, year)
 +
|
 +
|-
 +
| SQLloadAwardsForCat(award_cat_id, win_nom)
 +
|
 +
|-
 +
| SQLloadAwardsForCatYear(award_cat_id, award_year)
 +
|
 +
|-
 +
| SQLTitleAwards(title_id)
 +
|
 +
|-
 +
| SQLloadAwards(award_id)
 +
|
 +
|-
 +
| SQLloadAwardTypeWebpages(award_type_id)
 +
|
 +
|-
 +
| SQLloadAwardCatWebpages(award_cat_id)
 +
|
 +
|-
 +
| SQLListAwardTypes()
 +
|
 +
|-
 +
| SQLGetAwardTypeByCode(award_type_code)
 +
|
 +
|-
 +
| SQLGetAwardTypeByName(award_type_name)
 +
|
 +
|-
 +
| SQLGetAwardTypeByShortName(award_type_short_name)
 +
|
 +
|-
 +
| SQLGetAwardTypeById(award_type_id)
 +
|
 +
|-
 +
| SQLGetAwardYears(award_type_id)
 +
|
 +
|-
 +
| SQLGetAwardCategories(award_type_id)
 +
|
 +
|-
 +
| SQLGetAwardCatById(award_cat_id)
 +
|
 +
|-
 +
| SQLGetAwardCatByName(award_cat_name, award_cat_type_id)
 +
|
 +
|-
 +
| SQLSearchAwards(award)
 +
|
 +
|-
 +
| SQLGetAwardCatBreakdown(award_type_id)
 +
|
 +
|-
 +
| SQLGetEmptyAwardCategories(award_type_id)
 +
|
 +
|-
 +
| SQLDeletedAward(award_id)
 +
|
 +
|-
 +
| SQLDeletedAwardType(award_type_id)
 +
|
 +
|-
 +
| SQLDeletedAwardCategory(award_cat_id)
 +
|-
 +
|}
 +
 
 +
==Class Tests==
 +
===authorClass Methods===
 +
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;"
 +
! SQL Method
 +
! Status
 +
|-
 +
| load(self, id)
 +
|
 +
|-
 +
| obj2xml(self)
 +
|
 +
|-
 +
| xml2obj(self, xml)
 +
|
 +
|-
 +
| cgi2obj(self)
 +
|
 +
|-
 +
|}
 +
 
 +
===awardcatClass Methods===
 +
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;"
 +
! SQL Method
 +
! Status
 +
|-
 +
| load(self)
 +
|
 +
|-
 +
| cgi2obj(self)
 +
|
 +
|-
 +
| PrintAwardCatYear(self, year)
 +
|
 +
|-
 +
| PrintAwardCatTable(self, years)
 +
|
 +
|-
 +
| PrintAwardCatSummary(self, win_nom)
 +
|
 +
|-
 +
| PrintAwardCatPageHeader(self)
 +
|
 +
|-
 +
|}
 +
 
 +
===awardClass Methods===
 +
 
 +
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;"
 +
! SQL Method
 +
! Status
 +
|-
 +
| awardShared::PrintOneAwardList(self)
 +
|
 +
|-
 +
| awards::authors(self)
 +
|
 +
|-
 +
| awards::load(self, id)
 +
|
 +
|-
 +
| awards::loadXML(self, id)
 +
|
 +
|-
 +
| awards::cgi2obj(self)
 +
|
 +
|-
 +
| awards::PrintAwardTable(self, award_list, print_title = 1, print_authors = 0, limit = 10000)
 +
|
 +
|-
 +
| awards::PrintAwardRow(self, print_title, print_authors, bgcolor)
 +
|
 +
|-
 +
| awards::PrintYear(self)
 +
|
 +
|-
 +
| awards::PrintLevel(self, print_title)
 +
|
 +
|-
 +
| awards::PrintTitle(self)
 +
|
 +
|-
 +
| awards::PrintAwardSummary(self)
 +
|
 +
|-
 +
| awards::PrintAwardAuthors(self)
 +
|
 +
|-
 +
| awards::displayAuthor(self, author)
 +
|
 +
|-
 +
|}
 +
 
 +
===awardtypeClass Methods===
 +
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;"
 +
! SQL Method
 +
! Status
 +
|-
 +
| load(self)
 +
|
 +
|-
 +
| cgi2obj(self)
 +
|
 +
|-
 +
| display_table_grid(self, current_year = 0)
 +
|
 +
|-
 +
| display_categories(self)
 +
|
 +
|-
 +
| display_awards_for_year(self, year)
 +
|
 +
|-
 +
|}
 +
 
 +
===pubClass Methods===
 +
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;"
 +
! SQL Method
 +
! Status
 +
|-
 +
| titleEntry::setPage(self, page)
 +
|
 +
|-
 +
| titleEntry::setTitle(self, title)
 +
|
 +
|-
 +
| titleEntry::setID(self, id)
 +
|
 +
|-
 +
| titleEntry::setDate(self, date)
 +
|
 +
|-
 +
| titleEntry::setType(self, type)
 +
|
 +
|-
 +
| titleEntry::setLength(self, length)
 +
|
 +
|-
 +
| titleEntry::setAuthors(self, authors)
 +
|
 +
|-
 +
| titleEntry::setOldTitle(self, oldtitle)
 +
|
 +
|-
 +
| titleEntry::xmlTitle(self)
 +
|
 +
|-
 +
| titleEntry::xmlCloneTitle(self)
 +
|
 +
|-
 +
| titleEntry::printTitle(self)
 +
|
 +
|-
 +
| reviewEntry::setPage(self, page)
 +
|
 +
|-
 +
| reviewEntry::setTitle(self, title)
 +
|
 +
|-
 +
| reviewEntry::setID(self, id)
 +
|
 +
|-
 +
| reviewEntry::setDate(self, date)
 +
|
 +
|-
 +
| reviewEntry::setBookAuthors(self, authors)
 +
|
 +
|-
 +
| reviewEntry::setReviewers(self, authors)
 +
|
 +
|-
 +
| reviewEntry::setOldReview(self, oldreview)
 +
|
 +
|-
 +
| reviewEntry::xmlTitle(self)
 +
|
 +
|-
 +
| reviewEntry::xmlCloneTitle(self)
 +
|
 +
|-
 +
| reviewEntry::printTitle(self)
 +
|
 +
|-
 +
| interviewEntry::setPage(self, page)
 +
|
 +
|-
 +
| interviewEntry::setTitle(self, title)
 +
|
 +
|-
 +
| interviewEntry::setID(self, id)
 +
|
 +
|-
 +
| interviewEntry::setDate(self, date)
 +
|
 +
|-
 +
| interviewEntry::setInterviewees(self, authors)
 +
|
 +
|-
 +
| interviewEntry::setInterviewers(self, authors)
 +
|
 +
|-
 +
| interviewEntry::setOldInterview(self, oldinterview)
 +
|
 +
|-
 +
| interviewEntry::xmlTitle(self)
 +
|
 +
|-
 +
| interviewEntry::xmlCloneTitle(self)
 +
|
 +
|-
 +
| interviewEntry::printTitle(self)
 +
|
 +
|-
 +
| pubs::pushTitle(self, titleEntry)
 +
|
 +
|-
 +
| pubs::pushReview(self, reviewEntry)
 +
|
 +
|-
 +
| pubs::pushInterview(self, interviewEntry)
 +
|
 +
|-
 +
| pubs::xmlCoverArt(self, clone)
 +
|
 +
|-
 +
| pubs::xmlArtists(self, cover_record)
 +
|
 +
|-
 +
| pubs::xmlContent(self)
 +
|
 +
|-
 +
| pubs::xmlCloneContent(self)
 +
|
 +
|-
 +
| pubs::xmlIdentifiers(self, include_type_name = 0)
 +
|
 +
|-
 +
| pubs::printContent(self)
 +
|
 +
|-
 +
| pubs::authors(self)
 +
|
 +
|-
 +
| pubs::artists(self)
 +
|
 +
|-
 +
| pubs::load(self, id)
 +
|
 +
|-
 +
| pubs::loadTransTitles(self)
 +
|
 +
|-
 +
| pubs::loadPubWebpages(self)
 +
|
 +
|-
 +
| pubs::loadExternalIDs(self)
 +
|
 +
|-
 +
| pubs::obj2xml(self)
 +
|
 +
|-
 +
| pubs::cgi2obj(self, reference_title = 'explicit')
 +
|
 +
|-
 +
| pubs::PrintPrimaryVerifications(self)
 +
|
 +
|-
 +
| pubs::PrintAllSecondaryVerifications(self)
 +
|
 +
|-
 +
| pubs::PrintActiveSecondaryVerifications(self)
 +
|
 +
|-
 +
| pubs::PrintSecondaryVerificationsHeaders(self)
 +
|
 +
|-
 +
| pubs::printExternalIDs(self, format = 'list')
 +
|
 +
|-
 +
| pubs::formatExternalIDs(self)
 +
|
 +
|-
 +
| pubs::printModNoteRequired(self)
 +
|
 +
|-
 +
| pubs::requiresModeratorNote(self, user_id)
 +
|
 +
|-
 +
| pubs::PrintTitleLine(self, title, page, reference_lang, reference = 0)
 +
|
 +
|-
 +
| pubBody::build_page_body(self)
 +
|
 +
|-
 +
| pubBody::_build_image(self)
 +
|
 +
|-
 +
| pubBody::_build_pub_title_line(self)
 +
|
 +
|-
 +
| pubBody::_build_magazine_link(self)
 +
|
 +
|-
 +
|}
 +
 
 +
===publisherClass Methods===
 +
===pubseriesClass Methods===
 +
===seriesClass Methods===
 +
 
 +
{| border="1" cellpadding="2" style="border-collapse:collapse; text-align:left; width:50%;"
 +
! SQL Method
 +
! Status
 +
|-
 +
| load(self, id, fullLoad = 1)
 +
| DONE. Required 4 tests to cover all fields.
 +
|-
 +
| loadXML(self, id, fullLoad = 1)
 +
| ?? This doesn't actually load XML. It just does a load()
 +
|-
 +
| cgi2obj(self)
 +
|
 +
|-
 +
| PrintMetaData(self, user, tags_type, seriesTags, display_type)
 +
|
 +
|-
 +
| PrintSeriesTagsBrief(self, seriesTags)
 +
|
 +
|-
 +
| PrintSeriesTagsFull(self, seriesTags)
 +
|
 +
|-
 +
| BuildTreeData(self, user)
 +
|
 +
|-
 +
| BuildSeriesTree(self, seriesData, seriesTree)
 
|
 
|
 
|-
 
|-
 
|}
 
|}
 +
 +
===templateClass Methods===
 +
===titleClass Methods===
 +
===verificationsourceClass Methods===

Latest revision as of 10:54, 6 June 2023

These are formal tests using the unittest module. The tests are mostly concerned with:

  • Testing return types (int, string, float, etc). We're especially interested in DATE fields returning as an str and not a datetime. Note that under python2 type(intVariable) returns:
    • <type 'int'>
  • While under python3 it returns:
    • <class 'int'>
  • Testing input arguments. Some of the methods will take, say a title_id, as either an int or a str. Some only str. Some only int. Maybe clean this up at a later date.
  • Testing for select statements that return nothing. Sometimes this returns an empty string, sometimes [], and sometimes 'None'

The tests should not reply on precise string values which may be modified at a later date through normal editing (not unless we construct a specific, stable testing database). Although non-destructive, these tests should probably not be run against the production server. The goal is to be able to run the tests on both Python2 and Python3, and generate exactly the same results.

SQLparsing Tests

Author-Related Methods

These are mostly methods that perform a select on the authors table.

SQL Method Status
SQLAuthorsBorn(date) DONE
SQLAuthorsDied(date) DONE
SQLFindAuthors(target, mode = 'contains') DONE
SQLFindReviewParent(title, author, referral_lang)
SQLgetActualFromPseudo(au_id) DONE
SQLGetAllAuthorsForPublisher(publisher_id, sort_by) DONE
SQLgetAuthorData(author) DONE
SQLGetAuthorDirectory() DONE
SQLgetBriefActualFromPseudo(au_id) DONE
SQLgetBriefPseudoFromActual(au_id) DONE
SQLGetCoverAuthorsForPubs(pub_list) DONE
SQLInterviewAuthors(title_id) DONE
SQLInterviewBriefAuthorRecords(title_id) DONE
SQLIntervieweeAuthors(title_id, author_id = 0) DONE
SQLloadAuthorData(author_id) DONE
SQLLoadTransAuthorNamesList(author_ids) DONE
SQLMultipleAuthors(name) DONE
SQLPubAuthors(pub_id) DONE
SQLPubBriefAuthorRecords(pub_id) DONE
SQLPubListBriefAuthorRecords(pub_list) DONE
SQLReviewAuthors(title_id) DONE
SQLReviewBriefAuthorRecords(title_id) DONE
SQLReviewedAuthors(title_id) DONE
SQLTitleAuthors(title_id) DONE
SQLTitleBriefAuthorRecords(title_id) DONE
SQLTitleListBriefAuthorRecords(title_list, author_id = 0) DONE
SQLtransLegalNames(author_ids) DONE

Title-Related Methods

These are mostly methods that perform a select on the titles table.

SQL Method Status
SQLaddTagToTitle(tag, title_id, user_id)
SQLCountPubsForTitle(title_id)
SQLDeletedTitle(title_id)
SQLFindExactTitles(target)
SQLFindFictionTitles(target)
SQLfindReviewedTitle(review_id)
SQLFindSeriesTitles(target)
SQLFindTitles(target)
SQLgetAllTitleTags(title_id, parent_id, user_id)
SQLGetCoverPubsByTitle(titlerec)
SQLGetLangIdByTitle(title_id)
SQLGetPubsByTitle(titlerec)
SQLGetPubsByTitleNoParent(titlerec)
SQLGetPubsByTitleNoTranslations(titlerec)
SQLGetPubsForChildTitles(titlerec)
SQLgetPubTitle(pubId)
SQLgetTagsByTitleForTitleList(title_ids, user_id)
SQLgetTitle(titleId)
SQLgetTitleByTagId(tagmap_id)
SQLgetTitleListTags(title_list, user_id)
SQLgetTitleReferral(pub_id, pub_ctype, include_editors=0)
SQLgetTitleReferralList(pubs, include_editors=0)
SQLgetTitlesForAuthorAndTag(tag_id, author_id)
SQLgetTitlesForTag(tag_id, start)
SQLgetTitlesForTagForUser(tag_id, user_id, start)
SQLgetTitleTags(title_id)
SQLgetTitleTagsByUser(title_id)
SQLgetTitleVariants(title_id)
SQLloadAllAuthorTitles(aurec, page_type, languages_all, languages)
SQLloadAllTitleReviews(title_id)
SQLloadAnyTitles(aurec)
SQLLoadReviewsForTitle(title_id)
SQLLoadSeriesListTitles(series_list)
SQLloadTitle(titlerec)
SQLloadTitleFromAward(award_id)
SQLloadTitleList(title_ids)
SQLloadTitlesXBS(series)
SQLloadTitlesXBT(recno)
SQLloadTitleWebpages(title_id)
SQLloadTransPubTitles(pub_id)
SQLLoadTransPubTitlesList(pub_ids)
SQLloadTransTitles(title_id)
SQLLoadTransTitlesList(title_ids)
SQLloadVTsForAuthor(author_id)
SQLloadVTsForTitleList(title_list)
SQLTitleAuthors(title_id)
SQLTitleAwards(title_id)
SQLTitleBriefAuthorRecords(title_id)
SQLTitleListBriefAuthorRecords(title_list, author_id = 0)
SQLTitlesWithPubs(title_list)
SQLupdateTitleViews(title_id)

Publication-Related Methods

These are mostly methods that perform a select on the pubs table.

SQL Method Status
SQLGetFrontPagePubs(front_page)
SQLGetNextMonthPubs(additional_pubs = 0)
SQLGetPubByTag(tag)
SQLGetPubById(id)
SQLGetCoverAuthorsForPubs(pub_list)
SQLGetCoverPubsByTitle(titlerec)
SQLGetPubsByTitle(titlerec)
SQLGetPubsByTitleNoParent(titlerec)
SQLGetPubsByTitleNoTranslations(titlerec)
SQLGetPubsForChildTitles(titlerec)
SQLGetPubsByPublisherYear(publisher_id, year)
SQLGetPubsByAuthor(aurec)
SQLGetPubContentByAuthor(aurec)
SQLGetPublisher(pubrec)
SQLGetPublisherList(publisher_list)
SQLGetPublisherDirectory()
SQLGetPubSeries(pub_series_id)
SQLGetPubSeriesByName(pub_series_name)
SQLGetPubSeriesList(pub_series_list)
SQLLoadPubSeries(pub_series_ids)
SQLGetPubSeriesPubs(pub_series_id, display_order)
SQLCountPubsNotInPubSeries(publisher_id)
SQLGetPubsNotInSeries(publisher_id)
SQLFindPublisher(target, mode = 'contains')
SQLGetPublisherYears(publisher_id)
SQLFindPubSeries(target, mode = 'contains')
SQLFindPubsByIsbn(targets, excluded_pub_id = 0)
SQLFindPubsByCatalogId(value)
SQLFindPubSeriesForPublisher(publisher_id)
SQLgetPublisherName(id)
SQLPubBriefAuthorRecords(pub_id)
SQLPubListBriefAuthorRecords(pub_list)
SQLloadPublisherWebpages(publisher_id)
SQLloadTransPubSeriesNames(pub_series_id)
SQLLoadTransPubSeriesList(pub_series_ids)
SQLloadTransPublisherNames(publisher_id)
SQLLoadTransPublisherList(publisher_ids)
SQLloadTransPubTitles(pub_id)
SQLLoadTransPubTitlesList(pub_ids)
SQLloadPubSeriesWebpages(publisher_id)
SQLloadPubWebpages(pub_id)
SQLgetPubTitle(pubId)
SQLTitlesWithPubs(title_list)
SQLGetPubContentList(pub_id)
SQLPubArtists(pubid)
SQLPubCovers(pubid)
SQLFindPubByExternalID(id_type, id_value)
SQLCountPubsForTitle(title_id)
SQLDeletedPub(pubid)
SQLGetPubsForAuthorPublisher(publisher_id, author_id)

Award-Related Methods

These are mostly methods that perform a select on the awards table.

SQL Method Status
SQLloadTitleFromAward(award_id)
SQLloadAwardsXBA(author, titles, pseudonyms)
SQLloadAwardsForYearType(award_type_id, year)
SQLloadAwardsForCat(award_cat_id, win_nom)
SQLloadAwardsForCatYear(award_cat_id, award_year)
SQLTitleAwards(title_id)
SQLloadAwards(award_id)
SQLloadAwardTypeWebpages(award_type_id)
SQLloadAwardCatWebpages(award_cat_id)
SQLListAwardTypes()
SQLGetAwardTypeByCode(award_type_code)
SQLGetAwardTypeByName(award_type_name)
SQLGetAwardTypeByShortName(award_type_short_name)
SQLGetAwardTypeById(award_type_id)
SQLGetAwardYears(award_type_id)
SQLGetAwardCategories(award_type_id)
SQLGetAwardCatById(award_cat_id)
SQLGetAwardCatByName(award_cat_name, award_cat_type_id)
SQLSearchAwards(award)
SQLGetAwardCatBreakdown(award_type_id)
SQLGetEmptyAwardCategories(award_type_id)
SQLDeletedAward(award_id)
SQLDeletedAwardType(award_type_id)
SQLDeletedAwardCategory(award_cat_id)

Class Tests

authorClass Methods

SQL Method Status
load(self, id)
obj2xml(self)
xml2obj(self, xml)
cgi2obj(self)

awardcatClass Methods

SQL Method Status
load(self)
cgi2obj(self)
PrintAwardCatYear(self, year)
PrintAwardCatTable(self, years)
PrintAwardCatSummary(self, win_nom)
PrintAwardCatPageHeader(self)

awardClass Methods

SQL Method Status
awardShared::PrintOneAwardList(self)
awards::authors(self)
awards::load(self, id)
awards::loadXML(self, id)
awards::cgi2obj(self)
awards::PrintAwardTable(self, award_list, print_title = 1, print_authors = 0, limit = 10000)
awards::PrintAwardRow(self, print_title, print_authors, bgcolor)
awards::PrintYear(self)
awards::PrintLevel(self, print_title)
awards::PrintTitle(self)
awards::PrintAwardSummary(self)
awards::PrintAwardAuthors(self)
awards::displayAuthor(self, author)

awardtypeClass Methods

SQL Method Status
load(self)
cgi2obj(self)
display_table_grid(self, current_year = 0)
display_categories(self)
display_awards_for_year(self, year)

pubClass Methods

SQL Method Status
titleEntry::setPage(self, page)
titleEntry::setTitle(self, title)
titleEntry::setID(self, id)
titleEntry::setDate(self, date)
titleEntry::setType(self, type)
titleEntry::setLength(self, length)
titleEntry::setAuthors(self, authors)
titleEntry::setOldTitle(self, oldtitle)
titleEntry::xmlTitle(self)
titleEntry::xmlCloneTitle(self)
titleEntry::printTitle(self)
reviewEntry::setPage(self, page)
reviewEntry::setTitle(self, title)
reviewEntry::setID(self, id)
reviewEntry::setDate(self, date)
reviewEntry::setBookAuthors(self, authors)
reviewEntry::setReviewers(self, authors)
reviewEntry::setOldReview(self, oldreview)
reviewEntry::xmlTitle(self)
reviewEntry::xmlCloneTitle(self)
reviewEntry::printTitle(self)
interviewEntry::setPage(self, page)
interviewEntry::setTitle(self, title)
interviewEntry::setID(self, id)
interviewEntry::setDate(self, date)
interviewEntry::setInterviewees(self, authors)
interviewEntry::setInterviewers(self, authors)
interviewEntry::setOldInterview(self, oldinterview)
interviewEntry::xmlTitle(self)
interviewEntry::xmlCloneTitle(self)
interviewEntry::printTitle(self)
pubs::pushTitle(self, titleEntry)
pubs::pushReview(self, reviewEntry)
pubs::pushInterview(self, interviewEntry)
pubs::xmlCoverArt(self, clone)
pubs::xmlArtists(self, cover_record)
pubs::xmlContent(self)
pubs::xmlCloneContent(self)
pubs::xmlIdentifiers(self, include_type_name = 0)
pubs::printContent(self)
pubs::authors(self)
pubs::artists(self)
pubs::load(self, id)
pubs::loadTransTitles(self)
pubs::loadPubWebpages(self)
pubs::loadExternalIDs(self)
pubs::obj2xml(self)
pubs::cgi2obj(self, reference_title = 'explicit')
pubs::PrintPrimaryVerifications(self)
pubs::PrintAllSecondaryVerifications(self)
pubs::PrintActiveSecondaryVerifications(self)
pubs::PrintSecondaryVerificationsHeaders(self)
pubs::printExternalIDs(self, format = 'list')
pubs::formatExternalIDs(self)
pubs::printModNoteRequired(self)
pubs::requiresModeratorNote(self, user_id)
pubs::PrintTitleLine(self, title, page, reference_lang, reference = 0)
pubBody::build_page_body(self)
pubBody::_build_image(self)
pubBody::_build_pub_title_line(self)
pubBody::_build_magazine_link(self)

publisherClass Methods

pubseriesClass Methods

seriesClass Methods

SQL Method Status
load(self, id, fullLoad = 1) DONE. Required 4 tests to cover all fields.
loadXML(self, id, fullLoad = 1) ?? This doesn't actually load XML. It just does a load()
cgi2obj(self)
PrintMetaData(self, user, tags_type, seriesTags, display_type)
PrintSeriesTagsBrief(self, seriesTags)
PrintSeriesTagsFull(self, seriesTags)
BuildTreeData(self, user)
BuildSeriesTree(self, seriesData, seriesTree)

templateClass Methods

titleClass Methods

verificationsourceClass Methods