示例#1
0
 def test_two_slots_one_session(self):
     # If there are two slots, we return data for each of them, in order of the slots
     # start time
     user1 = UserFactory(first_name="Melanie",
                         last_name="Pickle",
                         email='*****@*****.**')
     user2 = UserFactory(first_name="Ichabod",
                         last_name="Crane",
                         email='*****@*****.**')
     session = SessionFactory()
     slot1 = SlotFactory(start=datetime.time(13))
     slot2 = SlotFactory(start=datetime.time(8))
     session.slots.add(slot1)
     session.slots.add(slot2)
     SessionRoleFactory(session=session,
                        user=user1,
                        role=SessionRole.SESSION_ROLE_CHAIR)
     SessionRoleFactory(session=session,
                        user=user2,
                        role=SessionRole.SESSION_ROLE_CHAIR,
                        status=False)
     data = self.get_api_result()
     self.assertEqual([{
         'conf_key': slot2.pk,
         'chair_email': '*****@*****.**',
         'chair_name': 'Melanie Pickle',
         'runner_email': '',
         'runner_name': ''
     }, {
         'conf_key': slot1.pk,
         'chair_email': '*****@*****.**',
         'chair_name': 'Melanie Pickle',
         'runner_email': '',
         'runner_name': ''
     }], data)
    def test_presentation_count(self):
        PRESENTATION_COUNT = 5

        SlotFactory.create_batch(size=PRESENTATION_COUNT)

        response = self.client.get(reverse("schedule_json"))
        self.assertEqual(len(response.json()["schedule"]), PRESENTATION_COUNT)
    def test_slot_override(self):
        """Verify that slot.content_override displays in JSON."""
        OVERRIDDEN_CONTENT = "**FOOBAR**"

        slot = SlotFactory()
        slot.content_override = OVERRIDDEN_CONTENT
        slot.save()

        response = self.client.get(reverse("schedule_json"))
        self.assertContains(
            response=response, text=OVERRIDDEN_CONTENT, status_code=200
        )
示例#4
0
 def test_two_slots_two_sessions(self):
     # If there are two slots, we return data for each of them, in order of the slots
     # start time
     user1 = UserFactory(first_name="Melanie",
                         last_name="Pickle",
                         email='*****@*****.**')
     user2 = UserFactory(first_name="Ichabod",
                         last_name="Crane",
                         email='*****@*****.**')
     session1 = SessionFactory()
     session2 = SessionFactory()
     slot1 = SlotFactory(start=datetime.time(13))
     slot2 = SlotFactory(start=datetime.time(8))
     session1.slots.add(slot1)
     session2.slots.add(slot2)
     SessionRoleFactory(session=session1,
                        user=user1,
                        role=SessionRole.SESSION_ROLE_CHAIR)
     SessionRoleFactory(session=session1,
                        user=user2,
                        role=SessionRole.SESSION_ROLE_RUNNER)
     user3 = UserFactory(first_name="Mike",
                         last_name="Hammer",
                         email='*****@*****.**')
     user4 = UserFactory(first_name="Sam",
                         last_name="Spade",
                         email='*****@*****.**')
     SessionRoleFactory(session=session2,
                        user=user3,
                        role=SessionRole.SESSION_ROLE_CHAIR)
     SessionRoleFactory(session=session2,
                        user=user4,
                        role=SessionRole.SESSION_ROLE_RUNNER)
     data = self.get_api_result()
     self.assertEqual([{
         'conf_key': slot2.pk,
         'chair_email': '*****@*****.**',
         'chair_name': 'Mike Hammer',
         'runner_email': '*****@*****.**',
         'runner_name': 'Sam Spade'
     }, {
         'conf_key': slot1.pk,
         'chair_email': '*****@*****.**',
         'chair_name': 'Melanie Pickle',
         'runner_email': '*****@*****.**',
         'runner_name': 'Ichabod Crane'
     }], data)
示例#5
0
 def test_no_cancelled_presentations(self):
     self.schedule.published = True
     self.schedule.save()
     cancelled_presentation = PresentationFactory(
         cancelled=True,
         slot=SlotFactory(kind=SlotKindFactory(schedule=self.schedule)),
     )
     response = self.client.get(
         reverse("schedule_list_csv", args=[self.schedule.section.slug]))
     self.assertNotContains(response, cancelled_presentation.title)
    def test_presentation_data(self):
        """Verify that a presentation's content appears."""
        TALK_TITLE = "Presentation Content Verification Testing for Snakes"
        DESCRIPTION_CONTENT = "It was a bright cold day in April..."
        ABSTRACT_CONTENT = "...the color of television tuned to a dead channel"

        user_model = get_user_model()
        user = user_model.objects.create(
            username="******",
            email="*****@*****.**",
            first_name="Test",
            last_name="User",
        )
        speaker = Speaker.objects.create(user=user, name="Speaker")
        section = SectionFactory()
        proposal_kind = ProposalKindFactory()
        # We don't use factories so that all title/description/abstract
        # information is synchronized between the ProposalBase and the
        # Presentation.
        proposal_base = ProposalBase.objects.create(
            title=TALK_TITLE,
            description=DESCRIPTION_CONTENT,
            abstract=ABSTRACT_CONTENT,
            speaker=speaker,
            kind=proposal_kind,
        )
        presentation = Presentation.objects.create(
            title=TALK_TITLE,
            description=DESCRIPTION_CONTENT,
            abstract=ABSTRACT_CONTENT,
            speaker=speaker,
            proposal_base=proposal_base,
            section=section,
        )
        slot = SlotFactory()
        slot.assign(presentation)

        response = self.client.get(reverse("schedule_json"))
        self.assertContains(response=response, text=TALK_TITLE)
        self.assertContains(response=response, text=DESCRIPTION_CONTENT)
        self.assertContains(response=response, text=ABSTRACT_CONTENT)
示例#7
0
 def test_slot_no_roles(self):
     session = SessionFactory()
     slot = SlotFactory()
     session.slots.add(slot)
     data = self.get_api_result()
     self.assertEqual([{
         'conf_key': slot.pk,
         'chair_email': '',
         'chair_name': '',
         'runner_email': '',
         'runner_name': ''
     }], data)
示例#8
0
 def test_slot_runner_no_chair(self):
     user = UserFactory(first_name="Melanie",
                        last_name="Pickle",
                        email='*****@*****.**')
     session = SessionFactory()
     slot = SlotFactory()
     session.slots.add(slot)
     SessionRoleFactory(session=session,
                        user=user,
                        role=SessionRole.SESSION_ROLE_RUNNER)
     data = self.get_api_result()
     self.assertEqual([{
         'conf_key': slot.pk,
         'chair_email': '',
         'chair_name': '',
         'runner_email': '*****@*****.**',
         'runner_name': 'Melanie Pickle',
     }], data)
示例#9
0
 def test_two_chairs_two_runners_one_declined(self):
     user1 = UserFactory(first_name="Melanie",
                         last_name="Pickle",
                         email='*****@*****.**')
     user2 = UserFactory(first_name="Ichabod",
                         last_name="Crane",
                         email='*****@*****.**')
     session = SessionFactory()
     slot = SlotFactory()
     session.slots.add(slot)
     SessionRoleFactory(session=session,
                        user=user1,
                        role=SessionRole.SESSION_ROLE_CHAIR)
     SessionRoleFactory(session=session,
                        user=user2,
                        role=SessionRole.SESSION_ROLE_CHAIR,
                        status=False)
     user3 = UserFactory(first_name="Mike",
                         last_name="Hammer",
                         email='*****@*****.**')
     user4 = UserFactory(first_name="Sam",
                         last_name="Spade",
                         email='*****@*****.**')
     SessionRoleFactory(session=session,
                        user=user3,
                        role=SessionRole.SESSION_ROLE_RUNNER)
     SessionRoleFactory(session=session,
                        user=user4,
                        role=SessionRole.SESSION_ROLE_RUNNER,
                        status=False)
     data = self.get_api_result()
     self.assertEqual([{
         'conf_key': slot.pk,
         'chair_email': '*****@*****.**',
         'chair_name': 'Melanie Pickle',
         'runner_email': '*****@*****.**',
         'runner_name': 'Mike Hammer'
     }], data)
示例#10
0
 def test_slot_chair_and_runner(self):
     user1 = UserFactory(first_name="Melanie",
                         last_name="Pickle",
                         email='*****@*****.**')
     user2 = UserFactory(first_name="Ichabod",
                         last_name="Crane",
                         email='*****@*****.**')
     session = SessionFactory()
     slot = SlotFactory()
     session.slots.add(slot)
     SessionRoleFactory(session=session,
                        user=user1,
                        role=SessionRole.SESSION_ROLE_CHAIR)
     SessionRoleFactory(session=session,
                        user=user2,
                        role=SessionRole.SESSION_ROLE_RUNNER)
     data = self.get_api_result()
     self.assertEqual([{
         'conf_key': slot.pk,
         'chair_email': '*****@*****.**',
         'chair_name': 'Melanie Pickle',
         'runner_email': '*****@*****.**',
         'runner_name': 'Ichabod Crane',
     }], data)