Ejemplo n.º 1
0
    def test_articles_pagination(self):

        desk_api = models.DeskApi2(sitename='testing')
        articles = desk_api.articles()

        self.assertEqual(len(articles), 75)
        self.assertEqual(len(httpretty.httpretty.latest_requests), 2)
Ejemplo n.º 2
0
    def test_article_translation_dict_access(self):

        desk_api = models.DeskApi2(sitename='testing')
        article = desk_api.articles()[0]

        es = article.translations['es']
        self.assertEqual(es.subject, 'Tema de Ayuda')
Ejemplo n.º 3
0
    def test_topics_allows_indexing(self):

        desk_api = models.DeskApi2(sitename='testing')
        topics = desk_api.topics()

        first_topic = topics[0]

        self.assertTrue(isinstance(first_topic, models.DeskObject))
Ejemplo n.º 4
0
    def test_topic_allows_property_access(self):

        desk_api = models.DeskApi2(sitename='testing')
        topics = desk_api.topics()

        first_topic = topics[0]

        self.assertEqual(first_topic.name, 'Customer Support')
        self.assertEqual(first_topic.in_support_center, True)
Ejemplo n.º 5
0
    def test_topics_support_iteration(self):

        desk_api = models.DeskApi2(sitename='testing')

        count = 0
        for topic in desk_api.topics():
            self.assertIsInstance(topic, models.DeskObject)
            count += 1

        self.assertEqual(count, 2)
Ejemplo n.º 6
0
    def test_update_topic(self):

        desk_api = models.DeskApi2(sitename='testing')
        updated_topic = desk_api.topics()[0].update(name='New Name', )

        self.assertEqual(
            json.loads(unicode_str(httpretty.last_request().body)),
            json.loads(fixture('topic_update_request.json')),
        )

        self.assertEqual(updated_topic.name, 'New Name')
Ejemplo n.º 7
0
    def test_article_translation_creation(self):

        desk_api = models.DeskApi2(sitename='testing')
        article = desk_api.articles()[0]

        ja = article.translations.create(
            locale='ja',
            subject='日本語訳',
        )

        self.assertEqual(ja.subject, unicode_str('日本語訳'))
Ejemplo n.º 8
0
    def test_article_update(self):

        desk_api = models.DeskApi2(sitename='testing')
        updated_article = desk_api.articles()[0].update(
            subject='New Subject',
        )

        self.assertEqual(updated_article.subject, 'New Subject')

        self.assertEqual(
            json.loads(unicode_str(httpretty.last_request().body)),
            json.loads(fixture('article_update_request.json')),
        )
Ejemplo n.º 9
0
    def test_create_topic(self):

        desk_api = models.DeskApi2(sitename='testing')
        topics = desk_api.topics()

        new_topic = topics.create(name='Social Media', )

        self.assertEqual(
            json.loads(unicode_str(httpretty.last_request().body)),
            json.loads(fixture('topic_create_request.json')),
        )

        self.assertEqual(new_topic.name, 'Social Media')
Ejemplo n.º 10
0
    def test_article_creation(self):

        articles = models.DeskApi2(sitename='testing').articles()

        new_article = articles.create(
            subject='Social Media',
        )

        self.assertEqual(
            json.loads(unicode_str(httpretty.last_request().body)),
            json.loads(fixture('article_create_request.json')),
        )
        self.assertEqual(httpretty.last_request().path, '/api/v2/articles')
        self.assertEqual(new_article.subject, 'Social Media')
Ejemplo n.º 11
0
    def test_update_topic_translation(self):

        desk_api = models.DeskApi2(sitename='testing')
        topic = desk_api.topics()[0]

        ja = topic.translations['ja']
        self.assertEqual(ja.name, 'Japanese Translation')

        updated_ja = ja.update(name='日本語訳', )

        self.assertEqual(
            json.loads(unicode_str(httpretty.last_request().body)),
            json.loads(fixture('topic_translation_update_request.json')),
        )

        self.assertEqual(updated_ja.name, unicode_str('日本語訳'))
Ejemplo n.º 12
0
    def test_create_topic_translation(self):

        desk_api = models.DeskApi2(sitename='testing')
        topic = desk_api.topics()[0]

        es = topic.translations.create(
            name='Traducción español',
            locale='es',
        )

        self.assertEqual(
            json.loads(unicode_str(httpretty.last_request().body)),
            json.loads(fixture('topic_translation_create_request.json')),
        )

        self.assertEqual(es.name, unicode_str('Traducción español'))
        self.assertEqual(es.locale, 'es')
Ejemplo n.º 13
0
    def test_article_translation_save(self):

        desk_api = models.DeskApi2(sitename='testing')
        article = desk_api.articles()[0]

        es = article.translations['es']
        es.subject = 'Actualizada la traducción española'
        updated_es = es.save()

        self.assertEqual(
            updated_es.subject,
            unicode_str('Actualizada la traducción española'),
        )
        self.assertEqual(
            json.loads(unicode_str(httpretty.last_request().body)),
            json.loads(fixture('article_translation_update_request.json')),
        )
Ejemplo n.º 14
0
    def test_topic_translations_returns_collection(self):

        desk_api = models.DeskApi2(sitename='testing')
        topic = desk_api.topics()[0]

        self.assertEqual(len(topic.translations), 2)
Ejemplo n.º 15
0
    def test_article_translation_containment_checking(self):

        desk_api = models.DeskApi2(sitename='testing')
        article = desk_api.articles()[0]

        self.assertTrue('es' in article.translations)
Ejemplo n.º 16
0
    def test_article_property_access(self):

        article = models.DeskApi2(sitename='testing').articles()[0]

        self.assertEqual(article.subject, "Subject 1")
Ejemplo n.º 17
0
    def test_topic_api_href(self):

        desk_api = models.DeskApi2(sitename='testing')
        topic = desk_api.topics()[0]

        self.assertEqual(topic.api_href, '/api/v2/topics/1')
Ejemplo n.º 18
0
    def test_topics_returns_collection(self):

        desk_api = models.DeskApi2(sitename='testing')
        topics = desk_api.topics()

        self.assertEqual(len(topics), 2)
Ejemplo n.º 19
0
    def test_get_article_by_id(self):

        desk_api = models.DeskApi2(sitename='testing')
        article = desk_api.articles().by_id(42)

        self.assertIsInstance(article, models.DeskObject)
Ejemplo n.º 20
0
    def test_translation_dict_access(self):
        desk_api = models.DeskApi2(sitename='testing')
        topic = desk_api.topics()[0]

        ja = topic.translations['ja']
        self.assertEqual(ja.name, 'Japanese Translation')