Beispiel #1
0
 def test_create_with_all_params(self):
     x = Field(name="fruit", value="orange", inline=False)
     self.assertEqual(x.name, "fruit")
     self.assertEqual(x.value, "orange")
     self.assertEqual(x.inline, False)
     self.assertDictEqual(
         x.asdict(), {"name": "fruit", "value": "orange", "inline": False}
     )
Beispiel #2
0
 def test_create_with_name_and_value_only(self):
     x = Field("fruit", "orange")
     self.assertEqual(x.name, "fruit")
     self.assertEqual(x.value, "orange")
     self.assertEqual(x.inline, True)
     self.assertDictEqual(
         x.asdict(), {"name": "fruit", "value": "orange", "inline": True}
     )
Beispiel #3
0
 def test_detects_max_embed_limit(self):
     description = "x" * 2000
     fields = list()
     for x in range(5):
         fields.append(Field(name="name" + str(x), value="value" + "x" * 1000))
     with self.assertRaises(ValueError):
         x = Embed(description=description, fields=fields)
Beispiel #4
0
 def test_from_dict_full(self):
     embed = Embed(
         title="Justice League",
         description="They said the age of heroes would never come again.",
         url="url-1",
         timestamp=self.now,
         color=0x5CDBF0,
         footer=Footer("TOP SECRET", "url-2", "url-11"),
         image=Image("url-3", "url-4", height=200, width=150),
         thumbnail=Thumbnail("url-5", "url-6", height=100, width=80),
         author=Author("Bruce Wayne", "url-8", "url-9"),
         fields=[Field("fruit", "orange", False), Field("vegetable", "onion", True)],
     )
     embed_dict = embed.asdict()
     embed_2 = Embed.from_dict(embed_dict)
     self.assertEqual(embed, embed_2)
Beispiel #5
0
 def test_detect_missing_name(self):
     with self.assertRaises(ValueError):
         Field(name=None, value="Batman")
Beispiel #6
0
 def test_detect_missing_value(self):
     with self.assertRaises(ValueError):
         Field(name="Bruce Wayne", value=None)
Beispiel #7
0
 def test_detects_value_limit(self):
     large_string = "x" * 1025
     with self.assertRaises(ValueError):
         Field(name="Bruce Wayne", value=large_string)
Beispiel #8
0
 def test_detects_name_limit(self):
     large_string = "x" * 257
     with self.assertRaises(ValueError):
         Field(large_string, value="Batman")
Beispiel #9
0
 def test_detect_missing_params_on_create(self):
     with self.assertRaises(ValueError):
         Field(name=None, value=None)
Beispiel #10
0
 def test_detects_max_fields_limit(self):
     fields = list()
     for x in range(26):
         fields.append(Field(name="name {}".format(x), value="value {}".format(x)))
     with self.assertRaises(ValueError):
         x = Embed(fields=fields)
Beispiel #11
0
 def test_fromdict(self):
     field = Field(name="fruit", value="orange", inline=False)
     field_dict = field.asdict()
     field2 = Field.from_dict(field_dict)
     self.assertEqual(field, field2)
Beispiel #12
0
 def test_detects_wrong_type_fields_content(self):
     with self.assertRaises(TypeError):
         Embed(fields=[int(1), Field("x", 1)])
Beispiel #13
0
    def test_create_with_full_params(self):
        obj = Embed(
            title="Justice League",
            description="They said the age of heroes would never come again.",
            url="url-1",
            timestamp=self.now,
            color=0x5CDBF0,
            footer=Footer("TOP SECRET", "url-2", "url-11"),
            image=Image("url-3", "url-4", height=200, width=150),
            thumbnail=Thumbnail("url-5", "url-6", height=100, width=80),
            author=Author("Bruce Wayne", "url-8", "url-9"),
            fields=[Field("fruit", "orange", False), Field("vegetable", "onion", True)],
        )
        self.assertEqual(obj.title, "Justice League")
        self.assertEqual(
            obj.description, "They said the age of heroes would never come again."
        )
        self.assertEqual(obj.type, "rich")
        self.assertEqual(obj.url, "url-1")
        self.assertEqual(obj.timestamp, self.now)
        self.assertEqual(obj.color, 0x5CDBF0)
        self.assertEqual(obj.footer, Footer("TOP SECRET", "url-2", "url-11"))
        self.assertEqual(obj.image, Image("url-3", "url-4", height=200, width=150))
        self.assertEqual(
            obj.thumbnail, Thumbnail("url-5", "url-6", height=100, width=80)
        )
        self.assertEqual(obj.author, Author("Bruce Wayne", "url-8", "url-9"))
        self.assertEqual(
            obj.fields,
            [Field("fruit", "orange", False), Field("vegetable", "onion", True)],
        )

        self.maxDiff = None
        self.assertDictEqual(
            obj.asdict(),
            {
                "title": "Justice League",
                "type": "rich",
                "description": "They said the age of heroes would never come again.",
                "url": "url-1",
                "timestamp": self.now,
                "color": 0x5CDBF0,
                "image": {
                    "url": "url-3",
                    "proxy_url": "url-4",
                    "height": 200,
                    "width": 150,
                },
                "thumbnail": {
                    "url": "url-5",
                    "proxy_url": "url-6",
                    "height": 100,
                    "width": 80,
                },
                "footer": {
                    "text": "TOP SECRET",
                    "icon_url": "url-2",
                    "proxy_icon_url": "url-11",
                },
                "author": {"name": "Bruce Wayne", "url": "url-8", "icon_url": "url-9"},
                "fields": [
                    {"name": "fruit", "value": "orange", "inline": False},
                    {"name": "vegetable", "value": "onion", "inline": True},
                ],
            },
        )
Beispiel #14
0
 def test_detect_invalid_inline_type(self):
     with self.assertRaises(TypeError):
         Field(name="fruit", value="orange", inline=int(5))