Ejemplo n.º 1
0
    def test_list_super_families(self):
        """Test listing super families"""
        sample_insectSuperFamily()
        sample_insectSuperFamily(name='test 2')

        res = self.client.get(SUPERFAMILY_URL)

        supFamilies = models.InsectSuperFamilies.objects.all().order_by('id')
        serializer = serializers.InsectSuperFamiliesSerializer(supFamilies,
                                                               many=True)
        self.assertEqual(res.status_code, status.HTTP_200_OK)
        self.assertEqual(res.data, serializer.data)
Ejemplo n.º 2
0
    def test_create_family_no_name_fail(self):
        """Test creating a family without name should fail"""
        supFam = sample_insectSuperFamily()
        payload = {'name': '', 'superFamily': supFam.id}

        res = self.client.post(FAMILY_URL, payload)

        self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 3
0
    def test_family_admin_required(self):
        """Test admin is required"""
        supFam = sample_insectSuperFamily()
        payload = {'name': 'family test name', 'superFamily': supFam.id}

        res = self.client.post(FAMILY_URL, payload)

        self.assertEqual(res.status_code, status.HTTP_403_FORBIDDEN)
Ejemplo n.º 4
0
    def test_create_family(self):
        """Test creating a family"""
        supFam = sample_insectSuperFamily()
        payload = {'name': 'family test name', 'superFamily': supFam.id}

        res = self.client.post(FAMILY_URL, payload)

        self.assertEqual(res.status_code, status.HTTP_201_CREATED)
        family = models.InsectFamilies.objects.get(id=res.data['id'])
        self.assertEqual(family.name, payload['name'])
        self.assertEqual(family.superFamily.id, payload['superFamily'])
Ejemplo n.º 5
0
    def test_retrieve_super_family(self):
        """Test retrieving a super family"""
        supFamily = sample_insectSuperFamily()

        url = detail_super_family_url(supFamily.id)
        res = self.client.get(url)

        serializer = serializers.InsectSuperFamiliesSerializer(supFamily)

        self.assertEqual(res.status_code, status.HTTP_200_OK)
        self.assertEqual(res.data, serializer.data)
Ejemplo n.º 6
0
    def test_update_super_family(self):
        """Test updating super family"""
        supFamily = sample_insectSuperFamily()
        payload = {'name': 'new super family name'}

        url = detail_super_family_url(supFamily.id)
        res = self.client.patch(url, payload)

        self.assertEqual(res.status_code, status.HTTP_200_OK)
        supFamily.refresh_from_db()

        self.assertEqual(supFamily.name, payload['name'])
Ejemplo n.º 7
0
    def test_update_family(self):
        """Test updating family"""
        family = sample_insectFamily()
        superFamily = sample_insectSuperFamily(name='other super family')
        payload = {'name': 'new family name', 'superFamily': superFamily.id}

        url = detail_family_url(family.id)
        res = self.client.patch(url, payload)

        self.assertEqual(res.status_code, status.HTTP_200_OK)
        family.refresh_from_db()

        self.assertEqual(family.name, payload['name'])
        self.assertEqual(family.superFamily.id, payload['superFamily'])