示例#1
0
 def test_create_two_project_same_slug(self):
     """
 Creating two projects with same name to see if different slugs are created..
 """
     factory = APIRequestFactory()
     project = {
         'name': "Name",
         'details': 'This needs to be big',
         'description': 'This needs to be big',
         'responsible': 'Marjor',
         'phone': '123123',
         'email': '*****@*****.**',
         'skills': [1],
         'causes': [2],
         'job': {
             'start_date': 20140416,
             'end_date': 20140417
         }
     }
     u = User()
     u.save()
     n = Nonprofit(user=u)
     n.save()
     request = factory.post("/create/project/", {'project': project})
     force_authenticate(request, user=u)
     response = views.create_project(request)
     self.assertEqual(response.status_code, status.HTTP_201_CREATED)
     request = factory.post("/create/project/", {'project': project})
     force_authenticate(request, user=u)
     response = views.create_project(request)
     self.assertEqual(response.data['detail'],
                      'Project succesfully created.')
     self.assertEqual(response.status_code, status.HTTP_201_CREATED)
示例#2
0
 def test_create_two_project_same_slug(self):
   """
   Creating two projects with same name to see if different slugs are created..
   """
   factory = APIRequestFactory()
   project = {
     'name': "Name",
     'details': 'This needs to be big',
     'description': 'This needs to be big',
     'responsible': 'Marjor',
     'phone': '123123',
     'email': '*****@*****.**',
     'skills': [1],
     'causes': [2],
     'job': {
       'start_date': 20140416,
       'end_date': 20140417
     }
   }
   u = User()
   u.save()
   n = Nonprofit(user=u)
   n.save()
   request = factory.post("/create/project/", {'project': project})
   force_authenticate(request, user=u)
   response = views.create_project(request)
   self.assertEqual(response.status_code, status.HTTP_201_CREATED)
   request = factory.post("/create/project/", {'project': project})
   force_authenticate(request, user=u)
   response = views.create_project(request)
   self.assertEqual(response.data['detail'], 'Project succesfully created.')
   self.assertEqual(response.status_code, status.HTTP_201_CREATED)
示例#3
0
 def test_create_project_view_with_only_required_fields_job(self):
     """
 Project job with only required fields and no availabilites.
 """
     factory = APIRequestFactory()
     project = {
         'name': "Name",
         'details': 'This needs to be big',
         'description': 'This needs to be big',
         'responsible': 'Marjor',
         'phone': '123123',
         'email': '*****@*****.**',
         'skills': [1],
         'causes': [2],
         'job': {
             'start_date': 20140416,
             'end_date': 20140417
         }
     }
     request = factory.post("/create/project/", {'project': project})
     u = User()
     u.save()
     n = Nonprofit(user=u)
     n.save()
     force_authenticate(request, user=u)
     response = views.create_project(request)
     self.assertEqual(response.data['detail'],
                      'Project succesfully created.')
     self.assertEqual(response.status_code, status.HTTP_201_CREATED)
示例#4
0
 def test_create_project_view_with_only_required_fields_but_no_work_or_job(
         self):
     """
 Project with only required fields but no work or job.
 """
     factory = APIRequestFactory()
     project = {
         'name': "Name",
         'details': 'This needs to be big',
         'description': 'This needs to be big',
         'responsible': 'Marjor',
         'phone': '123123',
         'email': '*****@*****.**',
         'skills': [1],
         'causes': [2]
     }
     request = factory.post("/create/project/", {'project': project})
     u = User()
     u.save()
     n = Nonprofit(user=u)
     n.save()
     force_authenticate(request, user=u)
     response = views.create_project(request)
     self.assertEqual(response.data,
                      {'detail': 'Needs to have project or work.'})
     self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
示例#5
0
 def test_create_project_view_with_only_required_fields_job(self):
   """
   Project job with only required fields and no availabilites.
   """
   factory = APIRequestFactory()
   project = {
     'name': "Name",
     'details': 'This needs to be big',
     'description': 'This needs to be big',
     'responsible': 'Marjor',
     'phone': '123123',
     'email': '*****@*****.**',
     'skills': [1],
     'causes': [2],
     'job': {
       'start_date': 20140416,
       'end_date': 20140417
     }
   }
   request = factory.post("/create/project/", {'project': project})
   u = User()
   u.save()
   n = Nonprofit(user=u)
   n.save()
   force_authenticate(request, user=u)
   response = views.create_project(request)
   self.assertEqual(response.data['detail'], 'Project succesfully created.')
   self.assertEqual(response.status_code, status.HTTP_201_CREATED)
示例#6
0
文件: test_core.py 项目: atados/api
 def test_create_project_view_with_only_required_fields_work(self):
   """
   Project work with only required fields and no availabilites.
   """
   factory = APIRequestFactory()
   project = {
     'name': "Name",
     'details': 'This needs to be big',
     'description': 'This needs to be big',
     'responsible': 'Marjor',
     'phone': '11987456321',
     'email': '*****@*****.**',
     'skills': [{'id': 1}],
     'causes': [{'id': 1}],
     'work': {
       'weekly_hours': 1,
       'can_be_done_remotely': True
     }
   }
   request = factory.post("/create/project/", {'project': json.dumps(project)})
   u = User()
   u.save()
   n = Nonprofit(user=u)
   n.save()
   force_authenticate(request, user=u)
   response = views.create_project(request)
   self.assertEqual(response.data['detail'], 'Project succesfully created.')
   self.assertEqual(response.status_code, status.HTTP_201_CREATED)
示例#7
0
 def test_create_project_view_not_authenticated(self):
     """
 Project with no authenticated user.
 """
     factory = APIRequestFactory()
     request = factory.post("/create/project/", {"project": ""})
     response = views.create_project(request)
     self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
示例#8
0
 def test_create_project_view_not_authenticated(self):
   """
   Project with no authenticated user.
   """
   factory = APIRequestFactory()
   request = factory.post("/create/project/", {"project": ""})
   response = views.create_project(request)
   self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
示例#9
0
 def test_create_project_view_not_nonprofit_authenticated(self):
     """
 Project with user that is not nonprofit.
 """
     factory = APIRequestFactory()
     request = factory.post("/create/project/", {"project": ""})
     u = User()
     u.save()
     force_authenticate(request, user=u)
     response = views.create_project(request)
     self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
示例#10
0
 def test_create_project_view_not_nonprofit_authenticated(self):
   """
   Project with user that is not nonprofit.
   """
   factory = APIRequestFactory()
   request = factory.post("/create/project/", {"project": ""})
   u = User()
   u.save()
   force_authenticate(request, user=u)
   response = views.create_project(request)
   self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
示例#11
0
 def test_create_project_view_bad_request(self):
     """
 Project with bad data being sent.
 """
     factory = APIRequestFactory()
     request = factory.post("/create/project/", {"project": ""})
     u = User()
     u.save()
     n = Nonprofit(user=u)
     n.save()
     force_authenticate(request, user=u)
     response = views.create_project(request)
     self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
示例#12
0
 def test_create_project_view_bad_request(self):
   """
   Project with bad data being sent.
   """
   factory = APIRequestFactory()
   request = factory.post("/create/project/", {"project": ""})
   u = User()
   u.save()
   n = Nonprofit(user=u)
   n.save()
   force_authenticate(request, user=u)
   response = views.create_project(request)
   self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
示例#13
0
文件: test_core.py 项目: atados/api
  def test_create_project_view_to_test_address_creation(self):
    """
    Project to test address creation.
    """

    skill = Skill(name="Programming")
    skill.save()
    cause = Cause(name="Atados")
    cause.save()

    factory = APIRequestFactory()
    project = {
      'name': "Name",
      'details': 'This needs to be big',
      'description': 'This needs to be big',
      'responsible': 'Marjor',
      'phone': '11987456321',
      'email': '*****@*****.**',
      'skills': [{'id': 1}],
      'causes': [{'id': 1}],
      'work': {
        'weekly_hours': 1,
        'can_be_done_remotely': True
      },
      'address': {
        'addr': {
          'formatted_address': 'R. Capote Valente, 701, São Paulo'
        },
        'typed_address2': 'Complemento'
      }
    }


    s = State(name="sao paulo")
    s.save()
    c = City(id=9422, name="sao paulo", state=s)
    c.save()
    request = factory.post("/create/project/", {'project': json.dumps(project)})
    u = User()
    u.save()
    n = Nonprofit(user=u)
    n.save()
    force_authenticate(request, user=u)
    response = views.create_project(request)
    self.assertEqual(response.status_code, status.HTTP_201_CREATED)
    p = Project.objects.all()[0]
    self.assertEqual(p.phone, "11987456321")
    self.assertEqual(p.name, "Name")
    self.assertTrue(p.googleaddress)
    self.assertEqual(p.googleaddress.typed_address, u"R. Capote Valente, 701, São Paulo")
    self.assertEqual(p.googleaddress.typed_address2, u"Complemento")
示例#14
0
 def test_create_project_view_to_test_address_creation(self):
     """
 Project to test address creation.
 """
     factory = APIRequestFactory()
     project = {
         'name': "Name",
         'details': 'This needs to be big',
         'description': 'This needs to be big',
         'responsible': 'Marjor',
         'phone': '123123',
         'email': '*****@*****.**',
         'skills': [1],
         'causes': [2],
         'work': {
             'weekly_hours': 1,
             'can_be_done_remotely': True
         },
         'address': {
             'addressline': 'Rua Test',
             'addressnumber': 234,
             'neighborhood': 'Bairro',
             'zipcode': '13230-455',
             'city': {
                 'id': 9422
             }
         }
     }
     s = State(name="sdfsdf")
     s.save()
     c = City(id=9422, name="sao paulo", state=s)
     c.save()
     request = factory.post("/create/project/", {'project': project})
     u = User()
     u.save()
     n = Nonprofit(user=u)
     n.save()
     force_authenticate(request, user=u)
     response = views.create_project(request)
     self.assertEqual(response.status_code, status.HTTP_201_CREATED)
     p = Project.objects.all()[0]
     self.assertEqual(p.phone, "123123")
     self.assertEqual(p.name, "Name")
     self.assertTrue(p.address)
示例#15
0
 def test_create_project_view_to_test_address_creation(self):
   """
   Project to test address creation.
   """
   factory = APIRequestFactory()
   project = {
     'name': "Name",
     'details': 'This needs to be big',
     'description': 'This needs to be big',
     'responsible': 'Marjor',
     'phone': '123123',
     'email': '*****@*****.**',
     'skills': [1],
     'causes': [2],
     'work': {
       'weekly_hours': 1,
       'can_be_done_remotely': True
     },
     'address': {
         'addressline': 'Rua Test',
         'addressnumber': 234,
         'neighborhood': 'Bairro', 
         'zipcode': '13230-455',
         'city': {'id': 9422}
         }
   }
   s = State(name="sdfsdf")
   s.save()
   c = City(id=9422, name="sao paulo", state=s)
   c.save()
   request = factory.post("/create/project/", {'project': project})
   u = User()
   u.save()
   n = Nonprofit(user=u)
   n.save()
   force_authenticate(request, user=u)
   response = views.create_project(request)
   self.assertEqual(response.status_code, status.HTTP_201_CREATED)
   p = Project.objects.all()[0]
   self.assertEqual(p.phone, "123123")
   self.assertEqual(p.name, "Name")
   self.assertTrue(p.address)
示例#16
0
 def test_create_project_view_with_only_required_fields_but_no_work_or_job(self):
   """
   Project with only required fields but no work or job.
   """
   factory = APIRequestFactory()
   project = {
     'name': "Name",
     'details': 'This needs to be big',
     'description': 'This needs to be big',
     'responsible': 'Marjor',
     'phone': '123123',
     'email': '*****@*****.**',
     'skills': [1],
     'causes': [2]
   }
   request = factory.post("/create/project/", {'project': project})
   u = User()
   u.save()
   n = Nonprofit(user=u)
   n.save()
   force_authenticate(request, user=u)
   response = views.create_project(request)
   self.assertEqual(response.data, {'detail': 'Needs to have project or work.'})
   self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)