forked from verdnatura/salix-front
Merge pull request 'HOTFIX SaySimple redirect' (!1005) from hotfix_saySimple into master
Reviewed-on: verdnatura/salix-front#1005 Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
This commit is contained in:
commit
1f752e19f2
|
@ -1,6 +1,7 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { reactive, useAttrs, onBeforeMount, capitalize } from 'vue';
|
import { reactive, useAttrs, onBeforeMount, capitalize } from 'vue';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
import { parsePhone } from 'src/filters';
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
phoneNumber: { type: [String, Number], default: null },
|
phoneNumber: { type: [String, Number], default: null },
|
||||||
channel: { type: Number, default: null },
|
channel: { type: Number, default: null },
|
||||||
|
@ -24,9 +25,9 @@ onBeforeMount(async () => {
|
||||||
.data;
|
.data;
|
||||||
if (!channel) channel = defaultChannel;
|
if (!channel) channel = defaultChannel;
|
||||||
|
|
||||||
config[
|
config[type].href = `${url}?customerIdentity=%2B${parsePhone(
|
||||||
type
|
props.phoneNumber
|
||||||
].href = `${url}?customerIdentity=%2B${props.phoneNumber}&channelId=${channel}`;
|
)}&channelId=${channel}`;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -12,10 +12,12 @@ import dateRange from './dateRange';
|
||||||
import toHour from './toHour';
|
import toHour from './toHour';
|
||||||
import dashOrCurrency from './dashOrCurrency';
|
import dashOrCurrency from './dashOrCurrency';
|
||||||
import getParamWhere from './getParamWhere';
|
import getParamWhere from './getParamWhere';
|
||||||
|
import parsePhone from './parsePhone';
|
||||||
import isDialogOpened from './isDialogOpened';
|
import isDialogOpened from './isDialogOpened';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
isDialogOpened,
|
isDialogOpened,
|
||||||
|
parsePhone,
|
||||||
toLowerCase,
|
toLowerCase,
|
||||||
toLowerCamel,
|
toLowerCamel,
|
||||||
toDate,
|
toDate,
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
export default function (phone, prefix = 34) {
|
||||||
|
if (phone.startsWith('+')) {
|
||||||
|
return `${phone.slice(1)}`;
|
||||||
|
}
|
||||||
|
if (phone.startsWith('00')) {
|
||||||
|
return `${phone.slice(2)}`;
|
||||||
|
}
|
||||||
|
if (phone.startsWith(prefix) && phone.length === prefix.length + 9) {
|
||||||
|
return `${prefix}${phone.slice(prefix.length)}`;
|
||||||
|
}
|
||||||
|
return `${prefix}${phone}`;
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
import { describe, it, expect } from 'vitest';
|
||||||
|
import parsePhone from 'src/filters/parsePhone';
|
||||||
|
|
||||||
|
describe('parsePhone filter', () => {
|
||||||
|
it("adds prefix +34 if it doesn't have one", () => {
|
||||||
|
const resultado = parsePhone('123456789', '34');
|
||||||
|
expect(resultado).toBe('34123456789');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('maintains prefix +34 if it is already correct', () => {
|
||||||
|
const resultado = parsePhone('+34123456789', '34');
|
||||||
|
expect(resultado).toBe('34123456789');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('converts prefix 0034 to +34', () => {
|
||||||
|
const resultado = parsePhone('0034123456789', '34');
|
||||||
|
expect(resultado).toBe('34123456789');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('converts prefix 34 without symbol to +34', () => {
|
||||||
|
const resultado = parsePhone('34123456789', '34');
|
||||||
|
expect(resultado).toBe('34123456789');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('replaces incorrect prefix with the correct one', () => {
|
||||||
|
const resultado = parsePhone('+44123456789', '34');
|
||||||
|
expect(resultado).toBe('44123456789');
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue