123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- describe('LayoutBuilder', () => {
- let LayoutBuilder;
-
- beforeEach(() => {
- jest.mock('../providers/UniqueIdProvider');
- LayoutBuilder = require('./LayoutBuilder');
- });
-
- describe('parse', () => {
- it('deeply clones input params', () => {
- const input = {inner: {value: 1}};
- expect(LayoutBuilder.parse(input)).not.toBe(input);
- expect(LayoutBuilder.parse(input).inner).not.toBe(input.inner);
- });
-
- it('adds uniqueId to passed container', () => {
- expect(LayoutBuilder.parse({
- container: {
- name: 'com.example.MyScreen'
- }
- })).toEqual({
- container: {
- name: 'com.example.MyScreen',
- id: 'containerUNIQUE'
- }
- });
- });
-
- it('adds uniqueId to passed sideMenu', () => {
- expect(LayoutBuilder.parse({
- container: {
- name: 'com.example.MyScreen'
- },
- sideMenu: {
- left: {
- name: 'com.example.SideMenu1'
- },
- right: {
- name: 'com.example.SideMenu2'
- }
- }
- })).toEqual({
- container: {
- name: 'com.example.MyScreen',
- id: 'containerUNIQUE'
- },
- sideMenu: {
- left: {
- name: 'com.example.SideMenu1',
- id: 'containerUNIQUE'
- },
- right: {
- name: 'com.example.SideMenu2',
- id: 'containerUNIQUE'
- }
- }
- });
- });
-
- it('adds uniqueId to passed tabs', () => {
- expect(LayoutBuilder.parse({
- tabs: [
- {
- container: {
- name: 'com.example.FirstTab'
- }
- },
- {
- container: {
- name: 'com.example.SecondTab'
- }
- },
- {
- container: {
- name: 'com.example.FirstTab'
- }
- }
- ],
- sideMenu: {
- left: {
- name: 'com.example.Menu1'
- },
- right: {
- name: 'com.example.Menu2'
- }
- }
- })).toEqual({
- tabs: [
- {
- container: {
- name: 'com.example.FirstTab',
- id: 'containerUNIQUE'
- }
- },
- {
- container: {
- name: 'com.example.SecondTab',
- id: 'containerUNIQUE'
- }
- },
- {
- container: {
- name: 'com.example.FirstTab',
- id: 'containerUNIQUE'
- }
- }
- ],
- sideMenu: {
- left: {
- name: 'com.example.Menu1',
- id: 'containerUNIQUE'
- },
- right: {
- name: 'com.example.Menu2',
- id: 'containerUNIQUE'
- }
- }
- });
- });
- });
- });
|