Current path: home/webdevt/www/demo2/wp-content/themes/blocksy/static/js/options/helpers/
?? Go up: /home/webdevt/www/demo2/wp-content/themes/blocksy/static/js/options
import {
getKeysToMutate,
mutateResponsiveValueWithScalar,
} from './mutate-responsive-value'
test('it properly gets keys to mutate', () => {
expect({
desktop: getKeysToMutate({
changedKeys: [],
device: 'desktop',
}),
tablet: getKeysToMutate({
changedKeys: [],
device: 'tablet',
}),
mobile: getKeysToMutate({
changedKeys: [],
device: 'mobile',
}),
}).toStrictEqual({
desktop: ['desktop', 'tablet', 'mobile'],
tablet: ['tablet', 'mobile'],
mobile: ['mobile'],
})
})
test('it properly gets keys to mutate desktop changed tablet', () => {
expect(
getKeysToMutate({
changedKeys: ['tablet'],
device: 'desktop',
})
).toStrictEqual(['desktop'])
})
test('it properly gets keys to mutate desktop changed mobile', () => {
expect(
getKeysToMutate({
changedKeys: ['mobile'],
device: 'desktop',
})
).toStrictEqual(['desktop', 'tablet'])
})
test('it properly gets keys to mutate mobile changed mobile', () => {
expect(
getKeysToMutate({
changedKeys: ['mobile'],
device: 'mobile',
})
).toStrictEqual(['mobile'])
})
test('it properly gets keys to mutate tablet changed tablet', () => {
expect(
getKeysToMutate({
changedKeys: ['tablet'],
device: 'tablet',
})
).toStrictEqual(['tablet', 'mobile'])
})
test('it properly mutates a desktop value', () => {
expect(
mutateResponsiveValueWithScalar({
scalarValue: 1,
responsiveValue: {
desktop: 2,
tablet: 2,
mobile: 2,
},
device: 'desktop',
})
).toStrictEqual(1)
})
test('it properly mutates a tablet value', () => {
expect(
mutateResponsiveValueWithScalar({
scalarValue: 1,
responsiveValue: {
desktop: 2,
tablet: 2,
mobile: 2,
},
device: 'tablet',
})
).toStrictEqual({
desktop: 2,
tablet: 1,
mobile: 1,
__changed: ['tablet'],
})
})
test('it properly mutates a mobile value', () => {
expect(
mutateResponsiveValueWithScalar({
scalarValue: 1,
responsiveValue: {
desktop: 2,
tablet: 2,
mobile: 2,
},
device: 'mobile',
})
).toStrictEqual({
desktop: 2,
tablet: 2,
mobile: 1,
__changed: ['mobile'],
})
})
test('it properly mutates a desktop value with changed mobile', () => {
expect(
mutateResponsiveValueWithScalar({
scalarValue: 1,
responsiveValue: {
desktop: 2,
tablet: 2,
mobile: 5,
__changed: ['mobile'],
},
device: 'desktop',
})
).toStrictEqual({
desktop: 1,
tablet: 1,
mobile: 5,
__changed: ['mobile'],
})
})
test('it properly mutates a desktop value with changed tablet', () => {
expect(
mutateResponsiveValueWithScalar({
scalarValue: 1,
responsiveValue: {
desktop: 2,
tablet: 5,
mobile: 5,
__changed: ['tablet'],
},
device: 'desktop',
})
).toStrictEqual({
desktop: 1,
tablet: 5,
mobile: 5,
__changed: ['tablet'],
})
})
test('it properly mutates a mobile value with changed tablet', () => {
expect(
mutateResponsiveValueWithScalar({
scalarValue: 1,
responsiveValue: {
desktop: 2,
tablet: 5,
mobile: 5,
__changed: ['tablet'],
},
device: 'mobile',
})
).toStrictEqual({
desktop: 2,
tablet: 5,
mobile: 1,
__changed: ['tablet', 'mobile'],
})
})
test('it properly mutates a tablet value with changed tablet', () => {
expect(
mutateResponsiveValueWithScalar({
scalarValue: 1,
responsiveValue: {
desktop: 2,
tablet: 5,
mobile: 5,
__changed: ['tablet'],
},
device: 'tablet',
})
).toStrictEqual({
desktop: 2,
tablet: 1,
mobile: 1,
__changed: ['tablet'],
})
})
test('it properly mutates a desktop value with skipped tablet', () => {
expect(
mutateResponsiveValueWithScalar({
scalarValue: 1,
responsiveValue: {
desktop: 2,
tablet: 2,
mobile: 2,
},
devices: ['desktop', 'mobile'],
device: 'desktop',
})
).toStrictEqual({
desktop: 1,
tablet: 2,
mobile: 1,
})
})
test('it properly mutates a tablet value with skipped tablet', () => {
expect(
mutateResponsiveValueWithScalar({
scalarValue: 1,
responsiveValue: {
desktop: 2,
tablet: 2,
mobile: 2,
},
devices: ['desktop', 'mobile'],
device: 'tablet',
})
).toStrictEqual({
desktop: 2,
tablet: 2,
mobile: 1,
__changed: ['mobile'],
})
})
it('it doesnt promote plain value into responsive one if not needed', () => {
expect(
mutateResponsiveValueWithScalar({
scalarValue: 1,
responsiveValue: {
desktop: 2,
tablet: 2,
mobile: 2,
},
})
).toStrictEqual(1)
})