organizationEnvironmentsStore.spec.jsx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import {Environments} from 'fixtures/js-stubs/environments';
  2. import OrganizationEnvironmentsStore from 'sentry/stores/organizationEnvironmentsStore';
  3. describe('OrganizationEnvironmentsStore', function () {
  4. beforeEach(() => {
  5. OrganizationEnvironmentsStore.init();
  6. });
  7. it('get()', function () {
  8. expect(OrganizationEnvironmentsStore.getState()).toEqual({
  9. environments: null,
  10. error: null,
  11. });
  12. });
  13. it('loads data from a fetch', async function () {
  14. OrganizationEnvironmentsStore.onFetchEnvironmentsSuccess(Environments());
  15. await tick();
  16. const {environments} = OrganizationEnvironmentsStore.getState();
  17. expect(environments).toHaveLength(3);
  18. expect(environments.map(env => env.name)).toEqual([
  19. 'production',
  20. 'staging',
  21. 'STAGING',
  22. ]);
  23. expect(environments.map(env => env.displayName)).toEqual([
  24. 'production',
  25. 'staging',
  26. 'STAGING',
  27. ]);
  28. });
  29. it('has the correct loading state', function () {
  30. OrganizationEnvironmentsStore.onFetchEnvironments();
  31. const {environments, error} = OrganizationEnvironmentsStore.getState();
  32. expect(environments).toBeNull();
  33. expect(error).toBeNull();
  34. });
  35. it('has the correct error state', function () {
  36. OrganizationEnvironmentsStore.onFetchEnvironmentsError(Error('bad'));
  37. const {environments, error} = OrganizationEnvironmentsStore.getState();
  38. expect(environments).toBeNull();
  39. expect(error).not.toBeNull();
  40. });
  41. });