def test_comparing_entered_left(self): migration1 = GroupMigrationFactory(time=datetime.now() - timedelta(2), members_ids=range(0, 100000)) migration1.update() migration1.save() migration2 = GroupMigrationFactory(group=migration1.group, time=datetime.now() - timedelta(1), members_ids=range(99990, 100010)) migration2.update() migration2.save() self.assertEqual(migration2.hidden, False) migration2.compare_entered_left() self.assertEqual(migration2.hidden, True)
def test_comparing_with_statistic(self): if 'vkontakte_groups_statistic' not in settings.INSTALLED_APPS: return False from vkontakte_groups_statistic.factories import GroupStatFactory migration = GroupMigrationFactory(members_ids=range(0, 10000)) migration.update() migration.save() stat = GroupStatFactory(group=migration.group, members=9000, date=migration.time.date()) self.assertEqual(migration.hidden, False) migration.compare_with_statistic() self.assertEqual(migration.hidden, True) stat.members = 9001 stat.save() migration.hidden = False self.assertEqual(migration.hidden, False) migration.compare_with_statistic() self.assertEqual(migration.hidden, False)
def test_comparing_with_siblings(self): migration1 = GroupMigrationFactory(time=datetime.now() - timedelta(2), members_ids=range(0, 100000)) migration1.update() migration1.save() migration2 = GroupMigrationFactory(group=migration1.group, time=datetime.now() - timedelta(1), members_ids=range(0, 90000)) migration2.update() migration2.save() self.assertEqual(migration2.hidden, False) migration2.compare_with_siblings() self.assertEqual(migration2.hidden, True) migration3 = GroupMigrationFactory(group=migration1.group, members_ids=range(0, 90010)) migration3.update() migration3.save() self.assertEqual(migration3.hidden, False) migration3.compare_with_siblings() self.assertEqual(migration3.hidden, False) # comparing with previous and next GroupMigration.objects.all().delete() migration1 = GroupMigrationFactory(time=datetime.now() - timedelta(2), members_ids=range(0, 90000)) migration1.update() migration1.save() migration2 = GroupMigrationFactory(group=migration1.group, time=datetime.now() - timedelta(1), members_ids=range(0, 100000)) migration2.update() migration2.save() migration3 = GroupMigrationFactory(group=migration1.group, members_ids=range(0, 100010)) migration3.update() migration3.save() self.assertEqual(migration1.hidden, False) self.assertEqual(migration2.hidden, False) self.assertEqual(migration3.hidden, False) migration2.compare_with_siblings() self.assertEqual(GroupMigration.objects.get(id=migration1.id).hidden, True) self.assertEqual(GroupMigration.objects.get(id=migration2.id).hidden, False) self.assertEqual(GroupMigration.objects.get(id=migration3.id).hidden, False)