Skip to content

Commit 82808c0

Browse files
committed
Add tests for restoring dehydrated projects
1 parent 83431b2 commit 82808c0

3 files changed

Lines changed: 35 additions & 1 deletion

File tree

test/unit/reducers/currentProject.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
} from '../../../src/actions/projects';
1111
import {
1212
snapshotImported,
13+
projectRestoredFromLastSession,
1314
} from '../../../src/actions/clients';
1415
import {gistData} from '../../helpers/factory';
1516

@@ -39,6 +40,13 @@ test('snapshotImported', reducerTest(
3940
Immutable.fromJS({projectKey}),
4041
));
4142

43+
test('projectRestoredFromLastSession', reducerTest(
44+
reducer,
45+
initialState,
46+
partial(projectRestoredFromLastSession, {projectKey}),
47+
Immutable.fromJS({projectKey}),
48+
));
49+
4250
test('gistImported', reducerTest(
4351
reducer,
4452
initialState,

test/unit/reducers/projects.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import {
2222
} from '../../../src/actions/projects';
2323
import {
2424
snapshotImported,
25+
projectRestoredFromLastSession,
2526
} from '../../../src/actions/clients';
2627
import {
2728
focusLine,
@@ -103,6 +104,21 @@ tap(project(), importedProject =>
103104
)),
104105
);
105106

107+
tap(project(), rehydratedProject =>
108+
test('projectRestoredFromLastSession', reducerTest(
109+
reducer,
110+
states.initial,
111+
partial(
112+
projectRestoredFromLastSession,
113+
rehydratedProject,
114+
),
115+
states.initial.set(
116+
rehydratedProject.projectKey,
117+
Project.fromJS(rehydratedProject),
118+
),
119+
)),
120+
);
121+
106122
test('gistImported', (t) => {
107123
t.test('HTML and CSS, no JSON', reducerTest(
108124
reducer,

test/unit/sagas/projects.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
snapshotImported,
2222
snapshotImportError,
2323
snapshotNotFound,
24+
projectRestoredFromLastSession,
2425
} from '../../../src/actions/clients';
2526
import {userAuthenticated} from '../../../src/actions/user';
2627
import applicationLoaded from '../../../src/actions/applicationLoaded';
@@ -80,7 +81,7 @@ test('changeCurrentProject()', (assert) => {
8081
});
8182

8283
test('applicationLoaded()', (t) => {
83-
t.test('with no gist or snapshot ID', (assert) => {
84+
t.test('with no gist or snapshot ID or rehydrated project', (assert) => {
8485
testSaga(applicationLoadedSaga, applicationLoaded({gistId: null})).
8586
next().call(createProjectSaga).
8687
next().isDone();
@@ -105,6 +106,15 @@ test('applicationLoaded()', (t) => {
105106

106107
assert.end();
107108
});
109+
110+
t.test('with rehydrated project', (assert) => {
111+
const rehydratedProject = project();
112+
testSaga(applicationLoadedSaga, applicationLoaded({rehydratedProject})).
113+
next().put(projectRestoredFromLastSession(rehydratedProject)).
114+
next().isDone();
115+
116+
assert.end();
117+
});
108118
});
109119

110120
test('importSnapshot()', (t) => {

0 commit comments

Comments
 (0)