def test_merge_overlap(testing_user): """Tests merge with resources shared and not shared between tags""" winner_tag = tag_factory(user=testing_user) loser_tag = tag_factory(user=testing_user) shared_resource = resource_factory(user=testing_user) other_resource = resource_factory(user=testing_user) # Can't use add on m2m using defined intermediary model ResourceTag.objects.create(tag=winner_tag, resource=shared_resource, create_user=testing_user) ResourceTag.objects.create(tag=loser_tag, resource=shared_resource, create_user=testing_user) ResourceTag.objects.create(tag=loser_tag, resource=other_resource, create_user=testing_user) TagTracker.objects.create(user=testing_user, tag=winner_tag, extra_data="1") TagTracker.objects.create(user=testing_user, tag=loser_tag, extra_data="2") TagTracker.objects.create(user=testing_user, tag=loser_tag, extra_data="3") # Quick sanity check assert shared_resource.tags.all().count() == 2 assert other_resource.tags.all().count() == 1 assert winner_tag.tracker.all().count() == 1 winner_tag.merge(loser_tag) assert shared_resource.tags.all().count() == 1 assert Tag.tags.all().count() == 1 assert winner_tag.tracker.all().count() == 3
def setUpClass(cls): cls.user = User.objects.create(username="******") resource = resource_factory(user=cls.user, status='approved') second_resource= resource_factory(user=cls.user, status='pending') used_tag = tag_factory(user=cls.user) second_tag = tag_factory(user=cls.user) unused_tag = tag_factory(user=cls.user) # noqa non_public_tag = tag_factory(user=cls.user, published=False) ResourceTag.objects.create(create_user=cls.user, tag=used_tag, resource=resource) ResourceTag.objects.create(create_user=cls.user, tag=used_tag, resource=second_resource) ResourceTag.objects.create(create_user=cls.user, tag=second_tag, resource=second_resource) ResourceTag.objects.create(create_user=cls.user, tag=non_public_tag, resource=second_resource)
def setUpClass(cls): super(ReviewTestCase, cls).setUpClass() cls.medical_role, _ = ReviewerRole.objects.get_or_create( name='medical') cls.technical_role, _ = ReviewerRole.objects.get_or_create( name='technical') cls.staff_user, _ = User.objects.get_or_create(username="******", is_staff=True, email="*****@*****.**") cls.reviewer, _ = User.objects.get_or_create(username="******", email="*****@*****.**") cls.nonreviewer, _ = User.objects.get_or_create( username="******", email="*****@*****.**") cls.profile_one, _ = UserProfile.objects.get_or_create( user=cls.staff_user) cls.profile_one.reviewer_roles.add(cls.medical_role) cls.profile_two, _ = UserProfile.objects.get_or_create( user=cls.reviewer) cls.profile_two.reviewer_roles.add(cls.technical_role) cls.resource = resource_factory( user=cls.nonreviewer, title=u"Básica salud del recién nacido", description=u"Básica salud del recién nacido", )
def test_unique_slugification(self, admin_user): """Unique slug is generated for new resources""" test_user = admin_user original = resource_factory( user=test_user, title=u"Básica salud del recién nacido", description=u"Básica salud del recién nacido", ) duplicate = resource_factory( user=test_user, title=u"Básica salud del recién nacido", description=u"Básica salud del recién nacido", ) assert original.slug == "basica-salud-del-recien-nacido" assert original.slug != duplicate.slug assert duplicate.slug == "basica-salud-del-recien-nacido-2"
def setUpClass(cls): super(AssignmentFormTests, cls).setUpClass() cls.user_one, _ = get_user_model().objects.get_or_create(username="******") cls.user_two, _ = get_user_model().objects.get_or_create(username="******") cls.user_three, _ = get_user_model().objects.get_or_create(username="******") cls.user_four, _ = get_user_model().objects.get_or_create(username="******") cls.medical_role, _ = ReviewerRole.objects.get_or_create(name='medical') cls.technical_role, _ = ReviewerRole.objects.get_or_create(name='technical') cls.profile_one, _ = UserProfile.objects.get_or_create(user=cls.user_one) cls.profile_one.reviewer_roles.add(cls.medical_role) cls.profile_two, _ = UserProfile.objects.get_or_create(user=cls.user_two) cls.profile_two.reviewer_roles.add(cls.technical_role) cls.profile_three, _ = UserProfile.objects.get_or_create(user=cls.user_three) cls.profile_three.reviewer_roles.add(cls.technical_role) cls.resource = resource_factory( user=cls.user_four, title=u"Básica salud del recién nacido", description=u"Básica salud del recién nacido", )
def setUpClass(cls): super(AssignmentFormTests, cls).setUpClass() cls.user_one, _ = get_user_model().objects.get_or_create( username="******") cls.user_two, _ = get_user_model().objects.get_or_create( username="******") cls.user_three, _ = get_user_model().objects.get_or_create( username="******") cls.user_four, _ = get_user_model().objects.get_or_create( username="******") cls.medical_role, _ = ReviewerRole.objects.get_or_create( name='medical') cls.technical_role, _ = ReviewerRole.objects.get_or_create( name='technical') cls.profile_one, _ = UserProfile.objects.get_or_create( user=cls.user_one) cls.profile_one.reviewer_roles.add(cls.medical_role) cls.profile_two, _ = UserProfile.objects.get_or_create( user=cls.user_two) cls.profile_two.reviewer_roles.add(cls.technical_role) cls.profile_three, _ = UserProfile.objects.get_or_create( user=cls.user_three) cls.profile_three.reviewer_roles.add(cls.technical_role) cls.resource = resource_factory( user=cls.user_four, title="Básica salud del recién nacido", description="Básica salud del recién nacido", )
def test_non_latin_slugification(self, admin_user): """Non-latin characters should be transliterated""" test_user = admin_user cyrillic_resource= resource_factory( user=test_user, title=u"Санкт-Петербург Питоны", # Saint Petersburg Pythons description=u"Some resource", ) assert cyrillic_resource.slug == u"sankt-peterburg-pitony" chinese_resource= resource_factory( user=test_user, title=u"北京蟒蛇", # Beijing Pythons description=u"Some resource", ) assert chinese_resource.slug == u"bei-jing-mang-she"
def test_unique_slugification(self, admin_user): """Unique slug is generated for new resources""" test_user = admin_user original = resource_factory( user=test_user, title="Básica salud del recién nacido", description="Básica salud del recién nacido", ) duplicate = resource_factory( user=test_user, title="Básica salud del recién nacido", description="Básica salud del recién nacido", ) assert original.slug == "basica-salud-del-recien-nacido" assert original.slug != duplicate.slug assert duplicate.slug == "basica-salud-del-recien-nacido-2"
def test_non_latin_slugification(self, admin_user): """Non-latin characters should be transliterated""" test_user = admin_user cyrillic_resource = resource_factory( user=test_user, title="Санкт-Петербург Питоны", # Saint Petersburg Pythons description="Some resource", ) assert cyrillic_resource.slug == "sankt-peterburg-pitony" chinese_resource = resource_factory( user=test_user, title="北京蟒蛇", # Beijing Pythons description="Some resource", ) assert chinese_resource.slug == "bei-jing-mang-she"
def remote_resource(import_user, peer_instance): """Fixture for a remotely created resource""" yield resource_factory( user=import_user, title="A remote resource", description="<p>A remote resource</p>", source_peer=peer_instance, )
def setUpClass(cls): super(ReviewQuerysetTests, cls).setUpClass() cls.resource_two = resource_factory( user=cls.nonreviewer, title="Second review", description="Básica salud del recién nacido", ) cls.resource_three = resource_factory( user=cls.nonreviewer, title="Third réview", description="Básica salud del recién nacido", ) ContentReview.objects.create( role=cls.medical_role, reviewer=cls.staff_user, resource=cls.resource, status=Resource.APPROVED, ) ContentReview.objects.create( role=cls.technical_role, reviewer=cls.reviewer, resource=cls.resource, status=Resource.REJECTED, ) ContentReview.objects.create( role=cls.medical_role, reviewer=cls.staff_user, resource=cls.resource_two, status=Resource.APPROVED, ) ContentReview.objects.create( role=cls.technical_role, reviewer=cls.reviewer, resource=cls.resource_two, status=Resource.PENDING, ) with freeze_time(date.today() - timedelta(days=15)): cls.overdue = ContentReview.objects.create( role=cls.technical_role, reviewer=cls.reviewer, resource=cls.resource_three, status=Resource.PENDING, )
def remote_resource(import_user, test_peer): """Fixture for a remotely created resource""" yield resource_factory( user=import_user, title=u"A remote resource", description=u"<p>A remote resource</p>", source_peer=test_peer, )
def setUpClass(cls): """Returns only resources that were sourced from peer instances""" cls.user = User.objects.create(username="******") cls.updater = User.objects.create(username="******") cls.staff = User.objects.create(username="******", is_staff=True) role = ReviewerRole.objects.create(name="Medical") cls.crt_user = User.objects.create(username="******") profile = UserProfile.objects.create(user=cls.crt_user) profile.reviewer_roles.add(role) approved = resource_factory( user=cls.user, title=u"Básica salud del recién nacido", description=u"Básica salud del recién nacido", status=Resource.APPROVED, ) unapproved_user = resource_factory( create_user=cls.user, update_user=cls.updater, title=u"Unapproved resource", description=u"Unapproved, owned by user", ) unapproved_staff = resource_factory( user=cls.staff, title=u"Staff resource", description=u"Unapproved, owned by staff user", ) archived_resource = resource_factory( user=cls.staff, title=u"Archived", description=u"Archived, owned by staff user", status=Resource.ARCHIVED, ) resource_url_factory(resource=approved, user=cls.user) resource_url_factory(resource=unapproved_user, user=cls.user)
def setUpClass(cls): """Returns only resources that were sourced from peer instances""" cls.user = User.objects.create(username="******") cls.updater = User.objects.create(username="******") cls.staff = User.objects.create(username="******", is_staff=True) role = ReviewerRole.objects.create(name="Medical") cls.crt_user = User.objects.create(username="******") profile = UserProfile.objects.create(user=cls.crt_user) profile.reviewer_roles.add(role) approved = resource_factory( user=cls.user, title="Básica salud del recién nacido", description="Básica salud del recién nacido", status=Resource.APPROVED, ) unapproved_user = resource_factory( create_user=cls.user, update_user=cls.updater, title="Unapproved resource", description="Unapproved, owned by user", ) unapproved_staff = resource_factory( user=cls.staff, title="Staff resource", description="Unapproved, owned by staff user", ) archived_resource = resource_factory( user=cls.staff, title="Archived", description="Archived, owned by staff user", status=Resource.ARCHIVED, ) resource_url_factory(resource=approved, user=cls.user) resource_url_factory(resource=unapproved_user, user=cls.user)
def setUpClass(cls): super(ReviewTestCase, cls).setUpClass() cls.medical_role, _ = ReviewerRole.objects.get_or_create(name='medical') cls.technical_role, _ = ReviewerRole.objects.get_or_create(name='technical') cls.staff_user, _ = User.objects.get_or_create( username="******", is_staff=True, email="*****@*****.**") cls.reviewer, _ = User.objects.get_or_create( username="******", email="*****@*****.**") cls.nonreviewer, _ = User.objects.get_or_create( username="******", email="*****@*****.**") cls.profile_one, _ = UserProfile.objects.get_or_create(user=cls.staff_user) cls.profile_one.reviewer_roles.add(cls.medical_role) cls.profile_two, _ = UserProfile.objects.get_or_create(user=cls.reviewer) cls.profile_two.reviewer_roles.add(cls.technical_role) cls.resource = resource_factory( user=cls.nonreviewer, title=u"Básica salud del recién nacido", description=u"Básica salud del recién nacido", )
def test_resource(testing_user): yield resource_factory( user=testing_user, title=u"Básica salud del recién nacido", description=u"Básica salud del recién nacido", )