mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-08 03:20:12 +08:00
feat: getTasks
This commit is contained in:
1 parent
254e4f75ed
commit
d2cdd1304a
4 files changed
+74
-1
No files matched your search
@@ -12,6 +12,7 @@ const quest: IQuest = {
|
||||
stages: [
|
||||
{
|
||||
id: 'stage1',
|
||||
name: 'Stage 1',
|
||||
requirements: [],
|
||||
condition: {
|
||||
command: 'echo start',
|
||||
@@ -20,6 +21,7 @@ const quest: IQuest = {
|
||||
},
|
||||
{
|
||||
id: 'stage2',
|
||||
name: 'Stage 2',
|
||||
requirements: ['stage1'],
|
||||
condition: {
|
||||
command: 'ls',
|
||||
@@ -28,6 +30,7 @@ const quest: IQuest = {
|
||||
},
|
||||
{
|
||||
id: 'stage3',
|
||||
name: 'Stage 3',
|
||||
requirements: ['stage1'],
|
||||
condition: {
|
||||
command: 'mkdir hello',
|
||||
@@ -36,6 +39,7 @@ const quest: IQuest = {
|
||||
},
|
||||
{
|
||||
id: 'stage4',
|
||||
name: 'Stage 4',
|
||||
requirements: ['stage2', 'stage3'],
|
||||
condition: {
|
||||
command: 'echo finish',
|
||||
@@ -129,4 +133,39 @@ describe('Session', () => {
|
||||
{ type: 'narrative', content: 'Narrative 2' },
|
||||
])
|
||||
})
|
||||
|
||||
it('should return tasks', () => {
|
||||
const session = new Session(
|
||||
{
|
||||
completedEvents: [],
|
||||
},
|
||||
quest,
|
||||
new MockFileChecker()
|
||||
)
|
||||
expect(session.getTasks()).toEqual([
|
||||
{ id: 'stage1', name: 'Stage 1', completed: false },
|
||||
])
|
||||
|
||||
session.complete('stage1')
|
||||
expect(session.getTasks()).toEqual([
|
||||
{ id: 'stage1', name: 'Stage 1', completed: true },
|
||||
{ id: 'stage2', name: 'Stage 2', completed: false },
|
||||
{ id: 'stage3', name: 'Stage 3', completed: false },
|
||||
])
|
||||
|
||||
session.complete('stage2')
|
||||
expect(session.getTasks()).toEqual([
|
||||
{ id: 'stage1', name: 'Stage 1', completed: true },
|
||||
{ id: 'stage2', name: 'Stage 2', completed: true },
|
||||
{ id: 'stage3', name: 'Stage 3', completed: false },
|
||||
])
|
||||
|
||||
session.complete('stage3')
|
||||
expect(session.getTasks()).toEqual([
|
||||
{ id: 'stage1', name: 'Stage 1', completed: true },
|
||||
{ id: 'stage2', name: 'Stage 2', completed: true },
|
||||
{ id: 'stage3', name: 'Stage 3', completed: true },
|
||||
{ id: 'stage4', name: 'Stage 4', completed: false },
|
||||
])
|
||||
})
|
||||
})
|
||||
Reference in new issue
Block a user