ticket-overviews.ts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. // Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
  2. import { TicketOverviewOrderDocument } from '#shared/entities/ticket/graphql/queries/ticket/overviewOrder.api.ts'
  3. import { TicketOverviewsDocument } from '#shared/entities/ticket/graphql/queries/ticket/overviews.api.ts'
  4. import { TicketOverviewUpdatesDocument } from '#shared/entities/ticket/graphql/subscriptions/ticketOverviewUpdates.api.ts'
  5. import type {
  6. TicketOverviewOrderQuery,
  7. TicketOverviewsQuery,
  8. } from '#shared/graphql/types.ts'
  9. import { EnumOrderDirection } from '#shared/graphql/types.ts'
  10. import { mockGraphQLApi, mockGraphQLSubscription } from '../mock-graphql-api.ts'
  11. export const getApiTicketOverviews = (): TicketOverviewsQuery => ({
  12. ticketOverviews: [
  13. {
  14. __typename: 'Overview',
  15. id: '1',
  16. name: __('Overview 1'),
  17. link: 'overview_1',
  18. ticketCount: 1,
  19. orderBy: 'created_at',
  20. orderDirection: EnumOrderDirection.Descending,
  21. organizationShared: false,
  22. outOfOffice: false,
  23. prio: 100,
  24. active: true,
  25. viewColumns: [
  26. { key: 'number', value: 'Number' },
  27. { key: 'title', value: 'Title' },
  28. { key: 'created_at', value: 'Created at' },
  29. { key: 'updated_at', value: 'Updated at' },
  30. { key: 'priority', value: 'Priority' },
  31. ],
  32. orderColumns: [
  33. { key: 'number', value: 'Number' },
  34. { key: 'title', value: 'Title' },
  35. { key: 'created_at', value: 'Created at' },
  36. { key: 'updated_at', value: 'Updated at' },
  37. ],
  38. viewColumnsRaw: [
  39. 'number',
  40. 'title',
  41. 'created_at',
  42. 'updated_at',
  43. 'priority',
  44. ],
  45. groupBy: null,
  46. },
  47. {
  48. __typename: 'Overview',
  49. id: '2',
  50. name: __('Overview 2'),
  51. link: 'overview_2',
  52. ticketCount: 2,
  53. orderBy: 'created_at',
  54. orderDirection: EnumOrderDirection.Ascending,
  55. organizationShared: false,
  56. outOfOffice: false,
  57. prio: 200,
  58. active: true,
  59. viewColumns: [
  60. { key: 'number', value: 'Number' },
  61. { key: 'title', value: 'Title' },
  62. { key: 'created_at', value: 'Created at' },
  63. { key: 'updated_at', value: 'Updated at' },
  64. ],
  65. orderColumns: [
  66. { key: 'number', value: 'Number' },
  67. { key: 'title', value: 'Title' },
  68. { key: 'created_at', value: 'Created at' },
  69. { key: 'updated_at', value: 'Updated at' },
  70. ],
  71. viewColumnsRaw: ['number', 'title', 'created_at', 'updated_at'],
  72. groupBy: null,
  73. },
  74. {
  75. __typename: 'Overview',
  76. id: '3',
  77. name: __('Overview 3'),
  78. link: 'overview_3',
  79. ticketCount: 3,
  80. orderBy: 'created_at',
  81. orderDirection: EnumOrderDirection.Ascending,
  82. organizationShared: false,
  83. outOfOffice: false,
  84. prio: 300,
  85. active: true,
  86. viewColumns: [
  87. { key: 'number', value: 'Number' },
  88. { key: 'title', value: 'Title' },
  89. { key: 'created_at', value: 'Created at' },
  90. { key: 'updated_at', value: 'Updated at' },
  91. ],
  92. orderColumns: [
  93. { key: 'number', value: 'Number' },
  94. { key: 'title', value: 'Title' },
  95. { key: 'created_at', value: 'Created at' },
  96. { key: 'updated_at', value: 'Updated at' },
  97. ],
  98. viewColumnsRaw: ['number', 'title', 'created_at', 'updated_at'],
  99. groupBy: null,
  100. },
  101. ],
  102. })
  103. export const mockTicketOverviews = (overviews?: TicketOverviewsQuery) => {
  104. mockGraphQLSubscription(TicketOverviewUpdatesDocument)
  105. return mockGraphQLApi(TicketOverviewsDocument).willResolve(
  106. overviews || getApiTicketOverviews(),
  107. )
  108. }
  109. export const mockTicketOverviewOrder = (
  110. overviews?: TicketOverviewOrderQuery,
  111. ) => {
  112. mockGraphQLSubscription(TicketOverviewUpdatesDocument)
  113. return mockGraphQLApi(TicketOverviewOrderDocument).willResolve(
  114. overviews || getApiTicketOverviews(),
  115. )
  116. }