Пример #1
0
    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'], '')
Пример #2
0
    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)
Пример #3
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"]))
Пример #4
0
 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)
Пример #5
0
    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"])
Пример #6
0
    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'])
Пример #7
0
    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'])
Пример #8
0
    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)
Пример #9
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))
Пример #10
0
    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'], '')
Пример #11
0
    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)
Пример #12
0
    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'], '')
Пример #13
0
    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)
Пример #14
0
    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())
Пример #15
0
    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))
Пример #16
0
 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")