summaryrefslogtreecommitdiff
path: root/spec/javascripts/releases/stores/modules/list/mutations_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/javascripts/releases/stores/modules/list/mutations_spec.js')
-rw-r--r--spec/javascripts/releases/stores/modules/list/mutations_spec.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/spec/javascripts/releases/stores/modules/list/mutations_spec.js b/spec/javascripts/releases/stores/modules/list/mutations_spec.js
new file mode 100644
index 00000000000..3035b916ff6
--- /dev/null
+++ b/spec/javascripts/releases/stores/modules/list/mutations_spec.js
@@ -0,0 +1,55 @@
+import state from '~/releases/stores/modules/list/state';
+import mutations from '~/releases/stores/modules/list/mutations';
+import * as types from '~/releases/stores/modules/list/mutation_types';
+import { parseIntPagination } from '~/lib/utils/common_utils';
+import { pageInfoHeadersWithoutPagination, releases } from '../../../mock_data';
+
+describe('Releases Store Mutations', () => {
+ let stateCopy;
+ let pageInfo;
+
+ beforeEach(() => {
+ stateCopy = state();
+ pageInfo = parseIntPagination(pageInfoHeadersWithoutPagination);
+ });
+
+ describe('REQUEST_RELEASES', () => {
+ it('sets isLoading to true', () => {
+ mutations[types.REQUEST_RELEASES](stateCopy);
+
+ expect(stateCopy.isLoading).toEqual(true);
+ });
+ });
+
+ describe('RECEIVE_RELEASES_SUCCESS', () => {
+ beforeEach(() => {
+ mutations[types.RECEIVE_RELEASES_SUCCESS](stateCopy, { pageInfo, data: releases });
+ });
+
+ it('sets is loading to false', () => {
+ expect(stateCopy.isLoading).toEqual(false);
+ });
+
+ it('sets hasError to false', () => {
+ expect(stateCopy.hasError).toEqual(false);
+ });
+
+ it('sets data', () => {
+ expect(stateCopy.releases).toEqual(releases);
+ });
+
+ it('sets pageInfo', () => {
+ expect(stateCopy.pageInfo).toEqual(pageInfo);
+ });
+ });
+
+ describe('RECEIVE_RELEASES_ERROR', () => {
+ it('resets data', () => {
+ mutations[types.RECEIVE_RELEASES_ERROR](stateCopy);
+
+ expect(stateCopy.isLoading).toEqual(false);
+ expect(stateCopy.releases).toEqual([]);
+ expect(stateCopy.pageInfo).toEqual({});
+ });
+ });
+});