This commit is contained in:
2024-09-01 18:54:23 +05:00
parent 76d18365a5
commit 061f09eca1
1597 changed files with 109451 additions and 1 deletions

View File

@@ -0,0 +1,75 @@
import FieldValue from '@/mixins/FieldValue'
class DummyComponent {
constructor(value) {
this.field = {
value: value,
displayedAs: null,
}
}
}
test('it can validate given value as integer', () => {
let form = new DummyComponent(5)
expect(FieldValue.methods.isEqualsToValue.call(form, 5)).toBe(true)
expect(FieldValue.methods.isEqualsToValue.call(form, '5')).toBe(true)
expect(FieldValue.methods.isEqualsToValue.call(form, 0)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '0')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, null)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 'laravel')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 'nova')).toBe(false)
})
test('it can validate given value as integer (string)', () => {
let form = new DummyComponent('5')
expect(FieldValue.methods.isEqualsToValue.call(form, 5)).toBe(true)
expect(FieldValue.methods.isEqualsToValue.call(form, '5')).toBe(true)
expect(FieldValue.methods.isEqualsToValue.call(form, 0)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '0')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, null)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 'laravel')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 'nova')).toBe(false)
})
test('it can validate given value as string', () => {
let form = new DummyComponent('laravel')
expect(FieldValue.methods.isEqualsToValue.call(form, 5)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '5')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 0)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '0')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, null)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 'laravel')).toBe(true)
expect(FieldValue.methods.isEqualsToValue.call(form, 'nova')).toBe(false)
})
test('it can validate given value as empty string', () => {
let form = new DummyComponent('')
expect(FieldValue.methods.isEqualsToValue.call(form, 5)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '5')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 0)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '0')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, null)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '')).toBe(true)
expect(FieldValue.methods.isEqualsToValue.call(form, 'laravel')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 'nova')).toBe(false)
})
test('it can validate given value as null', () => {
let form = new DummyComponent(null)
expect(FieldValue.methods.isEqualsToValue.call(form, 5)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '5')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 0)).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, '0')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, null)).toBe(true)
expect(FieldValue.methods.isEqualsToValue.call(form, '')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 'laravel')).toBe(false)
expect(FieldValue.methods.isEqualsToValue.call(form, 'nova')).toBe(false)
})

View File

@@ -0,0 +1,32 @@
import InteractsWithDates from '@/mixins/InteractsWithDates'
afterAll(() => {
delete global.Nova
})
test('it can get user timezone', () => {
global.Nova = {
config(key) {
return this.appConfig[key] ?? null
},
appConfig: {
timezone: 'UTC',
userTimezone: 'Asia/Kuala_Lumpur',
},
}
expect(InteractsWithDates.computed.userTimezone()).toBe('Asia/Kuala_Lumpur')
})
test('it can fallback to application timezone if user does not define timezone', () => {
global.Nova = {
config(key) {
return this.appConfig[key] ?? null
},
appConfig: {
timezone: 'UTC',
},
}
expect(InteractsWithDates.computed.userTimezone()).toBe('UTC')
})

View File

@@ -0,0 +1,27 @@
import { useLocalization } from '@/mixins/packages'
afterAll(() => {
delete global.Nova
})
test('it can use localization', () => {
const { __ } = useLocalization()
global.Nova = {
config(key) {
return this.appConfig[key] ?? null
},
appConfig: {
translations: {
taylorotwell: 'Taylor Otwell',
'Laravel Nova :version': 'Laravel Nova v:version',
},
},
}
expect(__('taylorotwell')).toBe('Taylor Otwell')
expect(__('Laravel Nova')).toBe('Laravel Nova')
expect(__('Laravel Nova :version', { version: '4.0.0' })).toBe(
'Laravel Nova v4.0.0'
)
})