コード例 #1
0
    def test_user_preference_timezone(self):
        """Test that valid timezones are saved."""
        user = None
        serializer = UserSerializer(data=self.user_data,
                                    context=self.request_context)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {'context': {'user': user}}
        data = {
            'name': 'timezone',
            'description': self.fake.text(),
            'preference': {
                'timezone': 'Antarctica/Troll'
            }
        }

        pref = list(UserPreference.objects.filter(user=user,
                                                  name='timezone')).pop()
        self.assertIsNotNone(pref)
        self.assertIsInstance(pref, UserPreference)

        serializer = UserPreferenceSerializer(pref, data=data, **kwargs)
        if serializer.is_valid(raise_exception=True):
            pref = serializer.save()

        self.assertEqual(pref.name, data.get('name'))
        self.assertEqual(pref.description, data.get('description'))
        self.assertEqual(pref.preference, data.get('preference'))
コード例 #2
0
    def test_user_preference_currency(self):
        """Test that valid currency codes are saved."""
        user = None
        serializer = UserSerializer(data=self.user_data,
                                    context=self.request_context)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {'context': {'user': user}}
        data = {
            'name': 'currency',
            'description': self.fake.text(),
            'preference': {
                'currency': random.choice(_currency_symbols())
            }
        }

        pref = list(UserPreference.objects.filter(user=user,
                                                  name='currency')).pop()
        self.assertIsNotNone(pref)
        self.assertIsInstance(pref, UserPreference)

        serializer = UserPreferenceSerializer(pref, data=data, **kwargs)
        if serializer.is_valid(raise_exception=True):
            pref = serializer.save()

        self.assertEqual(pref.name, data.get('name'))
        self.assertEqual(pref.description, data.get('description'))
        self.assertEqual(pref.preference, data.get('preference'))
コード例 #3
0
    def test_user_preference_currency(self):
        """Test that valid currency codes are saved."""
        user = None
        serializer = UserSerializer(data=self.user_data,
                                    context=self.request_context)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {"context": {"user": user}}
        data = {
            "name": "currency",
            "description": self.fake.text(),
            "preference": {
                "currency": random.choice(_currency_symbols())
            },
        }

        pref = list(UserPreference.objects.filter(user=user,
                                                  name="currency")).pop()
        self.assertIsNotNone(pref)
        self.assertIsInstance(pref, UserPreference)

        serializer = UserPreferenceSerializer(pref, data=data, **kwargs)
        if serializer.is_valid(raise_exception=True):
            pref = serializer.save()

        self.assertEqual(pref.name, data.get("name"))
        self.assertEqual(pref.description, data.get("description"))
        self.assertEqual(pref.preference, data.get("preference"))
コード例 #4
0
    def test_user_preference_timezone(self):
        """Test that valid timezones are saved."""
        user = None
        serializer = UserSerializer(data=self.user_data,
                                    context=self.request_context)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {"context": {"user": user}}
        data = {
            "name": "timezone",
            "description": self.fake.text(),
            "preference": {
                "timezone": "Antarctica/Troll"
            }
        }

        pref = list(UserPreference.objects.filter(user=user,
                                                  name="timezone")).pop()
        self.assertIsNotNone(pref)
        self.assertIsInstance(pref, UserPreference)

        serializer = UserPreferenceSerializer(pref, data=data, **kwargs)
        if serializer.is_valid(raise_exception=True):
            pref = serializer.save()

        self.assertEqual(pref.name, data.get("name"))
        self.assertEqual(pref.description, data.get("description"))
        self.assertEqual(pref.preference, data.get("preference"))
コード例 #5
0
    def test_user_preference_duplicate(self):
        """Test that we fail to create arbitrary preference if it already exits."""
        user = None
        serializer = UserSerializer(data=self.user_data)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {'context': {'user': user}}
        test_pref = {'foo': ['a', [1, 2, 3], {'b': 'c'}]}
        data = {'name': self.fake.word(),
                'description': self.fake.text(),
                'preference': test_pref}
        serializer = UserPreferenceSerializer(data=data, **kwargs)
        if serializer.is_valid(raise_exception=True):
            serializer.save()

        with self.assertRaises(IntegrityError):
            serializer = UserPreferenceSerializer(data=data, **kwargs)
            if serializer.is_valid(raise_exception=True):
                serializer.save()
コード例 #6
0
    def test_user_preference_duplicate(self):
        """Test that we fail to create arbitrary preference if it already exits."""
        user = None
        serializer = UserSerializer(data=self.user_data,
                                    context=self.request_context)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {"context": {"user": user}}
        test_pref = {"foo": ["a", [1, 2, 3], {"b": "c"}]}
        data = {
            "name": self.fake.word(),
            "description": self.fake.text(),
            "preference": test_pref
        }
        serializer = UserPreferenceSerializer(data=data, **kwargs)
        if serializer.is_valid(raise_exception=True):
            serializer.save()

        with self.assertRaises(IntegrityError):
            serializer = UserPreferenceSerializer(data=data, **kwargs)
            if serializer.is_valid(raise_exception=True):
                serializer.save()
コード例 #7
0
    def test_user_preference_currency_invalid(self):
        """Test that we fail to create invalid preference."""
        user = None
        serializer = UserSerializer(data=self.user_data)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {'context': {'user': user}}
        data = {'name': 'currency',
                'description': self.fake.text(),
                'preference': {'currency': 'LOL'}}

        with self.assertRaises(ValidationError):
            serializer = UserPreferenceSerializer(data=data, **kwargs)
            if serializer.is_valid(raise_exception=True):
                serializer.save()
コード例 #8
0
    def test_user_preference_timezone_invalid(self):
        """Test that we fail to create invalid preference."""
        user = None
        serializer = UserSerializer(data=self.user_data,
                                    context=self.request_context)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {'context': {'user': user}}
        data = {'name': 'timezone',
                'description': self.fake.text(),
                'preference': {'timezone': 'Glapflap/Parblesnops'}}

        with self.assertRaises(ValidationError):
            serializer = UserPreferenceSerializer(data=data, **kwargs)
            if serializer.is_valid(raise_exception=True):
                serializer.save()
コード例 #9
0
ファイル: tests_serializers.py プロジェクト: dmiller9911/koku
    def test_user_preference_arbitrary(self):
        """Test that we can set and retrieve an arbitrary preference."""
        user = None
        serializer = UserSerializer(data=self.user_data)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        test_pref = {'foo': ['a', [1, 2, 3], {'b': 'c'}]}
        data = {'user': model_to_dict(user), 'preference': test_pref}

        serializer = UserPreferenceSerializer(data=data)
        if serializer.is_valid(raise_exception=True):
            serializer.save()

        query = UserPreference.objects.filter(user__exact=user)
        self.assertEqual(len(query), len(self.preference_defaults) + 1)
        prefs = [q.preference for q in query]
        self.assertIn(test_pref, prefs)
コード例 #10
0
    def test_user_preference_arbitrary(self):
        """Test that we can set and retrieve an arbitrary preference."""
        user = None
        serializer = UserSerializer(data=self.user_data)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {'context': {'user': user}}
        test_pref = {'foo': ['a', [1, 2, 3], {'b': 'c'}]}
        data = {'name': self.fake.word(),
                'description': self.fake.text(),
                'preference': test_pref}
        serializer = UserPreferenceSerializer(data=data, **kwargs)
        if serializer.is_valid(raise_exception=True):
            serializer.save()

        query = UserPreference.objects.filter(user__exact=user)
        self.assertEqual(len(query), len(self.preference_defaults) + 1)
        prefs = [q.preference for q in query]
        self.assertIn(test_pref, prefs)
コード例 #11
0
    def test_user_preference_currency_invalid(self):
        """Test that we fail to create invalid preference."""
        user = None
        serializer = UserSerializer(data=self.user_data,
                                    context=self.request_context)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {"context": {"user": user}}
        data = {
            "name": "currency",
            "description": self.fake.text(),
            "preference": {
                "currency": "LOL"
            }
        }

        with self.assertRaises(ValidationError):
            serializer = UserPreferenceSerializer(data=data, **kwargs)
            if serializer.is_valid(raise_exception=True):
                serializer.save()
コード例 #12
0
    def test_user_preference_arbitrary(self):
        """Test that we can set and retrieve an arbitrary preference."""
        user = None
        serializer = UserSerializer(data=self.user_data,
                                    context=self.request_context)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {"context": {"user": user}}
        test_pref = {"foo": ["a", [1, 2, 3], {"b": "c"}]}
        data = {
            "name": self.fake.word(),
            "description": self.fake.text(),
            "preference": test_pref
        }
        serializer = UserPreferenceSerializer(data=data, **kwargs)
        if serializer.is_valid(raise_exception=True):
            serializer.save()

        query = UserPreference.objects.filter(user__exact=user)
        self.assertEqual(len(query), len(self.preference_defaults) + 1)
        prefs = [q.preference for q in query]
        self.assertIn(test_pref, prefs)
コード例 #13
0
    def test_user_preference_locale(self):
        """Test that valid locales are saved."""
        user = None
        serializer = UserSerializer(data=self.user_data)
        if serializer.is_valid(raise_exception=True):
            user = serializer.save()

        kwargs = {'context': {'user': user}}
        data = {'name': 'locale',
                'description': self.fake.text(),
                'preference': {'locale': 'tg_TJ.KOI8-C'}}

        pref = list(UserPreference.objects.filter(user=user, name='locale')).pop()
        self.assertIsNotNone(pref)
        self.assertIsInstance(pref, UserPreference)

        serializer = UserPreferenceSerializer(pref, data=data, **kwargs)
        if serializer.is_valid(raise_exception=True):
            serializer.save()

        self.assertEqual(pref.name, data.get('name'))
        self.assertEqual(pref.description, data.get('description'))
        self.assertEqual(pref.preference, data.get('preference'))