def test_get_report(): author = factories.User() reporter = factories.User() db.Session.add(author) db.Session.add(reporter) g = groups_models.Group(name="abc_group", creator=factories.User()) db.Session.add(g) l = lang_models.Language(name="abc_language") db.Session.add(l) p = pages_models.Page(uri="http://www.annotran_test.com/") db.Session.add(p) db.Session.flush() translation = tran_models.Translation(page=p, language=l, group=g) db.Session.add(translation) db.Session.flush() report = reports_models.Report(translation, author, reporter) db.Session.add(report) db.Session.flush() assert reports_models.Report.get_report(translation, author, reporter) == report
def test_get_public_translations_when_do_not_exist(): p = pages_models.Page(uri="http://www.annotran_test.com/") db.Session.add(p) l1 = lang_models.Language(name="abc_language_1") db.Session.add(l1) l2 = lang_models.Language(name="abc_language_2") db.Session.add(l2) g = groups_models.Group(name="abc_group", creator=factories.User()) db.Session.add(g) db.Session.flush() t1 = tran_models.Translation(page=p, language=l1, group=g) t2 = tran_models.Translation(page=p, language=l2, group=g) db.Session.add(t1) db.Session.add(t2) db.Session.flush() assert tran_models.Translation.get_public_translations(p) == []
def test_get_page_translations_with_multiple_groups(): p = pages_models.Page(uri="http://www.annotran_test.com/") db.Session.add(p) l1 = lang_models.Language(name="abc_language_1") db.Session.add(l1) l2 = lang_models.Language(name="abc_language_2") db.Session.add(l2) l3 = lang_models.Language(name="abc_language_3") db.Session.add(l3) g1 = groups_models.Group(name="abc_group_1", creator=factories.User()) db.Session.add(g1) db.Session.flush() g2 = groups_models.Group(name="abc_group_2", creator=factories.User()) db.Session.add(g2) db.Session.flush() g3 = groups_models.Group(name="Public", creator=factories.User()) g3.id = -1 g3.pubid = "__world__" db.Session.add(g3) db.Session.flush() t1 = tran_models.Translation(page=p, language=l1, group=g1) t2 = tran_models.Translation(page=p, language=l2, group=g2) t3 = tran_models.Translation(page=p, language=l3, group=g3) db.Session.add(t1) db.Session.add(t2) db.Session.add(t3) db.Session.flush() assert tran_models.Translation.get_page_translations(p) == \ [(l1.id, l1.name, l1.pubid, g1.id), (l2.id, l2.name, l2.pubid, g2.id), (l3.id, l3.name, l3.pubid, g3.id)]
def test_get_page_translations_with_single_group(): p = pages_models.Page(uri="http://www.annotran_test.com/") db.Session.add(p) l1 = lang_models.Language(name="abc_language_1") db.Session.add(l1) l2 = lang_models.Language(name="abc_language_2") db.Session.add(l2) g = groups_models.Group(name="abc_group", creator=factories.User()) db.Session.add(g) db.Session.flush() t1 = tran_models.Translation(page=p, language=l1, group=g) t2 = tran_models.Translation(page=p, language=l2, group=g) db.Session.add(t1) db.Session.add(t2) db.Session.flush() assert tran_models.Translation.get_page_translations(p) == \ [(l1.id, l1.name, l1.pubid, g.id), (l2.id, l2.name, l2.pubid, g.id)]
def test_get_translation_when_group_is_not_none(): p = pages_models.Page(uri="http://www.annotran_test.com/") db.Session.add(p) l = lang_models.Language(name="abc_language") db.Session.add(l) g = groups_models.Group(name="abc_group", creator=factories.User()) db.Session.add(g) db.Session.flush() t = tran_models.Translation(page=p, language=l, group=g) db.Session.add(t) db.Session.flush() assert tran_models.Translation.get_translation(p, l, g) == t
def test_get_by_composite_id(): p = pages_models.Page(uri="http://www.annotran_test.com/") db.Session.add(p) l = lang_models.Language(name="abc_language") db.Session.add(l) g = groups_models.Group(name="abc_group", creator=factories.User()) db.Session.add(g) db.Session.flush() t = tran_models.Translation(page=p, language=l, group=g) db.Session.add(t) db.Session.flush() assert tran_models.Translation.get_by_composite_id(p.id, l.id, g.id) == t
def test_init(): p = pages_models.Page(uri="http://www.annotran_test.com/") db.Session.add(p) l = lang_models.Language(name="abc_language") db.Session.add(l) g = groups_models.Group(name="abc_group", creator=factories.User()) db.Session.add(g) db.Session.flush() t = tran_models.Translation(page=p, language=l, group=g) db.Session.add(t) db.Session.flush() assert t.page_id == p.id assert t.group_id == g.id assert t.language_id == l.id
def test_get_all(): author1 = factories.User() author2 = factories.User() author3 = factories.User() reporter = factories.User() db.Session.add(author1) db.Session.add(author2) db.Session.add(author3) db.Session.add(reporter) g = groups_models.Group(name="Public", creator=factories.User()) g.id = -1 g.pubid = "__world__" db.Session.add(g) l = lang_models.Language(name="abc_language") db.Session.add(l) p = pages_models.Page(uri="http://www.annotran_test.com/") db.Session.add(p) db.Session.flush() translation = tran_models.Translation(page=p, language=l, group=g) db.Session.add(translation) db.Session.flush() report1 = reports_models.Report(translation, author1, reporter) db.Session.add(report1) report2 = reports_models.Report(translation, author2, reporter) db.Session.add(report2) report3 = reports_models.Report(translation, author3, reporter) db.Session.add(report3) db.Session.flush() assert len(reports_models.Report.get_all()) == 3