예제 #1
0
파일: tests.py 프로젝트: rukku/rapidsms
 def test_bulk_add(self):
     # We can upload a CSV file to create contacts & connections
     backend1 = self.create_backend()
     backend2 = self.create_backend()
     # Include a unicode name to make sure that works
     uname = u"Name 1 ḀḂḈ ᵺ"
     data = [
         (uname, backend1.name, u"11111"),
         (u"Name 2", backend2.name, u"22222"),
         (u"Name 3", backend1.name, u"33333"),
         (u"Name 4", backend2.name, u"44444"),
     ]
     # Create test file
     testfile = u"\n".join([u",".join(parts) for parts in data]) + u"\n"
     testfile_data = testfile.encode("utf-8")
     with patch("rapidsms.contrib.registration.views.render") as render:
         request = Mock(method="POST", FILES={"bulk": StringIO(testfile_data)})
         self.login()
         request.user = self.user
         retval = views.contact_bulk_add(request)
     if not isinstance(retval, HttpResponseRedirect):
         context = render.call_args[0][2]
         self.fail(context["bulk_form"].errors + context["csv_errors"])
     self.assertTrue(isinstance(retval, HttpResponseRedirect))
     self.assertEqual(302, retval.status_code)
     contacts = Contact.objects.all()
     self.assertEqual(4, contacts.count())
     names = [contact.name for contact in contacts]
     self.assertIn(uname, names)
예제 #2
0
파일: tests.py 프로젝트: Achaz/rapidsms
 def test_bulk_add(self):
     # We can upload a CSV file to create contacts & connections
     backend1 = self.create_backend()
     backend2 = self.create_backend()
     # Include a unicode name to make sure that works
     uname = u'Name 1 ḀḂḈ ᵺ'
     data = [
         (uname, backend1.name, u'11111'),
         (u'Name 2', backend2.name, u'22222'),
         (u'Name 3', backend1.name, u'33333'),
         (u'Name 4', backend2.name, u'44444'),
     ]
     # Create test file
     testfile = u"\n".join([u",".join(parts) for parts in data]) + u"\n"
     testfile_data = testfile.encode('utf-8')
     with patch('rapidsms.contrib.registration.views.render') as render:
         request = Mock(method="POST",
                        FILES={'bulk': StringIO(testfile_data)})
         request.__class__ = HttpRequest
         self.login()
         request.user = self.user
         retval = views.contact_bulk_add(request)
     if not isinstance(retval, HttpResponseRedirect):
         context = render.call_args[0][2]
         self.fail(context['bulk_form'].errors + context['csv_errors'])
     self.assertTrue(isinstance(retval, HttpResponseRedirect))
     self.assertEqual(302, retval.status_code)
     contacts = Contact.objects.all()
     self.assertEqual(4, contacts.count())
     names = [contact.name for contact in contacts]
     self.assertIn(uname, names)
예제 #3
0
 def test_bulk_add(self):
     # We can upload a CSV file to create contacts & connections
     backend1 = self.create_backend()
     backend2 = self.create_backend()
     # Include a unicode name to make sure that works
     uname = u'Name 1 ḀḂḈ ᵺ'
     data = [
         (uname, backend1.name, u'11111'),
         (u'Name 2', backend2.name, u'22222'),
         (u'Name 3', backend1.name, u'33333'),
         (u'Name 4', backend2.name, u'44444'),
     ]
     # Create test file
     testfile = u"\n".join([u",".join(parts) for parts in data]) + u"\n"
     testfile_data = testfile.encode('utf-8')
     with patch('rapidsms.contrib.registration.views.render') as render:
         request = Mock(method="POST",
                        FILES={'bulk': StringIO(testfile_data)})
         self.login()
         request.user = self.user
         retval = views.contact_bulk_add(request)
     if not isinstance(retval, HttpResponseRedirect):
         context = render.call_args[0][2]
         self.fail(context['bulk_form'].errors + context['csv_errors'])
     self.assertTrue(isinstance(retval, HttpResponseRedirect))
     self.assertEqual(302, retval.status_code)
     contacts = Contact.objects.all()
     self.assertEqual(4, contacts.count())
     names = [contact.name for contact in contacts]
     self.assertIn(uname, names)
예제 #4
0
파일: tests.py 프로젝트: AndreLesa/rapidsms
 def test_bulk_add_bad_line(self):
     testfile = "Field 1, field 2\n"
     with patch('rapidsms.contrib.registration.views.render') as render:
         request = Mock(method="POST", FILES={'bulk': StringIO(testfile)})
         retval = views.contact_bulk_add(request)
     self.assertFalse(isinstance(retval, HttpResponseRedirect))
     context = render.call_args[0][2]
     self.assertIn('csv_errors', context)
     self.assertEqual('Could not unpack line 1', context['csv_errors'])
예제 #5
0
파일: tests.py 프로젝트: AndreLesa/rapidsms
 def test_bulk_add_bad_backend(self):
     testfile = "Field 1, no_such_backend, 123\n"
     with patch('rapidsms.contrib.registration.views.render') as render:
         request = Mock(method="POST", FILES={'bulk': StringIO(testfile)})
         retval = views.contact_bulk_add(request)
     self.assertFalse(isinstance(retval, HttpResponseRedirect))
     context = render.call_args[0][2]
     self.assertIn('csv_errors', context)
     self.assertEqual("Could not find Backend.  Line: 1", context['csv_errors'])
예제 #6
0
파일: tests.py 프로젝트: AndreLesa/rapidsms
 def test_bulk_add_no_lines(self):
     testfile = ""
     with patch('rapidsms.contrib.registration.views.render') as render:
         request = Mock(method="POST", FILES={'bulk': StringIO(testfile)})
         retval = views.contact_bulk_add(request)
     self.assertFalse(isinstance(retval, HttpResponseRedirect))
     context = render.call_args[0][2]
     self.assertIn('csv_errors', context)
     self.assertEqual('No contacts found in file', context['csv_errors'])
예제 #7
0
파일: tests.py 프로젝트: Achaz/rapidsms
 def test_bulk_add_bad_line(self):
     testfile = "Field 1, field 2\n"
     with patch('rapidsms.contrib.registration.views.render') as render:
         request = Mock(method="POST", FILES={'bulk': StringIO(testfile)})
         self.login()
         request.user = self.user
         retval = views.contact_bulk_add(request)
     self.assertFalse(isinstance(retval, HttpResponseRedirect))
     context = render.call_args[0][2]
     self.assertIn('csv_errors', context)
     self.assertEqual('Could not unpack line 1', context['csv_errors'])
예제 #8
0
 def test_bulk_add_no_lines(self):
     testfile = ""
     with patch('rapidsms.contrib.registration.views.render') as render:
         request = Mock(method="POST", FILES={'bulk': StringIO(testfile)})
         self.login()
         request.user = self.user
         retval = views.contact_bulk_add(request)
     self.assertFalse(isinstance(retval, HttpResponseRedirect))
     context = render.call_args[0][2]
     self.assertIn('csv_errors', context)
     self.assertEqual('No contacts found in file', context['csv_errors'])
예제 #9
0
파일: tests.py 프로젝트: rukku/rapidsms
 def test_bulk_add_no_lines(self):
     testfile = ""
     with patch("rapidsms.contrib.registration.views.render") as render:
         request = Mock(method="POST", FILES={"bulk": StringIO(testfile)})
         self.login()
         request.user = self.user
         retval = views.contact_bulk_add(request)
     self.assertFalse(isinstance(retval, HttpResponseRedirect))
     context = render.call_args[0][2]
     self.assertIn("csv_errors", context)
     self.assertEqual("No contacts found in file", context["csv_errors"])
예제 #10
0
 def test_bulk_add_bad_backend(self):
     testfile = "Field 1, no_such_backend, 123\n"
     with patch('rapidsms.contrib.registration.views.render') as render:
         request = Mock(method="POST", FILES={'bulk': StringIO(testfile)})
         self.login()
         request.user = self.user
         retval = views.contact_bulk_add(request)
     self.assertFalse(isinstance(retval, HttpResponseRedirect))
     context = render.call_args[0][2]
     self.assertIn('csv_errors', context)
     self.assertEqual("Could not find Backend.  Line: 1",
                      context['csv_errors'])
예제 #11
0
파일: tests.py 프로젝트: Achaz/rapidsms
 def test_bulk_get(self):
     # Just make sure the page loads
     with patch('rapidsms.contrib.registration.views.render') as render:
         request = Mock(method="GET")
         views.contact_bulk_add(request)
     render.assert_called()
예제 #12
0
 def test_bulk_get(self):
     # Just make sure the page loads
     with patch('rapidsms.contrib.registration.views.render') as render:
         request = Mock(method="GET")
         views.contact_bulk_add(request)
     render.assert_called()