def test_json(self): """Test target JSON.""" l = GpsPosition(latitude=38, longitude=-76) l.save() t = Target(user=self.user, target_type=TargetType.standard, location=l, orientation=Orientation.s, shape=Shape.square, background_color=Color.white, alphanumeric='ABC', alphanumeric_color=Color.black, description='Test target', autonomous=True) t.save() d = t.json() self.assertIn('id', d) self.assertEqual(self.user.pk, d['user']) self.assertEqual('standard', d['type']) self.assertEqual(38, d['latitude']) self.assertEqual(-76, d['longitude']) self.assertEqual('s', d['orientation']) self.assertEqual('square', d['shape']) self.assertEqual('white', d['background_color']) self.assertEqual('ABC', d['alphanumeric']) self.assertEqual('black', d['alphanumeric_color']) self.assertEqual('Test target', d['description']) self.assertEqual(True, d['autonomous']) self.assertNotIn('thumbnail_approved', d) d = t.json(is_superuser=True) self.assertIn('description_approved', d) self.assertIn('thumbnail_approved', d) t.description_approved = True t.thumbnail_approved = True t.actionable_override = True t.save() d = t.json(is_superuser=True) self.assertEqual(True, d['description_approved']) self.assertEqual(None, d['thumbnail']) self.assertEqual(True, d['thumbnail_approved']) self.assertEqual(True, d['actionable_override'])