Example #1
0
class TestLaBSKReport(unittest.TestCase):
    def setUp(self):
        # self.report = ReportModel({'Asylum Games':[], 'Banjooli':[], 'Mutinies':[], 'Polis':[]})
        self.report = ReportEntriesModel()
        self.stats = ReportStats()

    def test_all_objects_from_report_are_from_class_(self):
        rb = mock()
        when(rb).build_report(Reports.asylum_report_request).thenReturn(Reports.asylum)
        l_report = LaBSKReportBuilder(rb)
        l_report.build_report(Reports.asylum_report_request, self.report, self.stats)
        # print report
        self.assertGreater(self.report.count_entries_in("Polis"), 0)
        for object in self.report.entries_in("Polis"):
            self.assertIsInstance(object, ThreadModel)

    def test_inc_stats_right(self):
        rb = mock()
        when(rb).build_report(Reports.asylum_report_request).thenReturn(Reports.asylum)
        l_report = LaBSKReportBuilder(rb)
        self.stats.inc_threads()
        self.stats.inc_msgs(2)
        l_report.build_report(Reports.asylum_report_request, self.report, self.stats)
        # print report.json()['Polis']

        thread = ThreadModel(Reports.asylum["Polis"][0])
        self.assertEqual(5, thread.msg_count())
        thread = ThreadModel(Reports.asylum["Asylum Games"][0])
        self.assertEqual(1, thread.msg_count())
        thread = ThreadModel(Reports.asylum["Banjooli"][0])
        self.assertEqual(1, thread.msg_count())

        self.assertEquals(10, self.stats._msgs)
        self.assertEquals(self.stats._threads, 5)
class TestPlanetaLudicoReport(unittest.TestCase):

    madeira_report = MockKimonoPlanetaLudicoAPI.report_json

    def setUp(self):
        self.report = ReportEntriesModel()
        self.stats = ReportStats()
        self.plr = PlanetaLudicoReport()
        self.madeira_request = {'name': 'Planeta Ludico demo',
                                'keywords': ["madeira"]}
        self.rb = mock()
        when(self.rb).build_report(self.madeira_request).thenReturn(TestPlanetaLudicoReport.madeira_report)

        self.plr._report_builder = self.rb

    def test_when_no_entries_report_and_stats_remains_unmodified(self):
        when(self.rb).build_report(self.madeira_request).thenReturn({'madeira': []})

        self.plr.build_report(self.madeira_request, self.report, self.stats)
        self.assertEqual(self.report.size(), 0)
        self.assertEqual(str(self.stats), "0, 0, 0")

    def test_when_two_entries_are_found_return_entries(self):
        self.plr.build_report(self.madeira_request, self.report, self.stats)
        self.assertEqual(self.report.count_entries_in('madeira'), 2)

    def test_when_two_entries_are_found_blog_stats_are_incremented(self):
        self.plr.build_report(self.madeira_request, self.report, self.stats)
        self.assertEqual(str(self.stats), "0, 0, 2")

    def test_all_objects_from_report_are_from_class_(self):
        self.plr.build_report(self.madeira_request, self.report, self.stats)
        for object in self.report.entries_in('madeira'):
            self.assertIsInstance(object, BlogEntry)

    def test_creation_date(self):
        self.plr.build_report(self.madeira_request, self.report, self.stats)
        json = self.report.entries_in('madeira')[0].json()
        date = json['creation_date']
        print json
        self.assertEqual(date, "2 abril, 2014")