def test_add_message_for_chatroom(self):

        cr = chatter_classes.Chatroom(2, db)
        message_count = cr.get_message_count()
        cr.add_message("Added by test_add_message_for_chatroom()",
                       cr.get_all_owners()[0].userid)
        self.assertEqual(message_count + 1,
                         chatter_classes.Chatroom(2, db).get_message_count())
    def test_user_send_message(self):

        cr = chatter_classes.Chatroom(1, db)
        message_count = cr.get_message_count()

        u = chatter_classes.User(1, db)
        u.send_message("Sent by test_user_send_message()", cr.chatroomid)

        self.assertEqual(message_count + 1,
                         chatter_classes.Chatroom(1, db).get_message_count())
    def test_check_user_is_member(self):

        cr = chatter_classes.Chatroom(2, db)
        u1 = chatter_classes.User(3, db)
        u2 = chatter_classes.User(4, db)
        self.assertTrue(cr.user_is_member(u1))
        self.assertTrue(cr.user_is_member(u2))
    def test_get_all_members(self):

        cr = chatter_classes.Chatroom(1, db)
        members = cr.get_all_members()
        self.assertEqual(2, len(members))
        self.assertEqual(2, members[0].userid)
        self.assertEqual(3, members[1].userid)
 def test_contructor_existing_message(self):
     m = chatter_classes.Message(1, db)
     self.assertEqual(
         m.content,
         "This is the first message in TestRoom1, sent by TestUser1. It has two attachments (a picture of Donald Trump and another of Gary Barlow)."
     )
     self.assertEqual(m.chatroom.name, chatter_classes.Chatroom(1, db).name)
     self.assertEqual(m.sender.username,
                      chatter_classes.User(1, db).username)
     self.assertEqual(m.timestamp.year, 2021)
    def test_add_new_message(self):

        text = "This is a test message generated in the unit test test_add_new_message()"

        message = chatter_classes.Message.add(text, 1, 1, db)

        self.assertIsInstance(message, chatter_classes.Message)
        self.assertEqual(message.content, text)
        self.assertEqual(message.sender.username,
                         chatter_classes.User(1, db).username)
        self.assertEqual(message.chatroom.name,
                         chatter_classes.Chatroom(1, db).name)
    def test_get_all_messages_since(self):
        cr = chatter_classes.Chatroom(1, db)
        start_time = datetime.datetime.now()

        message_content = "Added by test_get_all_message_since()"

        print("Waiting two seconds before adding checking for recent messages")
        time.sleep(2)

        chatter_classes.Message.add(message_content, cr.chatroomid,
                                    cr.get_all_owners()[0].userid, db)

        messages = cr.get_messages(start_time)

        self.assertEqual(1, len(messages))
        self.assertEqual(message_content, messages[0].content)
    def test_get_message_count_since(self):

        cr = chatter_classes.Chatroom(1, db)
        now = datetime.datetime.now()

        message_content = "Added by test_get_message_count_since()"

        print(
            "Waiting two seconds before adding and checking for recent messages"
        )

        time.sleep(2)

        chatter_classes.Message.add(message_content, cr.chatroomid,
                                    cr.get_all_owners()[0].userid, db)

        message_count = cr.get_message_count(now)

        self.assertEqual(1, message_count)
    def test_update_chatroom(self):

        # Create a chatroom for testing
        cr = chatter_classes.Chatroom.add(
            "UnitTestChatroomForUpdate",
            "Created by TestChatroom.test_update_chatroom", db)
        cr_id = cr.chatroomid
        cr.update_join_code()
        cr.update(name="UnitTestChatroomForUpdateB",
                  description="Created by TestChatroom.test_update_chatroomB")

        # Instantiate a second instance of the same chatroom and check that its properties match those of the updated
        # one
        crB = chatter_classes.Chatroom(cr_id, db)
        self.assertEqual(cr.name, crB.name)
        self.assertEqual(cr.description, crB.description)
        self.assertEqual(cr.joincode, crB.joincode)

        # Delete chatrooms now that we have finished with them
        cr.delete()
        crB.delete()
 def test_chatroom_json_with_messages(self):
     c = chatter_classes.Chatroom(1, db)
     js = c.json_with_messages
     print(js)
     self.assertNotEqual(0, len(js))
 def test_chatroom_json(self):
     c = chatter_classes.Chatroom(1, db)
     js = c.json
     print(js)
     self.assertNotEqual(0, len(js))
 def test_get_message_count(self):
     cr = chatter_classes.Chatroom(3, db)
     self.assertEqual(9, cr.get_message_count())
 def test_get_all_messages(self):
     cr = chatter_classes.Chatroom(3, db)
     messages = cr.get_messages()
     self.assertEqual(9, len(messages))
    def test_check_user_is_owner(self):

        cr = chatter_classes.Chatroom(2, db)
        u = chatter_classes.User(2, db)

        self.assertTrue(cr.user_is_owner(u))
    def test_get_all_owners(self):

        cr = chatter_classes.Chatroom(1, db)
        owners = cr.get_all_owners()
        self.assertEqual(1, len(owners))
        self.assertEqual(1, owners[0].userid)
 def test_constructor_existing_chatroom(self):
     cr = chatter_classes.Chatroom(1, db)
     self.assertEqual(cr.name, "TestRoom1")