123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import {OrganizationFixture} from 'sentry-fixture/organization';
- import OrganizationStore from 'sentry/stores/organizationStore';
- import RequestError from 'sentry/utils/requestError/requestError';
- describe('OrganizationStore', function () {
- beforeEach(function () {
- OrganizationStore.reset();
- });
- it('starts with loading state', function () {
- expect(OrganizationStore.get()).toMatchObject({
- loading: true,
- error: null,
- errorType: null,
- organization: null,
- dirty: false,
- });
- });
- it('updates correctly', function () {
- const organization = OrganizationFixture();
- OrganizationStore.onUpdate(organization);
- expect(OrganizationStore.get()).toMatchObject({
- loading: false,
- error: null,
- errorType: null,
- organization,
- dirty: false,
- });
- // updates
- organization.slug = 'a new slug';
- OrganizationStore.onUpdate(organization);
- expect(OrganizationStore.get()).toMatchObject({
- loading: false,
- error: null,
- errorType: null,
- organization,
- dirty: false,
- });
- });
- it('updates correctly from setting changes', function () {
- const organization = OrganizationFixture();
- OrganizationStore.onUpdate(organization);
- expect(OrganizationStore.get()).toMatchObject({
- loading: false,
- error: null,
- errorType: null,
- organization,
- dirty: false,
- });
- });
- it('errors correctly', function () {
- const error = new RequestError('GET', '/some/path', new Error('uh oh'));
- error.status = 404;
- OrganizationStore.onFetchOrgError(error);
- expect(OrganizationStore.get()).toMatchObject({
- loading: false,
- error,
- errorType: 'ORG_NOT_FOUND',
- organization: null,
- dirty: false,
- });
- });
- it('returns a stable reference from getState', function () {
- const organization = OrganizationFixture();
- OrganizationStore.onUpdate(organization);
- const state = OrganizationStore.getState();
- expect(Object.is(state, OrganizationStore.getState())).toBe(true);
- });
- });
|