from graphql_relay import to_global_id from core.tests.base_test import SkillboxTestCase from rooms.factories import RoomEntryFactory class CommentTestCase(SkillboxTestCase): def setUp(self) -> None: self.createDefault() def test_add_comment(self): room_entry = RoomEntryFactory() text = 'First!!!' mutation = """ mutation AddComment($input: AddCommentInput!) { addComment(input: $input) { success } } """ self.assertEqual(room_entry.comments.count(), 0) room_entry_id = to_global_id('RoomEntryNode', room_entry.id) result = self.get_client().execute(mutation, variables={ 'input': { 'roomEntry': room_entry_id, 'comment': text } }) self.assertIsNone(result.get('errors')) self.assertEqual(room_entry.comments.count(), 1) comment = room_entry.comments.first() self.assertEqual(comment.text, text) self.assertEqual(comment.owner.id, self.teacher.id)