Skip to content

Commit

Permalink
test(core): Add test to check whether pop event is triggered in repla…
Browse files Browse the repository at this point in the history
…ced root stack
  • Loading branch information
irrationnelle committed Jul 12, 2023
1 parent e143f9a commit 6835281
Showing 1 changed file with 108 additions and 0 deletions.
108 changes: 108 additions & 0 deletions core/src/aggregate.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1066,6 +1066,114 @@ test("aggregate - 가장 바닥에 있는 Activity는 Pop 되지 않습니다",
transitionDuration: 300,
globalTransitionState: "idle",
});
})

test("aggregate - push 후 replace 한 뒤 stepPush를 하고 pop 을 수행하면 pop을 무효화한다.", () => {
let pushedEvent1: PushedEvent;
let replacedEvent1: ReplacedEvent;
let stepPushedEvent1: StepPushedEvent;

const initEvents = [
initializedEvent({
transitionDuration: 300,
}),
registeredEvent({
activityName: "home",
}),
registeredEvent({
activityName: "sample",
}),
(pushedEvent1 = makeEvent("Pushed", {
activityId: "a1",
activityName: "home",
activityParams: {},
eventDate: enoughPastTime(),
})),
];

const output1 = aggregate(
[
...initEvents,
(replacedEvent1 = makeEvent("Replaced", {
activityId: "a2",
activityName: "sample",
activityParams: {},
eventDate: enoughPastTime(),
})),
(stepPushedEvent1 = makeEvent("StepPushed", {
stepId: 's1',
stepParams: {
foo: 'bar'
},
eventDate: enoughPastTime(),
})),
(makeEvent("Popped", {
eventDate: enoughPastTime(),
}))
],
nowTime(),
);

expect(output1).toStrictEqual({
activities: [
activity({
id: "a1",
name: "home",
transitionState: "exit-done",
params: {},
steps: [
{
id: "a1",
params: {},
enteredBy: pushedEvent1,
},
],
enteredBy: pushedEvent1,
exitedBy: replacedEvent1,
isActive: false,
isTop: false,
isRoot: false,
zIndex: -1,
}),
activity({
id: "a2",
name: "sample",
transitionState: "enter-done",
params: {
"foo": "bar"
},
steps: [
{
id: "a2",
params: {},
enteredBy: replacedEvent1,
},
{
id: "s1",
params: {
foo: "bar",
},
enteredBy: stepPushedEvent1,
}
],
enteredBy: replacedEvent1,
isActive: true,
isTop: true,
isRoot: true,
zIndex: 0,
})
],
registeredActivities: [
{
name: "home",
},
{
name: "sample"
}
],
transitionDuration: 300,
globalTransitionState: "idle",
});
});

test("aggregate - transitionDuration 이전에 Pop을 한 경우 exit-active 상태입니다", () => {
Expand Down

0 comments on commit 6835281

Please sign in to comment.