react-native-navigation的迁移库

Commands.test.js 977B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. describe('Commands', () => {
  2. let uut;
  3. const mockCommandsSender = {
  4. setRoot: jest.fn()
  5. };
  6. const mockIdProvider = {
  7. generate: (prefix) => `${prefix}UNIQUE_ID`
  8. };
  9. beforeEach(() => {
  10. const Commands = require('./Commands').default;
  11. uut = new Commands(mockCommandsSender, mockIdProvider);
  12. });
  13. describe('setRoot', () => {
  14. it('sends setRoot to native after parsing into layoutTree', () => {
  15. uut.setRoot({
  16. container: {
  17. name: 'com.example.MyScreen'
  18. }
  19. });
  20. expect(mockCommandsSender.setRoot).toHaveBeenCalledTimes(1);
  21. expect(mockCommandsSender.setRoot).toHaveBeenCalledWith({
  22. type: 'ContainerStack',
  23. id: 'ContainerStackUNIQUE_ID',
  24. children: [
  25. {
  26. type: 'Container',
  27. id: 'ContainerUNIQUE_ID',
  28. children: [],
  29. data: {
  30. name: 'com.example.MyScreen'
  31. }
  32. }
  33. ]
  34. });
  35. });
  36. });
  37. });