userFeedbackEmpty.spec.jsx 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. import React from 'react';
  2. import {mount} from 'enzyme';
  3. import UserFeedbackEmpty from 'app/views/userFeedback/userFeedbackEmpty';
  4. describe('UserFeedbackEmpty', function() {
  5. const routerContext = TestStubs.routerContext();
  6. const project = TestStubs.Project({id: '1'});
  7. const projectWithReports = TestStubs.Project({id: '2', hasUserReports: true});
  8. it('renders empty', function() {
  9. const organization = TestStubs.Organization();
  10. mount(<UserFeedbackEmpty organization={organization} />, routerContext);
  11. });
  12. it('renders landing for project with no user feedback', function() {
  13. const organization = TestStubs.Organization({projects: [TestStubs.Project()]});
  14. const wrapper = mount(
  15. <UserFeedbackEmpty organization={organization} />,
  16. routerContext
  17. );
  18. expect(wrapper.find('UserFeedbackLanding').exists()).toBe(true);
  19. });
  20. it('renders warning for project with any user feedback', function() {
  21. const organization = TestStubs.Organization({
  22. projects: [projectWithReports],
  23. });
  24. const wrapper = mount(
  25. <UserFeedbackEmpty organization={organization} />,
  26. routerContext
  27. );
  28. expect(wrapper.find('EmptyStateWarning').exists()).toBe(true);
  29. });
  30. it('renders warning for projects with any user feedback', function() {
  31. const organization = TestStubs.Organization({
  32. projects: [TestStubs.Project(), TestStubs.Project({hasUserReports: true})],
  33. });
  34. const wrapper = mount(
  35. <UserFeedbackEmpty organization={organization} />,
  36. routerContext
  37. );
  38. expect(wrapper.find('EmptyStateWarning').exists()).toBe(true);
  39. });
  40. it('renders warning for project query with user feedback', function() {
  41. const organization = TestStubs.Organization({
  42. projects: [project, projectWithReports],
  43. });
  44. const wrapper = mount(
  45. <UserFeedbackEmpty
  46. organization={organization}
  47. projectIds={[projectWithReports.id]}
  48. />,
  49. routerContext
  50. );
  51. expect(wrapper.find('EmptyStateWarning').exists()).toBe(true);
  52. });
  53. it('renders landing for project query without any user feedback', function() {
  54. const organization = TestStubs.Organization({
  55. projects: [project, projectWithReports],
  56. });
  57. const wrapper = mount(
  58. <UserFeedbackEmpty organization={organization} projectIds={[project.id]} />,
  59. routerContext
  60. );
  61. expect(wrapper.find('UserFeedbackLanding').exists()).toBe(true);
  62. });
  63. it('renders warning for multi project query with any user feedback', function() {
  64. const organization = TestStubs.Organization({
  65. projects: [project, projectWithReports],
  66. });
  67. const wrapper = mount(
  68. <UserFeedbackEmpty
  69. organization={organization}
  70. projectIds={[project.id, projectWithReports.id]}
  71. />,
  72. routerContext
  73. );
  74. expect(wrapper.find('EmptyStateWarning').exists()).toBe(true);
  75. });
  76. it('renders landing for multi project query without any user feedback', function() {
  77. const projectWithoutReports = TestStubs.Project({id: '3'});
  78. const organization = TestStubs.Organization({
  79. projects: [project, projectWithoutReports],
  80. });
  81. const wrapper = mount(
  82. <UserFeedbackEmpty
  83. organization={organization}
  84. projectIds={[project.id, projectWithoutReports.id]}
  85. />,
  86. routerContext
  87. );
  88. expect(wrapper.find('UserFeedbackEmpty').exists()).toBe(true);
  89. });
  90. });