コード例 #1
0
ファイル: test_core.py プロジェクト: YoungHaYoo12/drawify
    def test_friends(self):
        u1 = User(username='******', email='*****@*****.**', password='******')
        u2 = User(username='******', email='*****@*****.**', password='******')
        u3 = User(username='******', email='*****@*****.**', password='******')
        db.session.add_all([u1, u2, u3])
        db.session.commit()
        u2.send_friend_request_to(u1)
        u1.accept_friend_request_from(u2)
        db.session.commit()

        with self.client:
            self.client.post(url_for('auth.login'),
                             data={
                                 'email': '*****@*****.**',
                                 'password': '******'
                             })
            # invalid user
            response = self.client.get(url_for('core.friends',
                                               username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue('Invalid user' in data)

            # successful display
            response = self.client.get(url_for('core.friends', username='******'))
            data = response.get_data(as_text=True)
            self.assertTrue('two' in data)
            self.assertFalse('three' in data)
コード例 #2
0
ファイル: test_games.py プロジェクト: YoungHaYoo12/drawify
    def test_send_invite(self):
        u1 = User(username='******', email='*****@*****.**', password='******')
        u2 = User(username='******', email='*****@*****.**', password='******')
        u3 = User(username='******', email='*****@*****.**', password='******')
        db.session.add_all([u1, u2, u3])
        db.session.commit()
        u1.send_friend_request_to(u2)
        u2.accept_friend_request_from(u1)
        db.session.commit()

        with self.client:
            self.client.post(url_for('auth.login'),
                             data={
                                 'email': '*****@*****.**',
                                 'password': '******'
                             })
            # invalid user
            response = self.client.get(
                url_for('games.send_invite', opponent_username='******'))
            self.assertEqual(response.status_code, 404)

            # user who is not a friend
            response = self.client.get(url_for('games.send_invite',
                                               opponent_username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue(
                'You cannot challenge users who are not your friends.' in data)
            self.assertEqual(Game.query.count(), 0)

            # successful post
            response = self.client.post(url_for('games.send_invite',
                                                opponent_username='******'),
                                        data={
                                            'author': current_user,
                                            'guest': u2,
                                            'max_points': 10
                                        },
                                        follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue('Game Invitation Sent' in data)
            game = Game.query.get(1)
            self.assertEqual(game.author, u1)
            self.assertEqual(game.guest, u2)
            self.assertEqual(game.max_points, 10)
コード例 #3
0
ファイル: test_core.py プロジェクト: YoungHaYoo12/drawify
    def test_remove_friend(self):
        u1 = User(username='******', email='*****@*****.**', password='******')
        u2 = User(username='******', email='*****@*****.**', password='******')
        u3 = User(username='******', email='*****@*****.**', password='******')
        db.session.add_all([u1, u2, u3])
        db.session.commit()
        u3.send_friend_request_to(u1)
        u1.accept_friend_request_from(u3)
        db.session.commit()

        with self.client:
            self.client.post(url_for('auth.login'),
                             data={
                                 'email': '*****@*****.**',
                                 'password': '******'
                             })

            # Invalid User
            response = self.client.get(url_for('core.remove_friend',
                                               username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue('Invalid User' in data)

            # When user is not a friend
            self.assertFalse(u1.is_friends_with(u2))
            response = self.client.get(url_for('core.remove_friend',
                                               username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue(
                'You Are Currently Not Friends with this User' in data)
            self.assertFalse(u1.is_friends_with(u2))

            # success
            self.assertTrue(u1.is_friends_with(u3))
            response = self.client.get(url_for('core.remove_friend',
                                               username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertFalse(u1.is_friends_with(u3))
コード例 #4
0
ファイル: test_core.py プロジェクト: YoungHaYoo12/drawify
    def test_send_friend_request(self):
        u1 = User(username='******', email='*****@*****.**', password='******')
        u2 = User(username='******', email='*****@*****.**', password='******')
        u3 = User(username='******', email='*****@*****.**', password='******')
        u4 = User(username='******', email='*****@*****.**', password='******')
        u5 = User(username='******', email='*****@*****.**', password='******')
        db.session.add_all([u1, u2, u3, u4, u5])
        db.session.commit()

        u1.send_friend_request_to(u2)
        u2.accept_friend_request_from(u1)
        u1.send_friend_request_to(u3)
        u4.send_friend_request_to(u1)

        db.session.commit()

        with self.client:
            self.client.post(url_for('auth.login'),
                             data={
                                 'email': '*****@*****.**',
                                 'password': '******'
                             })

            # invalid user
            response = self.client.get(url_for('core.send_friend_request',
                                               username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue('Invalid User' in data)

            # friending oneself
            response = self.client.get(url_for('core.send_friend_request',
                                               username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue('You cannot friend yourself' in data)
            self.assertFalse(u1.sent_friend_request_to(u1))

            # if already friends
            response = self.client.get(url_for('core.send_friend_request',
                                               username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue('You Are Already Friends With This User' in data)
            self.assertFalse(u1.sent_friend_request_to(u2))

            # if friend request already sent to this user
            response = self.client.get(url_for('core.send_friend_request',
                                               username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue(
                'You Have Already Sent a Friend Request to This User' in data)
            self.assertTrue(u1.sent_friend_request_to(u3))

            # if friend request already received from user
            response = self.client.get(url_for('core.send_friend_request',
                                               username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue(
                'You Have Already Received A Friend Request From This User' in
                data)
            self.assertFalse(u1.sent_friend_request_to(u4))

            # successful friend request
            response = self.client.get(url_for('core.send_friend_request',
                                               username='******'),
                                       follow_redirects=True)
            data = response.get_data(as_text=True)
            self.assertTrue('Successfully Sent Friend Request to User' in data)
            self.assertTrue(u1.sent_friend_request_to(u5))
コード例 #5
0
ファイル: test_core.py プロジェクト: YoungHaYoo12/drawify
    def test_user(self):
        u1 = User(username='******', email='*****@*****.**', password='******')
        u2 = User(username='******', email='*****@*****.**', password='******')
        u3 = User(username='******', email='*****@*****.**', password='******')
        u4 = User(username='******', email='*****@*****.**', password='******')
        display_drawing = Drawing(filename='display_drawing')
        nondisplay_drawing = Drawing(filename='nondisplay_drawing')
        display_drawing.display = True
        nondisplay_drawing.display = False
        display_drawing.user = u1
        nondisplay_drawing.user = u1
        db.session.add_all(
            [u1, u2, u3, u4, display_drawing, nondisplay_drawing])
        db.session.commit()
        u1.send_friend_request_to(u2)
        u3.send_friend_request_to(u1)
        u2.accept_friend_request_from(u1)
        db.session.commit()

        with self.client:
            self.client.post(url_for('auth.login'),
                             data={
                                 'email': '*****@*****.**',
                                 'password': '******'
                             })

            # check buttons when on own page
            response = self.client.get(url_for('core.user', username='******'))
            self.assertEqual(response.status_code, 200)
            data = response.get_data(as_text=True)
            self.assertTrue("1" in data)
            self.assertFalse("Friends With You" in data)
            self.assertFalse("Respond to Friend Request" in data)
            self.assertFalse("Remove Friend" in data)

            # check buttons on friends page
            response = self.client.get(url_for('core.user', username='******'))
            self.assertEqual(response.status_code, 200)
            data = response.get_data(as_text=True)
            self.assertTrue("1" in data)
            self.assertTrue("Friends With You" in data)
            self.assertFalse("Respond to Friend Request" in data)
            self.assertTrue("Remove Friend" in data)

            # check buttons on page of user who has sent you a friend request
            response = self.client.get(url_for('core.user', username='******'))
            self.assertEqual(response.status_code, 200)
            data = response.get_data(as_text=True)
            self.assertTrue("0" in data)
            self.assertFalse("Friends With You" in data)
            self.assertTrue("Respond to Friend Request" in data)
            self.assertFalse("Remove Friend" in data)

            # check buttons on non-friend and not friend-requested page
            response = self.client.get(url_for('core.user', username='******'))
            self.assertEqual(response.status_code, 200)
            data = response.get_data(as_text=True)
            self.assertTrue("0" in data)
            self.assertFalse("Friends With You" in data)
            self.assertFalse("Respond to Friend Request" in data)
            self.assertFalse("Remove Friend" in data)