コード例 #1
0
    def test_get_fighter_by_id(self):
        """ Get single fighter by their id """
        fighterA = Fighter(
            first_name='Jon',
            last_name='Jones',
            gender='male',
            promotion='UFC',
            weight='Light Heavyweight',
            win=20,
            loss=1,
        )
        fighterB = Fighter(
            first_name='Conor',
            last_name='McGregor',
            gender='male',
            promotion='UFC',
            weight='Lightweight',
            win=22,
            loss=3,
        )
        session.add_all([fighterA, fighterB])
        session.commit()

        response = self.client.get("/api/fighter/{}/".format(fighterB.id),
                                   headers=[("Accept", "application/json")])

        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.mimetype, "application/json")
        fighter = json.loads(response.data.decode("ascii"))
        self.assertEqual(len(fighter), 16)
        self.assertEqual(fighter['id'], 2)
        self.assertEqual(fighter['first_name'], 'Conor')
        self.assertEqual(fighter['last_name'], 'McGregor')
コード例 #2
0
    def test_get_fighter_by_name(self):
        """ Get single fighter by their name """
        fighterA = Fighter(
            first_name='Jon',
            last_name='Jones',
            gender='male',
            promotion='UFC',
            weight='Light Heavyweight',
            win=20,
            loss=1,
        )
        fighterB = Fighter(
            first_name='Amanda',
            last_name='Nunes',
            gender='female',
            promotion='UFC',
            weight='Bantamweight',
            win=14,
            loss=4,
        )
        session.add_all([fighterA, fighterB])
        session.commit()

        response = self.client.get("/api/fighter/name/{}/{}/".format(
            fighterB.last_name, fighterB.first_name),
                                   headers=[("Accept", "application/json")])

        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.mimetype, "application/json")
        fighter = json.loads(response.data.decode("ascii"))
        self.assertEqual(len(fighter), 1)

        fighter = fighter[0]
        self.assertEqual(fighter['first_name'], 'Amanda')
        self.assertEqual(fighter['last_name'], 'Nunes')
コード例 #3
0
    def setUp(self):
        """ Test setup """
        self.client = app.test_client()

        # Set up the tables in the database
        Base.metadata.create_all(engine)

        # Create an example user
        self.user = User(email="*****@*****.**",
                         password=generate_password_hash("test"))
        session.add(self.user)
        session.commit()
コード例 #4
0
    def test_get_fighters_by_gender_promotion_weight(self):
        """
        Get all fighters with a specific gender, promotion and weight class
        """
        fighterA = Fighter(
            first_name='Jon',
            last_name='Jones',
            gender='male',
            promotion='UFC',
            weight='Light Heavyweight',
            win=20,
            loss=1,
        )
        fighterB = Fighter(
            first_name='Michael',
            last_name='Chandler',
            gender='male',
            promotion='Bellator',
            weight='Lightweight',
            win=22,
            loss=3,
        )
        fighterC = Fighter(
            first_name='Amanda',
            last_name='Nunes',
            gender='female',
            promotion='UFC',
            weight='Bantamweight',
            win=14,
            loss=4,
        )
        session.add_all([fighterA, fighterB, fighterC])
        session.commit()

        response = self.client.get("/api/fighters/{}/{}/{}/".format(
            fighterB.gender, fighterB.promotion, fighterB.weight),
                                   headers=[("Accept", "application/json")])

        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.mimetype, "application/json")

        fighters = json.loads(response.data.decode("ascii"))
        self.assertEqual(len(fighters), 1)

        fighterA = fighters[0]
        self.assertEqual(fighterA['gender'], 'male')
        self.assertEqual(fighterA['promotion'], 'Bellator')
        self.assertEqual(fighterA['weight'], 'Lightweight')
コード例 #5
0
    def test_get_fighters(self):
        """ Get all fighters from populated database """
        fighterA = Fighter(
            first_name='Jon',
            last_name='Jones',
            gender='male',
            promotion='UFC',
            weight='Light Heavyweight',
            win=20,
            loss=1,
        )
        fighterB = Fighter(
            first_name='Conor',
            last_name='McGregor',
            gender='male',
            promotion='UFC',
            weight='Lightweight',
            win=22,
            loss=3,
        )
        fighterC = Fighter(
            first_name='Amanda',
            last_name='Nunes',
            gender='female',
            promotion='UFC',
            weight='Bantamweight',
            win=14,
            loss=4,
        )
        session.add_all([fighterA, fighterB, fighterC])
        session.commit()

        response = self.client.get("/api/fighters",
                                   headers=[("Accept", "application/json")])

        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.mimetype, "application/json")

        fighter = json.loads(response.data.decode("ascii"))
        self.assertEqual(len(fighter), 3)