Plant catalog UI: /plants page + PlantPicker (#13)
Build image / build-and-push (push) Successful in 15s
Build image / build-and-push (push) Successful in 15s
Co-authored-by: Steve Dudenhoeffer <[email protected]>
This commit was merged in pull request #32.
This commit is contained in:
@@ -1,5 +1,14 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { cmFromFtIn, cmFromMeters, displayFromCm, formatCm, formatDimensions } from './units'
|
||||
import {
|
||||
cmFromFtIn,
|
||||
cmFromMeters,
|
||||
cmFromSpacing,
|
||||
displayFromCm,
|
||||
formatCm,
|
||||
formatDimensions,
|
||||
formatSpacing,
|
||||
spacingFromCm,
|
||||
} from './units'
|
||||
|
||||
describe('cm conversions', () => {
|
||||
it('feet+inches → whole cm', () => {
|
||||
@@ -42,3 +51,21 @@ describe('formatCm', () => {
|
||||
expect(formatDimensions(122, 244, 'imperial')).toBe('4′ 0″ × 8′ 0″')
|
||||
})
|
||||
})
|
||||
|
||||
describe('plant spacing (small scale)', () => {
|
||||
it('formats cm in metric, whole inches in imperial', () => {
|
||||
expect(formatSpacing(15, 'metric')).toBe('15 cm')
|
||||
expect(formatSpacing(15, 'imperial')).toBe('6″') // 15/2.54 = 5.9 → 6
|
||||
expect(formatSpacing(30, 'imperial')).toBe('12″')
|
||||
})
|
||||
|
||||
it('parses an entered value back to whole cm', () => {
|
||||
expect(cmFromSpacing(15, 'metric')).toBe(15)
|
||||
expect(cmFromSpacing(6, 'imperial')).toBe(15) // 6in = 15.24 → 15
|
||||
})
|
||||
|
||||
it('prefills an input from cm', () => {
|
||||
expect(spacingFromCm(15, 'metric')).toBe(15)
|
||||
expect(spacingFromCm(30, 'imperial')).toBe(11.8) // 30/2.54 = 11.81 → 11.8
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user