Python backend for a Slack's kudos plugin.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: Avoid sending action to yourself

seik 1ebaef4b 82eb0666

+26 -1
+3
kefi/routers/helpers.py
··· 3 3 4 4 from sqlmodel import Session 5 5 6 + from kefi import slack 6 7 from kefi.constants import Command 7 8 from kefi.dependencies import SlashCommandParams 8 9 from kefi.models.helpers import ( ··· 80 81 ) 81 82 if not receiver: 82 83 return SimpleResponse("No se ha encontrado al usuario receptor") 84 + if self.user.slack_user_id == receiver.slack_user_id: 85 + return SimpleResponse("No puedes realizar esta acción sobre ti mismo") 83 86 send_action( 84 87 sender=self.user, 85 88 action=action,
+23 -1
kefi/tests/test_commands.py
··· 69 69 assert data["blocks"][0]["text"]["text"] == "Comando no encontrado" 70 70 71 71 72 - def test_kudos_command_not_balance(client: TestClient): 72 + def test_action_user_sender_and_receiver(session: Session, client: TestClient): 73 + sender = User(slack_username="user_1", slack_user_id="U1") 74 + receiver = sender 75 + session.add(sender) 76 + reset_wallets(session=session) 77 + response = client.post( 78 + "/command/", 79 + data=generate_command( 80 + user_name=sender.slack_username, 81 + user_id=sender.slack_user_id, 82 + text=f"{Command.KUDOS} <@{receiver.slack_user_id}> ¡Gracias!", 83 + ), 84 + ) 85 + assert response.status_code == 200 86 + data = response.json() 87 + assert "blocks" in data 88 + assert ( 89 + data["blocks"][0]["text"]["text"] 90 + == "No puedes realizar esta acción sobre ti mismo" 91 + ) 92 + 93 + 94 + def test_kudos_command_not_balance(session: Session, client: TestClient): 73 95 sender = User(slack_username="user_1", slack_user_id="U1") 74 96 receiver = User(slack_username="user_2", slack_user_id="U2") 75 97 response = client.post(