Black jack test doesnt make sense

As mentioned before, an ace can be worth either 1 or 11 points. Players try to get as close as possible to a score of 21, without going over 21 (going “bust”).

Define the value_of_ace(<card_one>, <card_two>) function with parameters card_one and card_two, which are a pair of cards already in the hand before getting an ace card. Your function will have to decide if the upcoming ace will get a value of 1 or a value of 11, and return that value. Remember: the value of the hand with the ace needs to be as high as possible without going over 21.

Hint: if we already have an ace in hand then its value would be 11.

>>> value_of_ace('6', 'K')
1

>>> value_of_ace('7', '3')
11
def value_of_ace(card_one, card_two):   
   if 'A' in (card_one, card_two):
          if value_of_card(card_one) == 10:
              return 1
          elif value_of_card(card_two) == 10:
              return 1
          elif value_of_card(card_one) == 2:
              return 1
          elif value_of_card(card_two) == 2:
              return 1
          else:
              return 11
      else:
  
          total_value = value_of_card(card_one) + value_of_card(card_two)
          if total_value <= 10:
              return 11
          else:
              return 1

before adding the check for 2, i was having the 11th test case not working:

AssertionError: 11 != 1 : Called value_of_ace(2, A). The function returned 11, but the test expected 1 as the value of an ace card when the hand includes (‘2’, ‘A’).

I’m not familiar with the game but from what I understood 2+11 =13 which is closer to 21 compared to 2+1 = 3

The ace in your hand is worth 11. The upcoming, second ace is worth 1.

The hint was sort of wrong because I think there was an exception in the tests where you still need to considered hitting a card after getting blackjack. From memory anyway that one was funny.