import com.google.gson.Gson;
import com.instructure.canvasapi.model.NotificationPreference;
import com.instructure.canvasapi.utilities.CanvasRestAdapter;
import junit.framework.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
@Config(sdk = 17)
@RunWith(RobolectricGradleTestRunner.class)
public class NotificationPreferenceUnitTest extends Assert {
@Test
public void testNotificationPreference() {
Gson gson = CanvasRestAdapter.getGSONParser();
NotificationPreference[] notificationPreferences = gson.fromJson(notificationPreferenceJSON, NotificationPreference[].class);
assertNotNull(notificationPreferences);
for(NotificationPreference preference : notificationPreferences) {
assertNotNull(preference);
assertNotNull(preference.notification);
assertNotNull(preference.category);
assertNotNull(preference.frequency);
}
}
String notificationPreferenceJSON = "[\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_announcement\",\n" +
"\"category\": \"announcement\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"assignment_due_date_changed\",\n" +
"\"category\": \"due_date\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"assignment_changed\",\n" +
"\"category\": \"course_content\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"assignment_created\",\n" +
"\"category\": \"due_date\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"grade_weight_changed\",\n" +
"\"category\": \"grading_policies\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"assignment_graded\",\n" +
"\"category\": \"grading\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_event_created\",\n" +
"\"category\": \"calendar\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"event_date_changed\",\n" +
"\"category\": \"calendar\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"collaboration_invitation\",\n" +
"\"category\": \"invitation\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"web_conference_invitation\",\n" +
"\"category\": \"invitation\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"confirm_email_communication_channel\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"confirm_sms_communication_channel\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"confirm_registration\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"forgot_password\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_discussion_topic\",\n" +
"\"category\": \"discussion\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"enrollment_invitation\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"enrollment_notification\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"assignment_submitted_late\",\n" +
"\"category\": \"late_grading\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"group_assignment_submitted_late\",\n" +
"\"category\": \"late_grading\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"submission_graded\",\n" +
"\"category\": \"grading\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"submission_comment\",\n" +
"\"category\": \"submission_comment\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"submission_grade_changed\",\n" +
"\"category\": \"grading\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_wiki_page\",\n" +
"\"category\": \"course_content\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"updated_wiki_page\",\n" +
"\"category\": \"course_content\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"daily\",\n" +
"\"notification\": \"summaries\",\n" +
"\"category\": \"summaries\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"enrollment_registration\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"rubric_assessment_submission_reminder\",\n" +
"\"category\": \"invitation\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"rubric_assessment_invitation\",\n" +
"\"category\": \"invitation\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"rubric_association_created\",\n" +
"\"category\": \"invitation\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_account_user\",\n" +
"\"category\": \"other\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"daily\",\n" +
"\"notification\": \"assignment_publishing_reminder\",\n" +
"\"category\": \"reminder\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"daily\",\n" +
"\"notification\": \"assignment_grading_reminder\",\n" +
"\"category\": \"reminder\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"daily\",\n" +
"\"notification\": \"assignment_due_date_reminder\",\n" +
"\"category\": \"reminder\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"teacher_context_message\",\n" +
"\"category\": \"other\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_context_group_membership\",\n" +
"\"category\": \"membership_update\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"submission_comment_for_teacher\",\n" +
"\"category\": \"submission_comment\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"enrollment_accepted\",\n" +
"\"category\": \"membership_update\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_context_group_membership_invitation\",\n" +
"\"category\": \"invitation\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"group_membership_accepted\",\n" +
"\"category\": \"membership_update\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"group_membership_rejected\",\n" +
"\"category\": \"membership_update\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_student_organized_group\",\n" +
"\"category\": \"other\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_course\",\n" +
"\"category\": \"other\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_user\",\n" +
"\"category\": \"other\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_teacher_registration\",\n" +
"\"category\": \"other\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_discussion_entry\",\n" +
"\"category\": \"discussion_entry\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"migration_export_ready\",\n" +
"\"category\": \"migration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"migration_import_finished\",\n" +
"\"category\": \"migration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"merge_email_communication_channel\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"migration_import_failed\",\n" +
"\"category\": \"migration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"assignment_submitted\",\n" +
"\"category\": \"all_submissions\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"assignment_resubmitted\",\n" +
"\"category\": \"all_submissions\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_teacher_registration_immediate\",\n" +
"\"category\": \"other\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"report_generated\",\n" +
"\"category\": \"other\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"report_generation_failed\",\n" +
"\"category\": \"other\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"account_user_registration\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"account_user_notification\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"pseudonym_registration\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"content_export_finished\",\n" +
"\"category\": \"migration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"content_export_failed\",\n" +
"\"category\": \"migration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"conversation_message\",\n" +
"\"category\": \"conversation_message\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"added_to_conversation\",\n" +
"\"category\": \"added_to_conversation\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"daily\",\n" +
"\"notification\": \"alert\",\n" +
"\"category\": \"alert\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"assignment_unmuted\",\n" +
"\"category\": \"grading\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"appointment_canceled_by_user\",\n" +
"\"category\": \"student_appointment_signups\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"appointment_deleted_for_user\",\n" +
"\"category\": \"appointment_cancelations\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"appointment_group_deleted\",\n" +
"\"category\": \"appointment_cancelations\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"appointment_group_published\",\n" +
"\"category\": \"appointment_availability\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"appointment_group_updated\",\n" +
"\"category\": \"appointment_availability\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"appointment_reserved_by_user\",\n" +
"\"category\": \"student_appointment_signups\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"appointment_reserved_for_user\",\n" +
"\"category\": \"appointment_signups\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_file_added\",\n" +
"\"category\": \"files\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"new_files_added\",\n" +
"\"category\": \"files\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"assignment_due_date_override_changed\",\n" +
"\"category\": \"due_date\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"canvasnet_migration\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"course_started\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"course_starts_in_week\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"course_required_materials\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"course_already_started\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"submission_needs_grading\",\n" +
"\"category\": \"all_submissions\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"quiz_regrade_finished\",\n" +
"\"category\": \"grading\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"self_enrollment_registration\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"twd_migration_new\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"twd_migration_existing\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"twd_migration_new_late\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"twd_migration_existing_late\",\n" +
"\"category\": \"registration\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"immediately\",\n" +
"\"notification\": \"peer_review_invitation\",\n" +
"\"category\": \"invitation\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"daily\",\n" +
"\"notification\": \"announcement_created_by_you\",\n" +
"\"category\": \"announcement_created_by_you\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"daily\",\n" +
"\"notification\": \"announcement_reply\",\n" +
"\"category\": \"announcement_created_by_you\"\n" +
"},\n" +
"{\n" +
"\"frequency\": \"never\",\n" +
"\"notification\": \"conversation_created\",\n" +
"\"category\": \"conversation_created\"\n" +
"}" +
"]";
}