mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-02 17:48:36 -04:00
@@ -21,7 +21,7 @@ from app.dao.fact_billing_dao import (
|
||||
query_organization_sms_usage_for_year,
|
||||
)
|
||||
from app.dao.organization_dao import dao_add_service_to_organization
|
||||
from app.enums import NotificationStatus, NotificationType, TemplateType
|
||||
from app.enums import KeyType, NotificationStatus, NotificationType, TemplateType
|
||||
from app.models import FactBilling
|
||||
from tests.app.db import (
|
||||
create_annual_billing,
|
||||
@@ -94,7 +94,7 @@ def test_fetch_billing_data_for_today_includes_data_with_the_right_key_type(
|
||||
):
|
||||
service = create_service()
|
||||
template = create_template(service=service, template_type=TemplateType.EMAIL)
|
||||
for key_type in ["normal", "test", "team"]:
|
||||
for key_type in [KeyType.NORMAL, KeyType.TEST, KeyType.TEAM]:
|
||||
create_notification(
|
||||
template=template,
|
||||
status=NotificationStatus.DELIVERED,
|
||||
|
||||
@@ -38,8 +38,8 @@ def test_create_invited_user(notify_db_session, sample_service):
|
||||
assert invited_user.from_user == invite_from
|
||||
permissions = invited_user.get_permissions()
|
||||
assert len(permissions) == 2
|
||||
assert "send_messages" in permissions
|
||||
assert "manage_service" in permissions
|
||||
assert PermissionType.SEND_EMAILS in permissions
|
||||
assert PermissionType.MANAGE_SETTINGS in permissions
|
||||
assert invited_user.folder_permissions == []
|
||||
|
||||
|
||||
|
||||
@@ -216,13 +216,13 @@ def test_get_jobs_for_service_in_processed_at_then_created_at_order(
|
||||
def test_update_job(sample_job):
|
||||
assert sample_job.job_status == JobStatus.PENDING
|
||||
|
||||
sample_job.job_status = "in progress"
|
||||
sample_job.job_status = JobStatus.IN_PROGRESS
|
||||
|
||||
dao_update_job(sample_job)
|
||||
|
||||
job_from_db = Job.query.get(sample_job.id)
|
||||
|
||||
assert job_from_db.job_status == "in progress"
|
||||
assert job_from_db.job_status == JobStatus.IN_PROGRESS
|
||||
|
||||
|
||||
def test_set_scheduled_jobs_to_pending_gets_all_jobs_in_scheduled_state_before_now(
|
||||
@@ -231,10 +231,14 @@ def test_set_scheduled_jobs_to_pending_gets_all_jobs_in_scheduled_state_before_n
|
||||
one_minute_ago = datetime.utcnow() - timedelta(minutes=1)
|
||||
one_hour_ago = datetime.utcnow() - timedelta(minutes=60)
|
||||
job_new = create_job(
|
||||
sample_template, scheduled_for=one_minute_ago, job_status="scheduled"
|
||||
sample_template,
|
||||
scheduled_for=one_minute_ago,
|
||||
job_status=JobStatus.SCHEDULED,
|
||||
)
|
||||
job_old = create_job(
|
||||
sample_template, scheduled_for=one_hour_ago, job_status="scheduled"
|
||||
sample_template,
|
||||
scheduled_for=one_hour_ago,
|
||||
job_status=JobStatus.SCHEDULED,
|
||||
)
|
||||
jobs = dao_set_scheduled_jobs_to_pending()
|
||||
assert len(jobs) == 2
|
||||
@@ -247,7 +251,9 @@ def test_set_scheduled_jobs_to_pending_gets_ignores_jobs_not_scheduled(
|
||||
):
|
||||
one_minute_ago = datetime.utcnow() - timedelta(minutes=1)
|
||||
job_scheduled = create_job(
|
||||
sample_template, scheduled_for=one_minute_ago, job_status="scheduled"
|
||||
sample_template,
|
||||
scheduled_for=one_minute_ago,
|
||||
job_status=JobStatus.SCHEDULED,
|
||||
)
|
||||
jobs = dao_set_scheduled_jobs_to_pending()
|
||||
assert len(jobs) == 1
|
||||
@@ -264,8 +270,16 @@ def test_set_scheduled_jobs_to_pending_gets_ignores_jobs_scheduled_in_the_future
|
||||
def test_set_scheduled_jobs_to_pending_updates_rows(sample_template):
|
||||
one_minute_ago = datetime.utcnow() - timedelta(minutes=1)
|
||||
one_hour_ago = datetime.utcnow() - timedelta(minutes=60)
|
||||
create_job(sample_template, scheduled_for=one_minute_ago, job_status="scheduled")
|
||||
create_job(sample_template, scheduled_for=one_hour_ago, job_status="scheduled")
|
||||
create_job(
|
||||
sample_template,
|
||||
scheduled_for=one_minute_ago,
|
||||
job_status=JobStatus.SCHEDULED,
|
||||
)
|
||||
create_job(
|
||||
sample_template,
|
||||
scheduled_for=one_hour_ago,
|
||||
job_status=JobStatus.SCHEDULED,
|
||||
)
|
||||
jobs = dao_set_scheduled_jobs_to_pending()
|
||||
assert len(jobs) == 2
|
||||
assert jobs[0].job_status == JobStatus.PENDING
|
||||
@@ -444,7 +458,15 @@ def test_find_jobs_with_missing_rows_returns_nothing_for_a_job_completed_more_th
|
||||
assert len(results) == 0
|
||||
|
||||
|
||||
@pytest.mark.parametrize("status", [JobStatus.PENDING, JobStatus.IN_PROGRESS, JobStatus.CANCELLED, JobStatus.SCHEDULED,],)
|
||||
@pytest.mark.parametrize(
|
||||
"status",
|
||||
[
|
||||
JobStatus.PENDING,
|
||||
JobStatus.IN_PROGRESS,
|
||||
JobStatus.CANCELLED,
|
||||
JobStatus.SCHEDULED,
|
||||
],
|
||||
)
|
||||
def test_find_jobs_with_missing_rows_doesnt_return_jobs_that_are_not_finished(
|
||||
sample_email_template, status
|
||||
):
|
||||
|
||||
@@ -46,6 +46,7 @@ from app.enums import (
|
||||
NotificationStatus,
|
||||
NotificationType,
|
||||
OrganizationType,
|
||||
PermissionType,
|
||||
ServicePermissionType,
|
||||
TemplateType,
|
||||
)
|
||||
@@ -916,7 +917,7 @@ def test_add_existing_user_to_another_service_doesnot_change_old_permissions(
|
||||
|
||||
# adding the other_user to service_one should leave all other_user permissions on service_two intact
|
||||
permissions = []
|
||||
for p in ["send_emails", "send_texts"]:
|
||||
for p in [PermissionType.SEND_EMAILS, PermissionType.SEND_TEXTS]:
|
||||
permissions.append(Permission(permission=p))
|
||||
|
||||
dao_add_user_to_service(service_one, other_user, permissions=permissions)
|
||||
|
||||
@@ -209,7 +209,12 @@ def test_dao_archive_user(sample_user, sample_organization, fake_uuid):
|
||||
service_1_user = create_user(email="1@test.com")
|
||||
service_1.users = [sample_user, service_1_user]
|
||||
create_permissions(sample_user, service_1, PermissionType.MANAGE_SETTINGS)
|
||||
create_permissions(service_1_user, service_1, PermissionType.MANAGE_SETTINGS, PermissionType.VIEW_ACTIVITY,)
|
||||
create_permissions(
|
||||
service_1_user,
|
||||
service_1,
|
||||
PermissionType.MANAGE_SETTINGS,
|
||||
PermissionType.VIEW_ACTIVITY,
|
||||
)
|
||||
|
||||
service_2 = create_service(service_name="Service 2")
|
||||
service_2_user = create_user(email="2@test.com")
|
||||
@@ -266,9 +271,18 @@ def test_user_can_be_archived_if_the_other_service_members_have_the_manage_setti
|
||||
sample_service.users = [user_1, user_2, user_3]
|
||||
|
||||
create_permissions(user_1, sample_service, PermissionType.MANAGE_SETTINGS)
|
||||
create_permissions(user_2, sample_service, PermissionType.MANAGE_SETTINGS, PermissionType.VIEW_ACTIVITY,)
|
||||
create_permissions(
|
||||
user_3, sample_service, PermissionType.MANAGE_SETTINGS, PermissionType.SEND_EMAILS, PermissionType.SEND_TEXTS,
|
||||
user_2,
|
||||
sample_service,
|
||||
PermissionType.MANAGE_SETTINGS,
|
||||
PermissionType.VIEW_ACTIVITY,
|
||||
)
|
||||
create_permissions(
|
||||
user_3,
|
||||
sample_service,
|
||||
PermissionType.MANAGE_SETTINGS,
|
||||
PermissionType.SEND_EMAILS,
|
||||
PermissionType.SEND_TEXTS,
|
||||
)
|
||||
|
||||
assert len(sample_service.users) == 3
|
||||
@@ -306,7 +320,12 @@ def test_user_cannot_be_archived_if_the_other_service_members_do_not_have_the_ma
|
||||
|
||||
create_permissions(active_user, sample_service, PermissionType.MANAGE_SETTINGS)
|
||||
create_permissions(pending_user, sample_service, PermissionType.VIEW_ACTIVITY)
|
||||
create_permissions(inactive_user, sample_service, PermissionType.SEND_EMAILS, PermissionType.SEND_TEXTS,)
|
||||
create_permissions(
|
||||
inactive_user,
|
||||
sample_service,
|
||||
PermissionType.SEND_EMAILS,
|
||||
PermissionType.SEND_TEXTS,
|
||||
)
|
||||
|
||||
assert len(sample_service.users) == 3
|
||||
assert not user_can_be_archived(active_user)
|
||||
|
||||
Reference in New Issue
Block a user