Common

Prev Next

Content - Common QA Core Checklist

Run this checklist before any content-type specific file. This covers shared list/create/details/header/bulk behavior used across content modules.

Totals

Priority Count
P0 8
P1 6
P2 3
P3 1
Total 18

P0 - Release blockers

P0-01 - Content list loads records for selected type

Field Value
Type Functional + API
Description The content list page must load records for the selected content type without runtime failure.
Verify UI + DevTools Network. Confirm type list operation succeeds (for example vodList, articleList, liveVideoList) or REST list path for REST-backed types.
Pass List renders rows and total count matches network payload count.
Fail Blank/error state appears unexpectedly, request fails, or network returns GraphQL errors.

P0-02 - Add New opens correct create entry point

Field Value
Type Functional
Description The global create action must open the create flow for the currently selected type.
Verify UI only. Click Add New from list header.
Pass Create dialog/module opens with the expected type title and inputs.
Fail Wrong create form opens, modal does not open, or page errors.

P0-03 - Create flow persists a new record

Field Value
Type Functional + API
Description Minimum valid create inputs should create a new record and make it discoverable in list/details.
Verify UI + DevTools Network. Confirm create mutation (type-specific *Create) or REST create path succeeds.
Pass Success feedback appears and created record is visible in list or opens in details/modal.
Fail Success is shown without created record, request errors, or save silently fails.

P0-04 - Row open behavior routes correctly (page or modal)

Field Value
Type Functional
Description Clicking a row should open details page or modal according to type contract.
Verify UI only. Open one row from at least one page-backed type and one modal-backed type in release scope.
Pass Page-backed types navigate to /content/{type}/{id} and modal-backed types open in place.
Fail Wrong navigation target, missing modal, or row click is non-functional.

P0-05 - Detail save sends update and persists changes

Field Value
Type Functional + API
Description Editing a detail field and saving must persist correctly.
Verify UI + DevTools Network. Confirm type update mutation (for example vodUpdate, seriesUpdate) or REST update call.
Pass Save feedback appears and a refresh shows updated value persisted.
Fail Save appears successful but value reverts, request fails, or no update request is fired.

P0-06 - Publish/unpublish state transition works

Field Value
Type Functional + API
Description Header/list state actions must transition content status according to action permissions.
Verify UI + DevTools Network. Trigger publish or unpublish and inspect update action payload.
Pass Status changes to expected state and remains correct after refresh.
Fail Action control is broken, wrong state applied, or network returns errors.

P0-07 - Schedule action rejects past and accepts future time

Field Value
Type Functional
Description Scheduling should block past datetime and accept valid future datetime.
Verify UI only (optional network check for update mutation).
Pass Past value shows validation error; future value closes picker and persists schedule.
Fail Past datetime is accepted or future schedule is not retained.

P0-08 - Bulk state action applies to selected rows only

Field Value
Type Functional + API
Description Bulk publish/update/archive/unarchive must apply only to selected rows.
Verify UI + DevTools Network. Use multi-select and validate bulk action update requests.
Pass Selected rows transition state correctly; non-selected rows remain unchanged.
Fail Action affects wrong rows, partially applies without error, or no network request is sent.

P1 - Core shared flows

P1-01 - Search filters records by keyword

Field Value
Type Functional + API
Description Keyword search should narrow records for current type and return expected subset.
Verify UI + DevTools Network. Confirm keyword is present in query variables or REST query string.
Pass Result set updates consistently with query and can be cleared back to full list.
Fail Search input changes but records do not update, or wrong keyword is sent.

P1-02 - Sort and pagination controls are consistent

Field Value
Type Functional
Description Sort and page controls must fetch and show the expected list segment.
Verify UI + DevTools Network. Change sort and page index once each.
Pass Row order or page slice changes correctly and URL/query params update.
Fail Controls update visually but data does not change, or stale page is shown.

P1-03 - List and grid view toggle behaves correctly

Field Value
Type UI
Description Toggle between list and grid views should render expected layout where supported.
Verify UI only.
Pass View switch updates layout and preserves current filters/sort.
Fail Toggle state changes without layout change or resets page context unexpectedly.

P1-04 - Sidebar tab navigation updates tab state

Field Value
Type Functional
Description Selecting tabs in details should switch section view and keep tab context.
Verify UI only. Navigate 2-3 tabs on a details page-backed type.
Pass Active tab switches correctly and tab-specific content loads without crash.
Fail Wrong section renders, tab selection is lost, or content area breaks.

P1-05 - Mandatory validation blocks invalid save

Field Value
Type Functional
Description Missing required values (title/permalink/images where mandatory) should prevent a valid save.
Verify UI only, with optional network confirmation that no invalid save request is sent.
Pass Validation message is visible and save is blocked until fixed.
Fail Invalid data is accepted or save request is sent despite validation errors.

P1-06 - Static bulk tag/category action works where enabled

Field Value
Type Functional + API
Description Manage Tags/Manage Category bulk modals should apply add/remove operations for eligible types.
Verify UI + DevTools Network. Confirm contentBulkUpdate succeeds.
Pass Selected rows reflect applied add/remove tag/category updates after refresh.
Fail Bulk modal applies nothing, updates wrong rows, or request fails with GraphQL errors.

P2 - Secondary shared checks

P2-01 - Action availability respects role and item status

Field Value
Type UI
Description Action menus should show only valid actions for current status and permissions.
Verify UI only. Check two rows with different statuses.
Pass Invalid actions are hidden/disabled and valid actions are available.
Fail User can trigger disallowed actions or required actions are missing.

P2-02 - Multi-select does not break row-level actions

Field Value
Type Functional
Description Selecting multiple rows should not corrupt per-row action behavior after deselection.
Verify UI only. Select rows, clear selection, then open a row action menu.
Pass Action menu behavior returns to normal single-row behavior.
Fail Action controls stay incorrectly disabled or target wrong content item.

P2-03 - Empty and no-result states remain actionable

Field Value
Type UI
Description Empty list or no-result view should guide recovery (clear filters or create new content).
Verify UI only (force no results with unmatched keyword).
Pass Empty state appears with usable recovery action and no layout break.
Fail Empty state is broken, blocks navigation, or hides recovery controls.

P3 - Polish

P3-01 - Happy path emits no uncaught console/runtime errors

Field Value
Type UI + API
Description Core happy-path actions should complete without uncaught browser console exceptions.
Verify UI + DevTools Console during list load, create, save, and publish.
Pass No uncaught errors/warnings tied to broken behavior are logged.
Fail Console shows uncaught exceptions or rejected promises during normal flow.