コード例 #1
0
ファイル: test_views.py プロジェクト: zemiret/dfys-backend
    def test_recent(self):
        skill = SkillFactory()
        act1 = ActivityFactory(skill=skill)
        act2 = ActivityFactory(skill=skill)
        act3 = ActivityFactory(skill=skill)

        self.client.force_login(self.user)
        response = self.client.get(reverse('activity-recent'))

        self.assertEqual(response.status_code, status.HTTP_200_OK)

        self.assertEqual(response.data[act3.id]['id'], act3.id)
        self.assertEqual(response.data[act2.id]['id'], act2.id)
        self.assertEqual(response.data[act1.id]['id'], act1.id)
コード例 #2
0
ファイル: test_views.py プロジェクト: zemiret/dfys-backend
 def test_list_not_allowed(self):
     act = ActivityFactory()
     self.client.force_login(self.user)
     response = self.client.get(
         reverse('activity-entry-list', kwargs={'activity_pk': act.id}))
     self.assertEqual(response.status_code,
                      status.HTTP_405_METHOD_NOT_ALLOWED)
コード例 #3
0
ファイル: test_views.py プロジェクト: zemiret/dfys-backend
    def test_details(self):
        """
        Should provide skill detailed deep overview
        """
        skill1 = SkillFactory(name='Skill1')
        _skill2 = SkillFactory(name='Skill2')
        _act1 = ActivityFactory(skill=skill1)
        _act2 = ActivityFactory(skill=skill1)

        self.client.force_login(self.user)
        response = self.client.get(
            reverse('skill-detail', kwargs={'pk': skill1.pk}))

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(len(response.data['categories']), 2)
        self.assertEqual(len(response.data['activities']), 2)
コード例 #4
0
    def test_serialization(self):
        act = ActivityFactory()
        s = ActivityFlatSerializer(act)

        assert s.data['id'] == act.id
        assert s.data['title'] == act.title
        assert s.data['skill'] == act.skill.id
        assert s.data['category'] == act.category.id
        assert s.data['description'] == act.description
コード例 #5
0
ファイル: test_views.py プロジェクト: zemiret/dfys-backend
    def test_destroy(self):
        act = ActivityFactory()

        self.client.force_login(self.user)
        response = self.client.delete(
            reverse('activity-detail', kwargs={'pk': act.pk}))

        self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
        self.assertFalse(Activity.objects.filter(id=act.id).exists())
コード例 #6
0
ファイル: test_views.py プロジェクト: zemiret/dfys-backend
    def test_details(self):
        act = ActivityFactory()
        _attachment = AttachmentFactory(activity=act)
        _comment = CommentFactory(activity=act)

        self.client.force_login(self.user)
        response = self.client.get(
            reverse('activity-detail', kwargs={'pk': act.pk}))

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(len(response.data['entries']), 2)
コード例 #7
0
ファイル: test_views.py プロジェクト: zemiret/dfys-backend
    def test_create(self):
        act = ActivityFactory()

        self.client.force_login(self.user)
        response = self.client.post(reverse('activity-entry-list',
                                            kwargs={'activity_pk': act.id}),
                                    data={
                                        'comment': 'entryComment',
                                        'activity': act.id,
                                    })

        entry = ActivityEntry.objects.get(id=response.data['id'])

        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
        self.assertEqual(entry.activity, act)
        self.assertEqual(entry.comment, 'entryComment')
コード例 #8
0
    def test_serialization(self, mocker):
        mocker.patch('django.utils.timezone.now', mock_now)
        act = ActivityFactory()
        attachment = AttachmentFactory(activity=act)
        comment = CommentFactory(activity=act)

        s = ActivityDeepSerializer(act)

        data = s.data

        comment_data = data['entries'][comment.id]
        attachment_data = data['entries'][attachment.id]

        data['add_date'] = parse_datetime(data['add_date'])
        data['modify_date'] = parse_datetime(data['modify_date'])
        comment_data['add_date'] = parse_datetime(comment_data['add_date'])
        comment_data['modify_date'] = parse_datetime(comment_data['modify_date'])
        attachment_data['add_date'] = parse_datetime(attachment_data['add_date'])
        attachment_data['modify_date'] = parse_datetime(attachment_data['modify_date'])

        assert data == dict(
            id=act.id,
            title=act.title,
            description=act.description,
            skill=act.skill.id,
            category=act.category.id,
            add_date=mock_now(),
            modify_date=mock_now(),
            entries={
                attachment.id: dict(
                    id=attachment.id,
                    add_date=mock_now(),
                    modify_date=mock_now(),
                    comment=''
                ),
                comment.id: dict(
                    id=comment.id,
                    add_date=mock_now(),
                    modify_date=mock_now(),
                    comment=comment.comment,
                ),
            }
        )
コード例 #9
0
    def test_serialization(self, mocker):
        mocker.patch('django.utils.timezone.now', mock_now)

        skill = SkillFactory(name='TestSkill')
        categories = skill.categories.all()
        act = ActivityFactory(title='Act1', category=categories[0], skill=skill)

        s = SkillDeepSerializer(skill, context={'request': None})

        data = s.data
        data['add_date'] = parse_datetime(data['add_date'])
        data_act = data['activities'][act.id]
        data_act['add_date'] = parse_datetime(data_act['add_date'])
        data_act['modify_date'] = parse_datetime(data_act['modify_date'])

        assert data == dict(
            id=skill.id,
            name='TestSkill',
            add_date=mock_now(),
            categories={
                categories[0].id: dict(
                    id=categories[0].id,
                    name=categories[0].name,
                    display_order=categories[0].display_order,
                ),
                categories[1].id: dict(
                    id=categories[1].id,
                    name=categories[1].name,
                    display_order=categories[1].display_order,
                )
            },
            activities={
                act.id: dict(
                    id=act.id,
                    title=act.title,
                    category=categories[0].id,
                    skill=skill.id,
                    description=act.description,
                    add_date=mock_now(),
                    modify_date=mock_now()
                )
            }
        )
コード例 #10
0
    def test_update(self, mocker):
        mocker.patch('django.utils.timezone.now', mock_now)
        request = create_user_request(APIRequestFactory().post)
        skill = SkillFactory()
        categories = skill.categories.all()
        act = ActivityFactory(skill=skill, category=categories[0])

        s = ActivityFlatSerializer(instance=act, data=dict(
            title='ModifiedAct',
            skill=skill.id,
            category=categories[1].id,
            description='new_desc',
        ), context={
            'request': request
        })

        s.is_valid(raise_exception=True)
        act = Activity.objects.get(id=s.save().id)

        assert act.title == 'ModifiedAct'
        assert act.skill.id == skill.id
        assert act.category.id == categories[1].id
        assert act.description == 'new_desc'