expect(component.currency).toEqual('USD')
expect(component.monetaryValue).toEqual('')
})
+
+ it('should handle zero values', () => {
+ component.writeValue('USD0.00')
+ expect(component.currency).toEqual('USD')
+ expect(component.monetaryValue).toEqual('0.00')
+ component.monetaryValue = '0'
+ component.monetaryValueChange()
+ expect(component.value).toEqual('USD0.00')
+ })
})
public get monetaryValue(): string {
return this._monetaryValue
}
- public set monetaryValue(value: string) {
- if (value) this._monetaryValue = value
+ public set monetaryValue(value: any) {
+ if (value || value?.toString() === '0')
+ this._monetaryValue = value.toString()
}
defaultCurrencyCode: string
public monetaryValueChange(fixed: boolean = false): void {
this.monetaryValue = this.parseMonetaryValue(this.monetaryValue, fixed)
+ if (this.monetaryValue === '0') {
+ this.monetaryValue = '0.00'
+ }
this.onChange(this.currency + this.monetaryValue)
}