Ejemplo n.º 1
0
 def test_planet_to_dict_no_id(self):
     p = Planet(id=1,
                planet_id=2,
                name='Test Planet',
                diameter=123456,
                rotation_period=1,
                orbital_period=365,
                gravity='1',
                population=6000000,
                climate='tundra,desert,rainforest',
                terrain='flat',
                surface_water=8)
     p_dict = p.to_dict()
     self.assertEqual(p.id, 1)
     self.assertNotIn('id', p_dict)
Ejemplo n.º 2
0
    def test_planet_to_dict(self):
        expected_dict = {
            'planet_id': 2,
            'name': 'Test Planet',
            'diameter': 123456,
            'rotation_period': 1,
            'orbital_period': 365,
            'gravity': 1,
            'population': 6000000,
            'climate': 'tundra,desert,rainforect',
            'terrain': 'flat',
            'surface_water': 8
        }

        p = Planet(id=1, **expected_dict)
        p_dict = p.to_dict()
        self.assertEqual(p.id, 1)
        self.assertEqual(p_dict, expected_dict)
Ejemplo n.º 3
0
def get_by_id(request, id):
    try:
        planet = Planet.objects.get(pk=id)
    except Planet.DoesNotExist as dne:
        success, response = get_planet_by_id(id)
        planet = Planet(planet_id=id,
                        name=response['name'],
                        diameter=int(response['diameter']),
                        rotation_period=int(response['rotation_period']),
                        orbital_period=int(response['orbital_period']),
                        gravity=response['gravity'],
                        population=int(response['population']),
                        climate=response['climate'],
                        terrain=response['terrain'],
                        surface_water=int(response['surface_water']))
        planet.save()
    if request.GET.get("q", None) == "imperial":
        return JsonResponse(planet.to_imperial(), status=200)
    else:
        return JsonResponse(planet.to_dict(), status=200)