Esempio n. 1
0
    def test_list_families(self):
        """Test listing families"""
        sample_insectFamily()
        sample_insectFamily(name='test 2')

        res = self.client.get(FAMILY_URL)

        families = models.InsectFamilies.objects.all().order_by('id')
        serializer = serializers.InsectFamiliesSerializer(families, many=True)
        self.assertEqual(res.status_code, status.HTTP_200_OK)
        self.assertEqual(res.data, serializer.data)
Esempio n. 2
0
    def test_create_sub_family_no_name_fail(self):
        """Test creating a sub family without name should fail"""
        family = sample_insectFamily()
        payload = {'name': '', 'family': family.id}

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

        self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)
Esempio n. 3
0
    def test_sub_family_admin_required(self):
        """Test admin is required"""
        family = sample_insectFamily()
        payload = {'name': 'sub family test name', 'family': family.id}

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

        self.assertEqual(res.status_code, status.HTTP_403_FORBIDDEN)
Esempio n. 4
0
    def test_create_sub_family(self):
        """Test creating a sub family"""
        family = sample_insectFamily()
        payload = {'name': 'family test name', 'family': family.id}

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

        self.assertEqual(res.status_code, status.HTTP_201_CREATED)
        subFamily = models.InsectSubFamilies.objects.get(id=res.data['id'])
        self.assertEqual(subFamily.name, payload['name'])
        self.assertEqual(subFamily.family.id, payload['family'])
Esempio n. 5
0
    def test_retrieve_family(self):
        """Test retrieving a family"""
        family = sample_insectFamily()

        url = detail_family_url(family.id)
        res = self.client.get(url)

        serializer = serializers.InsectFamiliesSerializer(family)

        self.assertEqual(res.status_code, status.HTTP_200_OK)
        self.assertEqual(res.data, serializer.data)
Esempio n. 6
0
    def test_update_sub_family(self):
        """Test updating sub family"""
        subFamily = sample_insectSubFamily()
        family = sample_insectFamily(name='other family')
        payload = {'name': 'new sub family name', 'family': family.id}

        url = detail_sub_family_url(subFamily.id)
        res = self.client.patch(url, payload)

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

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