def test_ignore_existing(self): """it should not return the contact with the given id""" entity = mommy.make(models.Entity, name='StarWars', email='*****@*****.**') contact1 = mommy.make(models.Contact, lastname='Skywalker', firstname='Luke', email='*****@*****.**') contact2 = mommy.make(models.Contact, entity=entity, lastname='Skywalker', firstname='', email='') contact3 = mommy.make(models.Contact, lastname='Skywalker', firstname='Luke', email='*****@*****.**') url = reverse('crm_same_as_suggestions') data = { 'id': contact3.id, 'lastname': 'Skywalker', 'firstname': '', 'email': '*****@*****.**' } response = self.client.post(url, data=data) self.assertEqual(response.status_code, 200) resp_data = response_as_json(response) self.assertEqual(2, len(resp_data)) resp_data = sorted(resp_data, key=lambda contact: contact['id']) self.assertEqual(resp_data[0]['id'], contact1.id) self.assertNotEqual(resp_data[0]['fullname'], '') self.assertEqual(resp_data[1]['id'], contact2.id) self.assertNotEqual(resp_data[1]['fullname'], '')
def test_get_contact_and_entity_empty(self): """It should return empty""" entity1 = mommy.make(models.Entity, name="Abc") contact1 = entity1.default_contact contact1.lastname = 'Abbes' contact1.save() entity2 = mommy.make(models.Entity, name="Rab") contact2 = entity2.default_contact contact2.lastname = 'Plabo' contact2.save() entity3 = mommy.make(models.Entity, name="ABO") contact3 = entity3.default_contact contact3.lastname = 'Wab' contact3.save() entity4 = mommy.make(models.Entity, name="Waw") contact4 = entity4.default_contact contact4.lastname = 'Aby' contact4.save() response = self.client.get(reverse(self.view_name) + '?term=zzzzzzz') self.assertEqual(200, response.status_code) data = response_as_json(response) self.assertEqual(len(data), 0)
def test_view_emailing_to_send(self): """view form no emailing to be send""" emailing1 = mommy.make(Emailing, status=Emailing.STATUS_EDITING) emailing2 = mommy.make(Emailing, status=Emailing.STATUS_SENDING, scheduling_dt=datetime.now()) mommy.make(Emailing, status=Emailing.STATUS_SENT, scheduling_dt=datetime.now(), sending_dt=datetime.now()) emailing4 = mommy.make(Emailing, status=Emailing.STATUS_SCHEDULED, scheduling_dt=datetime.now()) url = reverse('search_get_field', args=['emailing_send']) url += "?block=gr0&count=0" response = self.client.get(url) self.assertEqual(200, response.status_code) data = response_as_json(response) soup = BeautifulSoup(data['form']) selector = soup.select("select#id_gr0-_-emailing_send-_-0 option") self.assertEqual(4, len(selector)) self.assertEqual("", selector[0]["value"]) self.assertEqual(emailing4.id, int(selector[1]["value"])) self.assertEqual(emailing2.id, int(selector[2]["value"])) self.assertEqual(emailing1.id, int(selector[3]["value"]))
def test_get_entity_name(self): """return id""" entity1 = mommy.make(models.Entity, is_single_contact=False, name='ABC') mommy.make(models.Entity, is_single_contact=False, name='WABC') response = self.client.get(reverse('crm_get_entity_id') + '?name={0}'.format(entity1.name)) self.assertEqual(200, response.status_code) data = response_as_json(response) self.assertEqual(data['id'], entity1.id)
def test_view_emailing_empty(self): """view form no emailing defined""" url = reverse('search_get_field', args=['emailing_sent']) url += "?block=gr0&count=0" response = self.client.get(url) self.assertEqual(200, response.status_code) data = response_as_json(response) soup = BeautifulSoup(data['form']) selector = soup.select("select#id_gr0-_-emailing_sent-_-0 option") self.assertEqual(1, len(selector)) self.assertEqual("", selector[0]["value"])
def test_post_wrong_ct(self): """post wrong content type""" faved_user = mommy.make(User) data = { 'content_type': 55555, 'object_id': faved_user.id, } response = self.client.post(reverse('users_toggle_favorite'), data) self.assertEqual(200, response.status_code) resp_data = response_as_json(response) self.assertEqual(False, resp_data['success'])
def test_post_wrong_id(self): """post wrong id""" user_ct = ContentType.objects.get_for_model(User) data = { 'content_type': user_ct.id, 'object_id': 1111111, } response = self.client.post(reverse('users_toggle_favorite'), data) self.assertEqual(200, response.status_code) resp_data = response_as_json(response) self.assertEqual(False, resp_data['success'])
def test_get_contact_and_entity_invalid_url(self): """It should return empty""" entity1 = mommy.make(models.Entity, name="Abc") contact1 = entity1.default_contact contact1.lastname = 'Abbes' contact1.save() response = self.client.get(reverse(self.view_name) + '?zz=Ab') self.assertEqual(200, response.status_code) data = response_as_json(response) self.assertEqual(len(data), 0)
def test_empty(self): """it should return empty list""" entity = mommy.make(models.Entity, name='StarWars', email='*****@*****.**') contact1 = mommy.make(models.Contact, lastname='Skywalker', firstname='Luke', email='*****@*****.**') contact2 = mommy.make(models.Contact, entity=entity, lastname='Skywalker', firstname='', email='') url = reverse('crm_same_as_suggestions') data = { 'lastname': 'Solo' } response = self.client.post(url, data=data) self.assertEqual(response.status_code, 200) resp_data = response_as_json(response) self.assertEqual(0, len(resp_data))
def test_fullname(self): """it should return list with 1 contact""" entity = mommy.make(models.Entity, name='StarWars', email='*****@*****.**') contact1 = mommy.make(models.Contact, lastname='Skywalker', firstname='Luke', email='*****@*****.**') contact2 = mommy.make(models.Contact, entity=entity, lastname='Skywalker', firstname='', email='') url = reverse('crm_same_as_suggestions') data = { 'lastname': 'Skywalker', 'firstname': 'Luke' } response = self.client.post(url, data=data) self.assertEqual(response.status_code, 200) resp_data = response_as_json(response) self.assertEqual(1, len(resp_data)) self.assertEqual(resp_data[0]['id'], contact1.id) self.assertNotEqual(resp_data[0]['fullname'], '')
def test_post_add(self): """post add favorite""" logged_user = self.user faved_user = mommy.make(User) data = { 'content_type': ContentType.objects.get_for_model(User).id, 'object_id': faved_user.id, } response = self.client.post(reverse('users_toggle_favorite'), data) self.assertEqual(200, response.status_code) resp_data = response_as_json(response) self.assertEqual(True, resp_data['success']) self.assertEqual(True, resp_data['status']) self.assertEqual(1, Favorite.objects.count()) fav = Favorite.objects.all()[0] self.assertEqual(fav.content_object, faved_user) self.assertEqual(fav.user, logged_user)
def test_entity_email(self): """it should return contact based on entity email""" entity = mommy.make(models.Entity, name='StarWars', email='*****@*****.**') contact1 = mommy.make(models.Contact, lastname='Skywalker', firstname='Luke', email='*****@*****.**') contact2 = mommy.make(models.Contact, entity=entity, lastname='Skywalker', firstname='', email='') entity.default_contact.delete() url = reverse('crm_same_as_suggestions') data = { 'email': '*****@*****.**' } response = self.client.post(url, data=data) self.assertEqual(response.status_code, 200) resp_data = response_as_json(response) self.assertEqual(1, len(resp_data)) resp_data = sorted(resp_data, key=lambda contact: contact['id']) self.assertEqual(resp_data[0]['id'], contact2.id) self.assertNotEqual(resp_data[0]['fullname'], '')
def test_set_homepage_invalid(self): """set an invalid homepage""" origin_url = 'http://testserver' + reverse('users_favorites_list') mommy.make(UserHomepage, user=self.user, url=origin_url) self.assertEqual(1, UserHomepage.objects.count()) homepage_url = "http://toto.fr/toto" url = reverse('users_make_homepage') response = self.client.post(url, data={'url': homepage_url}) self.assertEqual(200, response.status_code) response_data = response_as_json(response) self.assertEqual(response_data["ok"], False) self.assertEqual(1, UserHomepage.objects.count()) homepage = UserHomepage.objects.all()[0] self.assertEqual(homepage.user, self.user) self.assertEqual(homepage.url, origin_url)
def test_post_remove(self): """post remove favorite""" logged_user = self.user faved_user = mommy.make(User) user_ct = ContentType.objects.get_for_model(User) Favorite.objects.create(user=logged_user, object_id=faved_user.id, content_type=user_ct) self.assertEqual(1, Favorite.objects.count()) data = { 'content_type': user_ct.id, 'object_id': faved_user.id, } response = self.client.post(reverse('users_toggle_favorite'), data) self.assertEqual(200, response.status_code) resp_data = response_as_json(response) self.assertEqual(True, resp_data['success']) self.assertEqual(False, resp_data['status']) self.assertEqual(0, Favorite.objects.count())
def test_get_contact_and_entity(self): """It should return contact and entity""" entity1 = mommy.make(models.Entity, name="Abc") contact1 = entity1.default_contact contact1.lastname = 'Abbes' contact1.save() entity2 = mommy.make(models.Entity, name="Rab") contact2 = entity2.default_contact contact2.lastname = 'Plabo' contact2.save() entity3 = mommy.make(models.Entity, name="ABO") contact3 = entity3.default_contact contact3.lastname = 'Wab' contact3.save() entity4 = mommy.make(models.Entity, name="Waw") contact4 = entity4.default_contact contact4.lastname = 'Aby' contact4.save() response = self.client.get(reverse(self.view_name) + '?term=ab') self.assertEqual(200, response.status_code) data = response_as_json(response) self.assertEqual(len(data), 4) self.assertEqual(data[0]['name'], 'Abbes') self.assertEqual(data[1]['name'], 'Abc') self.assertEqual(data[2]['name'], 'ABO') self.assertEqual(data[3]['name'], 'Aby') self.assertEqual(data[0]['type_and_id'], 'contact#' + str(contact1.id)) self.assertEqual(data[1]['type_and_id'], 'entity#' + str(entity1.id)) self.assertEqual(data[2]['type_and_id'], 'entity#' + str(entity3.id)) self.assertEqual(data[3]['type_and_id'], 'contact#' + str(contact4.id))
def test_get_city_id_unicode(self): response = self.client.get("{0}?name=Mérignac".format( reverse('crm_get_city_id'))) self.assertEqual(200, response.status_code) data = response_as_json(response) self.assertEqual(data["id"], "Mérignac")