Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tests added for dashboard messages #92

Merged
merged 3 commits into from
Nov 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,5 @@ urllib3==1.26.5
wcwidth==0.2.5
wrapt==1.12.1
yarl==1.6.3
Babel==2.9.1
Babel==2.9.1
pytest-cov==4.0.0
95 changes: 95 additions & 0 deletions tests/messages/test_dashboard_messages.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
from fyle_slack_app.slack.ui import authorization, dashboard
import os

FYLE_STOPLIGHT_URL = os.environ['FYLE_STOPLIGHT_URL']
MOCK_FYLE_OAUTH_URL = FYLE_STOPLIGHT_URL
MOCK_USERNAME = 'fake_username'

class TestAuthorizationMessages:

def test_pre_authorization_message(self):
pre_authorization_message = authorization.messages.get_pre_authorization_message(MOCK_USERNAME, FYLE_STOPLIGHT_URL)
assert pre_authorization_message[0]['text']['text'] == 'Hey there *{}* :wave:'.format(MOCK_USERNAME)

def test_post_authorization_message(self):
post_authorization_message = authorization.messages.get_post_authorization_message()
assert post_authorization_message[0]['text']['text'] == 'Yaay :tada: you\'ve successfully linked *Fyle* to Slack :confetti_ball: \n\n'

class TestDashboardMessages:

def test_get_pre_authorization_message(self):
pre_authorization_message = dashboard.messages.get_pre_authorization_message(MOCK_USERNAME, MOCK_FYLE_OAUTH_URL)
block = pre_authorization_message['blocks']
assert block[0]['text']['text'] == 'Hey there *{}* :wave:'.format(MOCK_USERNAME)

def test_get_post_authorization_message(self):
post_authorization_message = dashboard.messages.get_post_authorization_message()
block = post_authorization_message['blocks']
assert block[0]['text']['text'] == 'Yaay :tada: you\'ve successfully linked *Fyle* to Slack :confetti_ball: \n\n'

def test_get_sent_back_reports_dashboard_view(self):
mock_reports = {
'total_amount': 100,
'count': 1,
'url': MOCK_FYLE_OAUTH_URL
}
sent_back_reports_view = dashboard.messages.get_sent_back_reports_dashboard_view(mock_reports, 'INR')
assert sent_back_reports_view[2]['elements'][0]['url'] == MOCK_FYLE_OAUTH_URL

def test_get_incomplete_expenses_dashboard_view(self):
mock_expenses = {
'total_amount': 100,
'count': 1,
'url': MOCK_FYLE_OAUTH_URL
}
incomplete_expenses_view = dashboard.messages.get_incomplete_expenses_dashboard_view(mock_expenses, 'INR')
assert incomplete_expenses_view[2]['elements'][0]['url'] == MOCK_FYLE_OAUTH_URL

def test_get_unreported_expenses_dashboard_view(self):
mock_expenses = {
'total_amount': 100,
'count': 1,
'url': MOCK_FYLE_OAUTH_URL
}
unreported_expenses_view = dashboard.messages.get_unreported_expenses_dashboard_view(mock_expenses, 'INR')
assert unreported_expenses_view[2]['elements'][0]['url'] == MOCK_FYLE_OAUTH_URL

def test_get_draft_reports_dashboard_view(self):
mock_expenses = {
'total_amount': 100,
'count': 1,
'url': MOCK_FYLE_OAUTH_URL
}
draft_reports_view = dashboard.messages.get_draft_reports_dashboard_view(mock_expenses, 'INR')
assert draft_reports_view[2]['elements'][0]['url'] == MOCK_FYLE_OAUTH_URL

def test_get_dashboard_view(self):
mock_sent_back_reports = {
'total_amount': 100,
'count': 1,
'url': MOCK_FYLE_OAUTH_URL
}
mock_incomplete_expenses = {
'total_amount': 100,
'count': 1,
'url': MOCK_FYLE_OAUTH_URL
}
mock_unreported_expenses = {
'total_amount': 100,
'count': 1,
'url': MOCK_FYLE_OAUTH_URL
}
mock_draft_reports = {
'total_amount': 100,
'count': 1,
'url': MOCK_FYLE_OAUTH_URL
}
mock_home_currency = 'INR'
dashboard_view = dashboard.messages.get_dashboard_view(
mock_sent_back_reports,
mock_incomplete_expenses,
mock_unreported_expenses,
mock_draft_reports,
mock_home_currency
)
assert dashboard_view['blocks'][0]['text']['text'] == "👋 *Hey there I'm Fyle Bot. Welcome to Fyle Dashboard!*"