예제 #1
0
 def setUp(self):
     """
     Sets up before each test
     """
     self.taxon = TaxonF.create(taxon_class='Aves')
     self.permission = PermissionF.create(name='Can validate data',
                                          codename='can_validate_data')
예제 #2
0
    def test_Taxon_delete(self):
        """
        Tests taxon model delete
        """
        model = TaxonF.create()
        model.delete()

        # check if deleted
        self.assertTrue(model.pk is None)
예제 #3
0
    def test_Taxon_create(self):
        """
        Tests taxon creation
        """
        model = TaxonF.create()

        # check if pk exists
        self.assertTrue(model.pk is not None)

        # check if iucn_status exists
        self.assertTrue(model.iucn_status is not None)

        # check if scientific name exists
        self.assertTrue(model.scientific_name is not None)
예제 #4
0
    def test_get_taxon_by_id(self):
        pk = 1
        taxon = TaxonF.create(
            pk=1,
            common_name=u'Golden fish',
        )
        view = TaxonDetail.as_view()
        request = self.factory.get('/api/taxon/' + str(pk))
        response = view(request, str(pk))
        self.assertEqual(taxon.common_name, response.data['common_name'])

        # def test_get_allowed_geometry_location_type_by_id(self):
        view = LocationTypeAllowedGeometryDetail.as_view()
        pk = '%s' % self.fish_collection_1.site.location_type.pk
        request = self.factory.get('/api/location-type/%s/allowed-geometry/' %
                                   pk)
        response = view(request, pk)
        self.assertEqual(response.data, 'POINT')
예제 #5
0
    def test_only_get_aves_collection(self):
        from django.contrib.auth.models import Permission
        view = GetNonValidatedRecords.as_view()
        taxon = TaxonF.create(taxon_class='Aves', )
        BiologicalCollectionRecordF.create(pk=3,
                                           site=self.location_site,
                                           taxon_gbif_id=taxon,
                                           validated=False)
        user = UserF.create()
        permission = Permission.objects.filter(codename='can_validate_aves')[0]
        group = GroupF.create()
        group.permissions.add(permission)
        user.groups.add(group)

        request = self.factory.get(reverse('get-unvalidated-records'))
        request.user = user
        response = view(request)
        self.assertEqual(response.status_code, 200)
예제 #6
0
    def test_Taxon_read(self):
        """
        Tests taxon model read
        """
        iucn_status = IUCNStatusF.create(
            category=u'custom iucn status',
            sensitive=True,
        )
        model = TaxonF.create(
            iucn_status=iucn_status,
            scientific_name=u'custom scientific name',
            common_name=u'custom common name',
            author=u'custom author'
        )

        self.assertTrue(model.iucn_status.category == 'custom iucn status')
        self.assertTrue(model.scientific_name == 'custom scientific name')
        self.assertTrue(model.common_name == 'custom common name')
        self.assertTrue(model.author == 'custom author')
예제 #7
0
    def test_Taxon_update(self):
        """
        Tests taxon model update
        """
        model = TaxonF.create()
        iucn_status = IUCNStatusF.create(
            category=u'custom iucn status',
            sensitive=True,
        )
        new_data = {
            'iucn_status': iucn_status,
            'scientific_name': u'new scientific name',
            'common_name': u'new common name',
            'author': u'custom author',
        }
        model.__dict__.update(new_data)
        model.save()

        # check if updated
        for key, val in new_data.items():
            self.assertEqual(model.__dict__.get(key), val)