Last active
January 7, 2022 16:47
-
-
Save AlexandrHoroshih/c4da0d9a0f6c33e04d06486261f82986 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
test('stuff', async () => { | |
// форкаем домен, создаем новый независимый скоуп | |
const scope = fork(root, { | |
// в конфиге форка будут модификации, которые применятся к скоупу | |
values: new Map() | |
.set($myStore, value), // подменили стартовое значение стора эксклюзивно для этого скоупа | |
handlers: new Map() | |
.set(myFx, mockHandler) // подменили хэндлер эффекта эксклюзивно для этого скоупа | |
}); | |
// запускаем эвент или эффект - триггер цепочки вычислений, которую хотим протестить. | |
// запускаем в рамках независимого скоупа - для этого передаем скоуп в конфиг | |
await allSettled(startEvent, { | |
scope, | |
params: // параметр стартового эвента | |
}) | |
// запускаем проверки, после того как вычисления в сторах закончились | |
expect(scope.getState($myStore)).toEqual(...) | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Начиная с [email protected] root-домен не нужен
Можно просто: