Esempio n. 1
0
    def test_input_invalid_if_username_is_null(self):
        """
        入力データのバリデーション
        (NG:ユーザー名の値がNoneの場合)
        """

        # シリアライザに渡すデータ
        input_data = {
            'username': None,
        }

        # シリアライザを作成
        serializer = CustomUserSerializer(data=input_data)

        # バリデーション結果をテスト
        self.assertFalse(serializer.is_valid())
        self.assertCountEqual(serializer.errors.keys(), ['username'])
        self.assertCountEqual(
            [x.code for x in serializer.errors['username']],
            ['null'],
        )
Esempio n. 2
0
    def test_input_valid(self):
        """入力データのバリデーション(OK)"""

        # お気に入りの投稿用の画像ファイル
        picture = SimpleUploadedFile(
            name='test.jpg',
            content=open(PICTURE_PATH, 'rb').read(),
            content_type='image/jpeg',
        )

        # お気に入りの投稿に登録する投稿を作成
        favorite_post = Post.objects.create(
            title='favorite_post',
            picture=picture,
        )

        # ユーザーアイコン用画像ファイル
        icon = SimpleUploadedFile(
            name='test_icon.jpg',
            content=open(PICTURE_PATH, 'rb').read(),
            content_type='image/jpeg',
        )

        # シリアライザに渡すデータ
        input_data = {
            'username': '******',
            'self_introduction': 'test_introduction',
            'favorite_posts': [favorite_post.id],
            'icon': icon,
        }

        # シリアライザを作成
        serializer = CustomUserSerializer(data=input_data)

        # バリデーション結果をテスト
        self.assertTrue(serializer.is_valid())