ticket-overviews.ts 3.6 KB

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