def test_deserialize(self): """ Deserialising the JSONish value of an EmbedBlock (a URL) should give us an EmbedValue for that URL """ block = EmbedBlock(required=False) block_val = block.to_python('http://www.example.com/foo') self.assertIsInstance(block_val, EmbedValue) self.assertEqual(block_val.url, 'http://www.example.com/foo') # empty values should yield None empty_block_val = block.to_python('') self.assertEqual(empty_block_val, None)
def test_render(self, get_embed): get_embed.return_value = Embed(html='<h1>Hello world!</h1>') block = EmbedBlock() block_val = block.to_python('http://www.example.com/foo') temp = template.Template('embed: {{ embed }}') context = template.Context({'embed': block_val}) result = temp.render(context) # Check that the embed was in the returned HTML self.assertIn('<h1>Hello world!</h1>', result) # Check that get_embed was called correctly get_embed.assert_any_call('http://www.example.com/foo')