PubFE does not properly handle the scenario where a course has no entitlement set. This is a very real and common possibility because of our Just In Time draft creation and official versions will have no entitlement if they are Audit.
I believe this could be a result of three possible scenarios:
The official course is Audit only and no entitlement exists.
The official course is Verified, but has multiple seat prices for different course runs and so there is no entitlement.
The frontend will show a blank mode field and no price field when there is no entitlement.
Investigate what the proper behavior should be when no entitlement exists
This could be setting a default of an Audit entitlement to show up, but that might disagree with scenario 2 listed above.
Validate the proper behavior is implemented and PubFE is able to effectively handle having no entitlement for a course.
Saving from the edit page will currently fail if there is no entitlement defined due to https://github.com/edx/publisher-frontend/blob/master/src/components/EditCoursePage/index.jsx#L132 .
We ran into scenario 2 (see above) during the unscheduled Purdue Alpha test and the result was:
Draft Audit entitlements being created for each newly created Draft course
Draft Audit seats being created for the new course runs with no verified seat, but draft audit and verified seats for the existing course runs. The draft audit seat for the new course runs was created as a default value in the backend (https://github.com/edx/course-discovery/blob/master/course_discovery/apps/course_metadata/models.py#L1185)