def test_create_quote(app): user = factories.UserFactory() topic = factories.TopicFactory() # First try to create a quote as no non-curator user source, quote, arguments = factories.get_quote_form_data( text='Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu.' ) services.create_quote(user, topic, source, quote, arguments) assert services.dump_topic_posts(topic) == '' assert services.dump_topic_posts(topic, queue=True) == '\n'.join([ '( ) (-) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-03-22 ', ' | Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu. (0)', ' | - (y) šiuolaikiška, modernu < (counterargument) ', ]) # Now create a post as a curator user factories.TopicCuratorFactory(user=user, topic=topic) source, quote, arguments = factories.get_quote_form_data( text='Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam.' ) services.create_quote(user, topic, source, quote, arguments) assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (n) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-03-22 ', ' | Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam. (0)', ' | - (y) šiuolaikiška, modernu < (counterargument) ', ])
def test_user_post_vote(app): user = factories.UserFactory() topic = factories.TopicFactory() event = factories.EventFactory() post = factories.PostFactory(topic=topic, content_object=event) # User upvotes a post resp = app.post(reverse('js:user-post-vote', args=[post.pk]), {'vote': 1}, user=user) assert resp.json == {'success': True, 'upvotes': 1, 'downvotes': 0} assert services.dump_topic_posts(topic) == '\n'.join([ ' o (-) Balsavimo internetu koncepcijos patvirtinimas e-seimas.lrs.lt 2016-03-22 (1)', ]) # User downvotes same post resp = app.post(reverse('js:user-post-vote', args=[post.pk]), {'vote': -1}, user=user) assert resp.json == {'success': True, 'upvotes': 0, 'downvotes': 1} assert services.dump_topic_posts(topic) == '\n'.join([ ' o (-) Balsavimo internetu koncepcijos patvirtinimas e-seimas.lrs.lt 2016-03-22 (-1)', ]) # User clears his vote resp = app.post(reverse('js:user-post-vote', args=[post.pk]), {'vote': 0}, user=user) assert resp.json == {'success': True, 'upvotes': 0, 'downvotes': 0} assert services.dump_topic_posts(topic) == '\n'.join([ ' o (-) Balsavimo internetu koncepcijos patvirtinimas e-seimas.lrs.lt 2016-03-22 (0)', ])
def test_create_event(app): user = factories.UserFactory() topic = factories.TopicFactory() factories.TopicCuratorFactory(user=user, topic=topic) resp = app.get(reverse('event-create', args=[topic.pk, topic.slug]), user=user) form = resp.forms['event-form'] form['title'] = 'Balsavimo internetu koncepcijos patvirtinimas' form['source_link'] = 'https://e-seimas.lrs.lt/portal/legalAct/lt/TAD/TAIS.287235?positionInSearchResults=0&searchModelUUID=eaee1625-cf9f-46c0-931c-482a218029e8' form['timestamp'] = '2006-11-16' resp = form.submit() assert resp.status == '302 Found' assert resp.headers['location'] == topic.get_absolute_url() assert services.dump_topic_posts(topic) == '\n'.join([ ' o (-) Balsavimo internetu koncepcijos patvirtinimas e-seimas.lrs.lt 2006-11-16 (0)', ]) # Try to add same event second time resp = app.get(reverse('event-create', args=[topic.pk, topic.slug]), user=user) form = resp.forms['event-form'] form['title'] = 'Balsavimo internetu koncepcijos patvirtinimas' form['source_link'] = 'https://e-seimas.lrs.lt/portal/legalAct/lt/TAD/TAIS.287235?positionInSearchResults=0&searchModelUUID=eaee1625-cf9f-46c0-931c-482a218029e8' form['timestamp'] = '2006-11-16' resp = form.submit() assert resp.status == '200 OK' assert resp.context['form'].errors.as_text() == '\n'.join([ '* source_link', ' * Toks įvykis jau yra įtrauktas į „Balsavimas internetu“ temą.', ]) assert services.dump_topic_posts(topic) == '\n'.join([ ' o (-) Balsavimo internetu koncepcijos patvirtinimas e-seimas.lrs.lt 2006-11-16 (0)', ])
def test_delete_post(App, app): curator = factories.UserFactory(first_name='curator') topic = factories.TopicFactory() factories.TopicCuratorFactory(user=curator, topic=topic) factories.create_topic_posts(topic, curator, [ ('quote', 'Eligijus Masiulis', 'seimo narys', 'delfi.lt', '2015-10-08', [ (0, 0, 'Mes palaikysim tokį įstatymą.', [ (1, 'šiuolaikiška, modernu', None), ]), (1, 0, 'Galimybė prekiauti balsais.', [ (-1, 'balsų pirkimas', None), ]), ]), ]) assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (-) Eligijus Masiulis (seimo narys) delfi.lt 2015-10-08 ', ' | Mes palaikysim tokį įstatymą. (0)', ' | - (y) šiuolaikiška, modernu ', ' | Galimybė prekiauti balsais. (1)', ' | - (n) balsų pirkimas ', ]) post = models.Post.objects.get(topic=topic, quote__text='Galimybė prekiauti balsais.') resp = app.get(reverse('topic-details', args=[topic.pk, topic.slug]), user=curator) resp.click('trinti', href=reverse('post-delete', args=[post.pk])) assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (y) Eligijus Masiulis (seimo narys) delfi.lt 2015-10-08 ', ' | Mes palaikysim tokį įstatymą. (0)', ' | - (y) šiuolaikiška, modernu ', ])
def test_create_quote(app): user = factories.UserFactory() topic = factories.TopicFactory() # First try to create a quote as no non-curator user source, quote, arguments = factories.get_quote_form_data( text='Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu.' ) services.create_quote(user, topic, source, quote, arguments) assert services.dump_topic_posts(topic) == '' assert services.dump_topic_posts(topic, queue=True) == '\n'.join([ '( ) (-) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-03-22 ', ' | Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu. (0)', ' | - (y) šiuolaikiška, modernu < (counterargument) ', ]) # Now create a post as a curator user factories.TopicCuratorFactory(user=user, topic=topic) source, quote, arguments = factories.get_quote_form_data( text='Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam.') services.create_quote(user, topic, source, quote, arguments) assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (n) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-03-22 ', ' | Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam. (0)', ' | - (y) šiuolaikiška, modernu < (counterargument) ', ])
def test_user_post_vote(app): user = factories.UserFactory() topic = factories.TopicFactory() event = factories.EventFactory() post = factories.PostFactory(topic=topic, content_object=event) # User upvotes a post resp = app.post(reverse('js:user-post-vote', args=[post.pk]), params={'vote': 1}, user=user) assert resp.json == {'success': True, 'upvotes': 1, 'downvotes': 0} assert services.dump_topic_posts(topic) == '\n'.join([ ' o (-) Balsavimo internetu koncepcijos patvirtinimas e-seimas.lrs.lt 2016-03-22 (1)', ]) # User downvotes same post resp = app.post(reverse('js:user-post-vote', args=[post.pk]), params={'vote': -1}, user=user) assert resp.json == {'success': True, 'upvotes': 0, 'downvotes': 1} assert services.dump_topic_posts(topic) == '\n'.join([ ' o (-) Balsavimo internetu koncepcijos patvirtinimas e-seimas.lrs.lt 2016-03-22 (-1)', ]) # User clears his vote resp = app.post(reverse('js:user-post-vote', args=[post.pk]), params={'vote': 0}, user=user) assert resp.json == {'success': True, 'upvotes': 0, 'downvotes': 0} assert services.dump_topic_posts(topic) == '\n'.join([ ' o (-) Balsavimo internetu koncepcijos patvirtinimas e-seimas.lrs.lt 2016-03-22 (0)', ])
def test_get_topic_posts(app): user = factories.UserFactory() topic = factories.TopicFactory() factories.TopicCuratorFactory(user=user, topic=topic) factories.create_topic_posts(topic, None, [ ('event', 1, 0, 'Balsavimo internetu koncepcijos patvirtinimas', 'lrs.lt', '2006-11-26'), ('quote', 'Mantas Adomėnas', 'seimo narys', 'kauno.diena.lt', '2016-03-22', [ (1, 0, 'Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu.', [ (1, 'šiuolaikiška, modernu', True), ]), (0, 0, 'Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam.', [ (-1, 'balsų pirkimas', None), ]), ]), ]) assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (n) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-03-22 ', ' | Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu. (1)', ' | - (y) šiuolaikiška, modernu < (counterargument) ', ' | Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam. (0)', ' | - (n) balsų pirkimas ', ' | ', ' o (-) Balsavimo internetu koncepcijos patvirtinimas lrs.lt 2006-11-26 (1)', ])
def test_update_with_same_quote(app): # This snippet allows to run tests without running slow migrations from django.db import connection cursor = connection.cursor() cursor.execute('CREATE EXTENSION IF NOT EXISTS pg_trgm') user = factories.UserFactory() topic = factories.TopicFactory() factories.TopicCuratorFactory(user=user, topic=topic) post, = factories.create_topic_posts(topic, user, [ ('quote', 'Mantas Adomėnas', 'seimo narys', 'kauno.diena.lt', '2016-03-22', [ (1, 0, 'Nepasiduokime paviršutiniškiems šūkiams.', [ # position, argument, counterargument (1, 'šiuolaikiška, modernu', None), ]), ]), ]) resp = app.get(reverse('quote-update', args=[post.pk]), user='******') form = resp.forms['quote-form'] form['timestamp'] = '2016-04-04 16:34' resp = form.submit() assert resp.status == '302 Found' assert resp.headers['location'] == topic.get_absolute_url() assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (y) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-04-04 ', ' | Nepasiduokime paviršutiniškiems šūkiams. (0)', ' | - (y) šiuolaikiška, modernu ', ])
def test_curator_apply(app): user = factories.UserFactory( username='******', email='*****@*****.**', first_name='', last_name='', ) topic = factories.TopicFactory() resp = app.get(reverse('curator-apply', args=[topic.pk, topic.slug]), user=user) form = resp.forms['curator-form'] form['first_name'] = 'Vardenis' form['last_name'] = 'Pavardenis' form['title'] = 'visuomenės veikėjas' form['photo'] = Upload('my.jpg', factories.get_image_bytes()) resp = form.submit() assert resp.status == '302 Found' assert resp.headers['location'] == topic.get_absolute_url() assert models.Curator.objects.get(user=user).title == 'visuomenės veikėjas' assert services.dump_topic_posts(topic) == '' assert services.dump_topic_posts(topic, queue=True) == '\n'.join([ '( ) Vardenis Pavardenis (visuomenės veikėjas) naujas temos kuratorius (0)', ]) # A curator steps in and approves curator application post = models.Post.objects.order_by('pk').last() curator = factories.UserFactory(first_name='kuratorius') factories.TopicCuratorFactory(user=curator, topic=topic) resp = app.post(reverse('js:curator-post-vote', args=[post.pk]), params={'vote': 1}, user=curator) assert resp.json == {'success': True, 'upvotes': 1, 'downvotes': 0} assert services.dump_topic_posts(topic, queue=True) == '' # A new curator user tries to vote for his own curator application resp = app.post(reverse('js:curator-post-vote', args=[post.pk]), params={'vote': 1}, user=user) assert resp.json == {'success': False} assert services.dump_topic_posts(topic, queue=True) == '' # Another curator steps in and dissagrees with approval curator = factories.UserFactory(first_name='kuratorius 2') factories.TopicCuratorFactory(user=curator, topic=topic) resp = app.post(reverse('js:curator-post-vote', args=[post.pk]), params={'vote': -1}, user=curator) assert resp.json == {'success': True, 'upvotes': 1, 'downvotes': 1} assert services.dump_topic_posts(topic, queue=True) == '\n'.join([ '( ) Vardenis Pavardenis (visuomenės veikėjas) naujas temos kuratorius (-1)', ]) # A not curator user tries to vote for his curator application resp = app.post(reverse('js:curator-post-vote', args=[post.pk]), params={'vote': 1}, user=user) assert resp.json == {'success': False} assert services.dump_topic_posts(topic, queue=True) == '\n'.join([ '( ) Vardenis Pavardenis (visuomenės veikėjas) naujas temos kuratorius (-1)', ])
def test_curator_apply(app): user = factories.UserFactory( username='******', email='*****@*****.**', first_name='', last_name='', ) topic = factories.TopicFactory() resp = app.get(reverse('curator-apply', args=[topic.pk, topic.slug]), user=user) form = resp.forms['curator-form'] form['first_name'] = 'Vardenis' form['last_name'] = 'Pavardenis' form['title'] = 'visuomenės veikėjas' form['photo'] = Upload('my.jpg', factories.get_image_bytes()) resp = form.submit() assert resp.status == '302 Found' assert resp.headers['location'] == topic.get_absolute_url() assert models.Curator.objects.get(user=user).title == 'visuomenės veikėjas' assert services.dump_topic_posts(topic) == '' assert services.dump_topic_posts(topic, queue=True) == '\n'.join([ '( ) Vardenis Pavardenis (visuomenės veikėjas) naujas temos kuratorius (0)', ]) # A curator steps in and approves curator application post = models.Post.objects.order_by('pk').last() curator = factories.UserFactory(first_name='kuratorius') factories.TopicCuratorFactory(user=curator, topic=topic) resp = app.post(reverse('js:curator-post-vote', args=[post.pk]), {'vote': 1}, user=curator) assert resp.json == {'success': True, 'upvotes': 1, 'downvotes': 0} assert services.dump_topic_posts(topic, queue=True) == '' # A new curator user tries to vote for his own curator application resp = app.post(reverse('js:curator-post-vote', args=[post.pk]), {'vote': 1}, user=user) assert resp.json == {'success': False} assert services.dump_topic_posts(topic, queue=True) == '' # Another curator steps in and dissagrees with approval curator = factories.UserFactory(first_name='kuratorius 2') factories.TopicCuratorFactory(user=curator, topic=topic) resp = app.post(reverse('js:curator-post-vote', args=[post.pk]), {'vote': -1}, user=curator) assert resp.json == {'success': True, 'upvotes': 1, 'downvotes': 1} assert services.dump_topic_posts(topic, queue=True) == '\n'.join([ '( ) Vardenis Pavardenis (visuomenės veikėjas) naujas temos kuratorius (-1)', ]) # A not curator user tries to vote for his curator application resp = app.post(reverse('js:curator-post-vote', args=[post.pk]), {'vote': 1}, user=user) assert resp.json == {'success': False} assert services.dump_topic_posts(topic, queue=True) == '\n'.join([ '( ) Vardenis Pavardenis (visuomenės veikėjas) naujas temos kuratorius (-1)', ])
def test_update_with_same_quote(app): # This snippet allows to run tests without running slow migrations from django.db import connection cursor = connection.cursor() cursor.execute('CREATE EXTENSION IF NOT EXISTS pg_trgm') user = factories.UserFactory() topic = factories.TopicFactory() factories.TopicCuratorFactory(user=user, topic=topic) post, = factories.create_topic_posts( topic, user, [ ( 'quote', 'Mantas Adomėnas', 'seimo narys', 'kauno.diena.lt', '2016-03-22', [ ( 1, 0, 'Nepasiduokime paviršutiniškiems šūkiams.', [ # position, argument, counterargument (1, 'šiuolaikiška, modernu', None), ]), ]), ]) resp = app.get(reverse('quote-update', args=[post.pk]), user='******') form = resp.forms['quote-form'] form['timestamp'] = '2016-04-04 16:34' resp = form.submit() assert resp.status == '302 Found' assert resp.headers['location'] == topic.get_absolute_url() assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (y) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-04-04 ', ' | Nepasiduokime paviršutiniškiems šūkiams. (0)', ' | - (y) šiuolaikiška, modernu ', ])
def test_create_quote(app): # This snippet allows to run tests without running slow migrations from django.db import connection cursor = connection.cursor() cursor.execute('CREATE EXTENSION IF NOT EXISTS pg_trgm') user = factories.UserFactory() actor = factories.PersonActorFactory() topic = factories.TopicFactory() factories.TopicCuratorFactory(user=user, topic=topic) resp = app.get(reverse('quote-create', args=[topic.pk, topic.slug]), user='******') form = resp.forms['quote-form'] form['actor'].force_value(actor.pk) form['source_link'] = 'http://kauno.diena.lt/naujienos/lietuva/politika/skinasi-kelia-balsavimas-internetu-740017' form['timestamp'] = '2016-03-22 16:34' form['text'] = 'Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu.' form['form-0-title'] = 'šiuolaikiška, modernu' form['form-0-counterargument'] = True resp = form.submit() assert resp.status == '302 Found' assert resp.headers['location'] == topic.get_absolute_url() assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (n) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-03-22 ', ' | Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu. (0)', ' | - (y) šiuolaikiška, modernu < (counterargument) ', ]) resp = app.get(reverse('quote-create', args=[topic.pk, topic.slug]), user='******') form = resp.forms['quote-form'] form['actor'].force_value(actor.pk) form['source_link'] = 'http://kauno.diena.lt/naujienos/lietuva/politika/skinasi-kelia-balsavimas-internetu-740017' form['timestamp'] = '2016-03-22 16:34' form['text'] = 'Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam.' form['form-0-title'] = 'balsų pirkimas' form['form-0-position'] = True resp = form.submit() assert resp.status == '302 Found' assert resp.headers['location'] == topic.get_absolute_url() assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (n) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-03-22 ', ' | Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu. (0)', ' | - (y) šiuolaikiška, modernu < (counterargument) ', ' | Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam. (0)', ' | - (n) balsų pirkimas ', ]) # Try to add similar quote from same author and from same source resp = app.get(reverse('quote-create', args=[topic.pk, topic.slug]), user='******') form = resp.forms['quote-form'] form['actor'].force_value(actor.pk) form['source_link'] = 'http://kauno.diena.lt/naujienos/lietuva/politika/skinasi-kelia-balsavimas-internetu-740017' form['timestamp'] = '2016-03-22 16:34' form['text'] = 'Atidaroma nauja galimybė prekiauti balsais ir likti nebaudžiamam.' form['form-0-title'] = 'balsų pirkimas' form['form-0-position'] = True resp = form.submit() assert resp.status == '200 OK' assert resp.context['quote_form'].errors.as_text() == '\n'.join([ '* text', ' * Toks komentaras jau yra įtrauktas į „Balsavimas internetu“ temą.', ]) assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (n) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-03-22 ', ' | Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu. (0)', ' | - (y) šiuolaikiška, modernu < (counterargument) ', ' | Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam. (0)', ' | - (n) balsų pirkimas ', ]) # Try to update an existing quote quote = models.Quote.objects.get(text='Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu.') post = models.Post.objects.get(topic=topic, quote=quote) resp = app.get(reverse('quote-update', args=[post.pk]), user='******') form = resp.forms['quote-form'] form['timestamp'] = '2016-04-04 16:34' form['text'] = 'Pasiduokime paviršutiniškiems šūkiams.' form['form-0-counterargument'] = False resp = form.submit() assert resp.status == '302 Found' assert resp.headers['location'] == topic.get_absolute_url() assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (-) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-04-04 ', ' | Pasiduokime paviršutiniškiems šūkiams. (0)', ' | - (y) šiuolaikiška, modernu ', ' | Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam. (0)', ' | - (n) balsų pirkimas ', ])
def test_compare_positions(app): user = factories.UserFactory() topic = factories.TopicFactory() factories.TopicCuratorFactory(user=user, topic=topic) # Fill topic with some content factories.create_topic_posts(topic, user, [ ('event', 0, 1, 'Balsavimo internetu koncepcijos patvirtinimas', 'lrs.lt', '2006-11-26'), ('quote', 'Mantas Adomėnas', 'seimo narys', 'kauno.diena.lt', '2016-03-22', [ (1, 0, 'Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu.', [ (1, 'šiuolaikiška, modernu', True), ]), (1, 0, 'Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam.', [ (-1, 'balsų pirkimas', None), ]), ]), ('quote', 'Eligijus Masiulis', 'seimo narys', 'delfi.lt', '2015-10-08', [ (0, 0, 'Mes palaikysim tokį įstatymą, nes turime žengti į priekį ir reaguoti į XXI a. iššūkius.', [ (1, 'šiuolaikiška, modernu', None), ]), ]), ('quote', 'Juozas Bernatonis', 'seimo narys', 'delfi.lt', '2016-03-26', [ (0, 1, 'Žemas užsienio lietuvių aktyvumas susijęs su dalyvavimo rinkimuose sunkumais.', [ (1, 'didės užsienio lietuvių aktyvumas rinkimuose', None), ]), ]), ('quote', 'Mantas Adomėnas', 'seimo narys', '15min.lt', '2006-03-22', [ (0, 0, 'Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu.', [ (1, 'šiuolaikiška, modernu', None), ]), ]), ]) # Check topic was actually filled with correct data assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (y) Juozas Bernatonis (seimo narys) delfi.lt 2016-03-26 ', ' | Žemas užsienio lietuvių aktyvumas susijęs su dalyvavimo rinkimuose sunkumais. (-1)', ' | - (y) didės užsienio lietuvių aktyvumas rinkimuose ', ' | ', '( ) (n) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-03-22 ', ' | Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu. (1)', ' | - (y) šiuolaikiška, modernu < (counterargument) ', ' | Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam. (1)', ' | - (n) balsų pirkimas ', ' | ', '( ) (y) Eligijus Masiulis (seimo narys) delfi.lt 2015-10-08 ', ' | Mes palaikysim tokį įstatymą, nes turime žengti į priekį ir reaguoti į XXI a. iššūkius. (0)', ' | - (y) šiuolaikiška, modernu ', ' | ', ' o (-) Balsavimo internetu koncepcijos patvirtinimas lrs.lt 2006-11-26 (-1)', ' | ', '( ) (y) Mantas Adomėnas (seimo narys) 15min.lt 2006-03-22 ', ' | Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu. (0)', ' | - (y) šiuolaikiška, modernu ', ]) mantas_adomenas = models.Actor.objects.get(first_name='Mantas', last_name='Adomėnas').pk eligijus_masiulis = models.Actor.objects.get(first_name='Eligijus', last_name='Masiulis').pk group = factories.GroupFactory( members=[mantas_adomenas, eligijus_masiulis]) # Check list of actor and user positions for quotes assert list(services.get_user_quote_positions(group, user)) == [ (mantas_adomenas, -1.0, 1), (mantas_adomenas, -1.0, 1), (eligijus_masiulis, 1.0, 0), (mantas_adomenas, 1.0, 0), ] # Check list of actor and user positions for arguments assert list(services.get_user_argument_positions(group, user)) == [ ('balsų pirkimas', mantas_adomenas, -1.0, -1.0), ('šiuolaikiška, modernu', mantas_adomenas, 0, -1.0), ('šiuolaikiška, modernu', eligijus_masiulis, 1.0, -1.0), ] # Check list of actor and user positions for events assert list(services.get_user_event_positions(group, user)) == [] # Finally check if position comparison works assert services.compare_positions(group, user) == [ (mantas_adomenas, 0.125), (eligijus_masiulis, 1.0), ]
def test_compare_positions(app): user = factories.UserFactory() topic = factories.TopicFactory() factories.TopicCuratorFactory(user=user, topic=topic) # Fill topic with some content factories.create_topic_posts(topic, user, [ ('event', 0, 1, 'Balsavimo internetu koncepcijos patvirtinimas', 'lrs.lt', '2006-11-26'), ('quote', 'Mantas Adomėnas', 'seimo narys', 'kauno.diena.lt', '2016-03-22', [ (1, 0, 'Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu.', [ (1, 'šiuolaikiška, modernu', True), ]), (1, 0, 'Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam.', [ (-1, 'balsų pirkimas', None), ]), ]), ('quote', 'Eligijus Masiulis', 'seimo narys', 'delfi.lt', '2015-10-08', [ (0, 0, 'Mes palaikysim tokį įstatymą, nes turime žengti į priekį ir reaguoti į XXI a. iššūkius.', [ (1, 'šiuolaikiška, modernu', None), ]), ]), ('quote', 'Juozas Bernatonis', 'seimo narys', 'delfi.lt', '2016-03-26', [ (0, 1, 'Žemas užsienio lietuvių aktyvumas susijęs su dalyvavimo rinkimuose sunkumais.', [ (1, 'didės užsienio lietuvių aktyvumas rinkimuose', None), ]), ]), ('quote', 'Mantas Adomėnas', 'seimo narys', '15min.lt', '2006-03-22', [ (0, 0, 'Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu.', [ (1, 'šiuolaikiška, modernu', None), ]), ]), ]) # Check topic was actually filled with correct data assert services.dump_topic_posts(topic) == '\n'.join([ '( ) (y) Juozas Bernatonis (seimo narys) delfi.lt 2016-03-26 ', ' | Žemas užsienio lietuvių aktyvumas susijęs su dalyvavimo rinkimuose sunkumais. (-1)', ' | - (y) didės užsienio lietuvių aktyvumas rinkimuose ', ' | ', '( ) (n) Mantas Adomėnas (seimo narys) kauno.diena.lt 2016-03-22 ', ' | Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu. (1)', ' | - (y) šiuolaikiška, modernu < (counterargument) ', ' | Atidaroma galimybė prekiauti balsais ir likti nebaudžiamam. (1)', ' | - (n) balsų pirkimas ', ' | ', '( ) (y) Eligijus Masiulis (seimo narys) delfi.lt 2015-10-08 ', ' | Mes palaikysim tokį įstatymą, nes turime žengti į priekį ir reaguoti į XXI a. iššūkius. (0)', ' | - (y) šiuolaikiška, modernu ', ' | ', ' o (-) Balsavimo internetu koncepcijos patvirtinimas lrs.lt 2006-11-26 (-1)', ' | ', '( ) (y) Mantas Adomėnas (seimo narys) 15min.lt 2006-03-22 ', ' | Nepasiduokime paviršutiniškiems šūkiams – šiuolaikiška, modernu. (0)', ' | - (y) šiuolaikiška, modernu ', ]) mantas_adomenas = models.Actor.objects.get(first_name='Mantas', last_name='Adomėnas').pk eligijus_masiulis = models.Actor.objects.get(first_name='Eligijus', last_name='Masiulis').pk group = factories.GroupFactory(members=[mantas_adomenas, eligijus_masiulis]) # Check list of actor and user positions for quotes assert list(services.get_user_quote_positions(group, user)) == [ (mantas_adomenas, -1.0, 1), (mantas_adomenas, -1.0, 1), (eligijus_masiulis, 1.0, 0), (mantas_adomenas, 1.0, 0), ] # Check list of actor and user positions for arguments assert list(services.get_user_argument_positions(group, user)) == [ ('balsų pirkimas', mantas_adomenas, -1.0, -1.0), ('šiuolaikiška, modernu', mantas_adomenas, 0, -1.0), ('šiuolaikiška, modernu', eligijus_masiulis, 1.0, -1.0), ] # Check list of actor and user positions for events assert list(services.get_user_event_positions(group, user)) == [ ] # Finally check if position comparison works assert services.compare_positions(group, user) == [ (mantas_adomenas, 0.125), (eligijus_masiulis, 1.0), ]