fix(ombi): resolve TV request status, user, and date display (Issue #53)
Build and Push Docker Image / build (push) Successful in 1m46s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m33s
CI / Security audit (push) Successful in 1m56s
CI / Swagger Validation & Coverage (push) Successful in 2m35s
CI / Tests & coverage (push) Successful in 2m51s
Build and Push Docker Image / build (push) Successful in 1m46s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m33s
CI / Security audit (push) Successful in 1m56s
CI / Swagger Validation & Coverage (push) Successful in 2m35s
CI / Tests & coverage (push) Successful in 2m51s
Ombi's TV API nests all request data (requestedUser, approved, available, denied, requested, requestedDate) inside childRequests[] sub-objects. The application previously only inspected top-level properties, causing TV shows to consistently display 'unknown' status, 'unknown' user, and no request date. Changes: - OmbiRetriever._hydrateRequest(): hydrate requestedUser on each childRequests entry and promote requestedDate to top level - getRequestStatus() (server + client): aggregate status flags from childRequests[] when top-level properties are absent - Client date display: fallback to childRequests[0].requestedDate - Add 18 unit tests covering childRequests hydration, status aggregation, and date promotion Closes #53
This commit is contained in:
@@ -130,6 +130,34 @@ describe('ombiHelpers', () => {
|
||||
};
|
||||
expect(extractRequestedUser(req)).toBe('child_user');
|
||||
});
|
||||
|
||||
it('recursively extracts user from childRequests requestedUser object (hydrated TV)', () => {
|
||||
const req = {
|
||||
childRequests: [
|
||||
{},
|
||||
{ requestedUser: { userName: 'tv_user', alias: 'tv_alias' } }
|
||||
]
|
||||
};
|
||||
expect(extractRequestedUser(req)).toBe('tv_alias');
|
||||
});
|
||||
|
||||
it('recursively extracts user from childRequests requestedUser as string', () => {
|
||||
const req = {
|
||||
childRequests: [
|
||||
{ requestedUser: 'string_user' }
|
||||
]
|
||||
};
|
||||
expect(extractRequestedUser(req)).toBe('string_user');
|
||||
});
|
||||
|
||||
it('extracts user from deeply nested childRequests with requestedByAlias fallback', () => {
|
||||
const req = {
|
||||
childRequests: [
|
||||
{ requestedByAlias: 'deep_alias' }
|
||||
]
|
||||
};
|
||||
expect(extractRequestedUser(req)).toBe('deep_alias');
|
||||
});
|
||||
});
|
||||
|
||||
describe('filterRequestsByUser', () => {
|
||||
|
||||
Reference in New Issue
Block a user