Scenario 25 is added.
This commit is contained in:
parent
9c0ba15883
commit
df807f9534
12 changed files with 281 additions and 50 deletions
|
|
@ -25,7 +25,8 @@ const policySoapByScenario: { [x: string]: string } = {
|
|||
'0021a': '<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"> <soapenv:Body> <se:policySearchResponse xmlns:_xml=\"http://www.ACORD.org/standards/PC_Surety/ACORD1/xml/\" xmlns:se=\"http://pm.lmig.com/cl/PolicyServicesMediationModule/iAcordPolicySearch\"> <_xml:ACORD> <_xml:SignonRs> <_xml:CustId> <_xml:SPName>Safelite</_xml:SPName> <_xml:CustPermId>00005</_xml:CustPermId> </_xml:CustId> <_xml:ClientDt>2025-01-03T14:13:58Z</_xml:ClientDt> <_xml:CustLangPref>EN</_xml:CustLangPref> <_xml:ClientApp> <_xml:Org>Liberty Mutual</_xml:Org> <_xml:Name>PM CNG</_xml:Name> <_xml:Version>1.0</_xml:Version> </_xml:ClientApp> <_xml:ServerDt>2025-01-03T14:13:58Z</_xml:ServerDt> <_xml:Language>EN</_xml:Language> </_xml:SignonRs> <_xml:InsuranceSvcRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:PolicyInqRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:TransactionResponseDt>2025-01-03T14:13:58Z</_xml:TransactionResponseDt> <_xml:MsgStatus> <_xml:MsgStatusCd>Success</_xml:MsgStatusCd> </_xml:MsgStatus> <_xml:AsOfDt>2017-02-06</_xml:AsOfDt> <_xml:Requestor id=\"RequestorId_1\" /> <_xml:PartyInqInfo> <_xml:InsuredOrPrincipal id=\"InsuredOrPrincipalId_1\" /> </_xml:PartyInqInfo> <_xml:PolInfo> <_xml:PersAutoPolicy id=\"PersAutoPolicyID_1\"> <_xml:InsuredOrPrincipal> <_xml:GeneralPartyInfo> <_xml:NameInfo> <_xml:PersonName> <_xml:Surname>${lastName}</_xml:Surname> <_xml:GivenName>${firstName}</_xml:GivenName> </_xml:PersonName> </_xml:NameInfo> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> <_xml:Communications> <_xml:PhoneInfo> <_xml:PhoneTypeCd>Home</_xml:PhoneTypeCd> <_xml:PhoneNumber>${phoneNumber}</_xml:PhoneNumber> </_xml:PhoneInfo> </_xml:Communications> </_xml:GeneralPartyInfo> <_xml:InsuredOrPrincipalInfo> <_xml:InsuredOrPrincipalRoleCd>primary</_xml:InsuredOrPrincipalRoleCd> <_xml:PersonInfo> <_xml:GenderCd>M</_xml:GenderCd> </_xml:PersonInfo> </_xml:InsuredOrPrincipalInfo> </_xml:InsuredOrPrincipal> <_xml:PersPolicy> <_xml:PolicyNumber>${policyNumber}</_xml:PolicyNumber> <_xml:PolicyVersion>STD</_xml:PolicyVersion> <_xml:CompanyProductCd>liberty</_xml:CompanyProductCd> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:ControllingStateProvCd>CA</_xml:ControllingStateProvCd> <_xml:ContractTerm> <_xml:EffectiveDt>2023-11-01</_xml:EffectiveDt> <_xml:ExpirationDt>2099-11-01</_xml:ExpirationDt> </_xml:ContractTerm> <_xml:GroupId>000</_xml:GroupId> <_xml:MiscParty> <_xml:ItemIdInfo> <_xml:InsurerId>3861415357665</_xml:InsurerId> </_xml:ItemIdInfo> </_xml:MiscParty> </_xml:PersPolicy> <_xml:Location> <_xml:ItemIdInfo id=\"ItemIdInfoId_1\" /> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> </_xml:Location> <_xml:PersAutoLineBusiness> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:PersVeh> <_xml:ItemIdInfo> <_xml:InsurerId>1</_xml:InsurerId> </_xml:ItemIdInfo> <_xml:Manufacturer>HOND</_xml:Manufacturer> <_xml:Model>ACCORD</_xml:Model> <_xml:ModelYear>2016</_xml:ModelYear> <_xml:Registration> <_xml:RegistrationId>UNKNOWN</_xml:RegistrationId> <_xml:StateProvCd>CA</_xml:StateProvCd> </_xml:Registration> <_xml:VehIdentificationNumber>1HGCR2F31GA195371</_xml:VehIdentificationNumber> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>service_level_ind</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>parking_guard</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:Coverage> <_xml:CoverageCd>GLSS</_xml:CoverageCd> <_xml:CoverageDesc>ACV</_xml:CoverageDesc> <_xml:Deductible> <_xml:FormatCurrencyAmt> <_xml:Amt>500.00</_xml:Amt> </_xml:FormatCurrencyAmt> </_xml:Deductible> <_xml:Option> <_xml:OptionCd>V</_xml:OptionCd> <_xml:OptionValue>1</_xml:OptionValue> <_xml:OptionValueDesc>COVERAGE_LIMIT_IND</_xml:OptionValueDesc> </_xml:Option> </_xml:Coverage> </_xml:PersVeh> </_xml:PersAutoLineBusiness> <_xml:RemarkText id=\"endorsementId_1\" IdRef=\"PersAutoPolicyID_1\">000</_xml:RemarkText> <_xml:PolicySummaryInfo> <_xml:PolicyStatusCd>ACTIVE</_xml:PolicyStatusCd> </_xml:PolicySummaryInfo> </_xml:PersAutoPolicy> </_xml:PolInfo> </_xml:PolicyInqRs> </_xml:InsuranceSvcRs> </_xml:ACORD> </se:policySearchResponse> </soapenv:Body> </soapenv:Envelope>',
|
||||
'0022a': '<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"> <soapenv:Body> <se:policySearchResponse xmlns:_xml=\"http://www.ACORD.org/standards/PC_Surety/ACORD1/xml/\" xmlns:se=\"http://pm.lmig.com/cl/PolicyServicesMediationModule/iAcordPolicySearch\"> <_xml:ACORD> <_xml:SignonRs> <_xml:CustId> <_xml:SPName>Safelite</_xml:SPName> <_xml:CustPermId>00005</_xml:CustPermId> </_xml:CustId> <_xml:ClientDt>2025-01-03T14:13:58Z</_xml:ClientDt> <_xml:CustLangPref>EN</_xml:CustLangPref> <_xml:ClientApp> <_xml:Org>Liberty Mutual</_xml:Org> <_xml:Name>PM CNG</_xml:Name> <_xml:Version>1.0</_xml:Version> </_xml:ClientApp> <_xml:ServerDt>2025-01-03T14:13:58Z</_xml:ServerDt> <_xml:Language>EN</_xml:Language> </_xml:SignonRs> <_xml:InsuranceSvcRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:PolicyInqRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:TransactionResponseDt>2025-01-03T14:13:58Z</_xml:TransactionResponseDt> <_xml:MsgStatus> <_xml:MsgStatusCd>Success</_xml:MsgStatusCd> </_xml:MsgStatus> <_xml:AsOfDt>2017-02-06</_xml:AsOfDt> <_xml:Requestor id=\"RequestorId_1\" /> <_xml:PartyInqInfo> <_xml:InsuredOrPrincipal id=\"InsuredOrPrincipalId_1\" /> </_xml:PartyInqInfo> <_xml:PolInfo> <_xml:PersAutoPolicy id=\"PersAutoPolicyID_1\"> <_xml:InsuredOrPrincipal> <_xml:GeneralPartyInfo> <_xml:NameInfo> <_xml:PersonName> <_xml:Surname>${lastName}</_xml:Surname> <_xml:GivenName>${firstName}</_xml:GivenName> </_xml:PersonName> </_xml:NameInfo> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> <_xml:Communications> <_xml:PhoneInfo> <_xml:PhoneTypeCd>Home</_xml:PhoneTypeCd> <_xml:PhoneNumber>${phoneNumber}</_xml:PhoneNumber> </_xml:PhoneInfo> </_xml:Communications> </_xml:GeneralPartyInfo> <_xml:InsuredOrPrincipalInfo> <_xml:InsuredOrPrincipalRoleCd>primary</_xml:InsuredOrPrincipalRoleCd> <_xml:PersonInfo> <_xml:GenderCd>M</_xml:GenderCd> </_xml:PersonInfo> </_xml:InsuredOrPrincipalInfo> </_xml:InsuredOrPrincipal> <_xml:PersPolicy> <_xml:PolicyNumber>${policyNumber}</_xml:PolicyNumber> <_xml:PolicyVersion>STD</_xml:PolicyVersion> <_xml:CompanyProductCd>liberty</_xml:CompanyProductCd> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:ControllingStateProvCd>CA</_xml:ControllingStateProvCd> <_xml:ContractTerm> <_xml:EffectiveDt>2023-11-01</_xml:EffectiveDt> <_xml:ExpirationDt>2099-11-01</_xml:ExpirationDt> </_xml:ContractTerm> <_xml:GroupId>000</_xml:GroupId> <_xml:MiscParty> <_xml:ItemIdInfo> <_xml:InsurerId>3861415357665</_xml:InsurerId> </_xml:ItemIdInfo> </_xml:MiscParty> </_xml:PersPolicy> <_xml:Location> <_xml:ItemIdInfo id=\"ItemIdInfoId_1\" /> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> </_xml:Location> <_xml:PersAutoLineBusiness> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:PersVeh> <_xml:ItemIdInfo> <_xml:InsurerId>1</_xml:InsurerId> </_xml:ItemIdInfo> <_xml:Manufacturer>HOND</_xml:Manufacturer> <_xml:Model>ACCORD</_xml:Model> <_xml:ModelYear>2016</_xml:ModelYear> <_xml:Registration> <_xml:RegistrationId>UNKNOWN</_xml:RegistrationId> <_xml:StateProvCd>CA</_xml:StateProvCd> </_xml:Registration> <_xml:VehIdentificationNumber>1HGCR2F31GA195371</_xml:VehIdentificationNumber> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>service_level_ind</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>parking_guard</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:Coverage> <_xml:CoverageCd>GLSS</_xml:CoverageCd> <_xml:CoverageDesc>ACV</_xml:CoverageDesc> <_xml:Deductible> <_xml:FormatCurrencyAmt> <_xml:Amt>500.00</_xml:Amt> </_xml:FormatCurrencyAmt> </_xml:Deductible> <_xml:Option> <_xml:OptionCd>V</_xml:OptionCd> <_xml:OptionValue>1</_xml:OptionValue> <_xml:OptionValueDesc>COVERAGE_LIMIT_IND</_xml:OptionValueDesc> </_xml:Option> </_xml:Coverage> </_xml:PersVeh> </_xml:PersAutoLineBusiness> <_xml:RemarkText id=\"endorsementId_1\" IdRef=\"PersAutoPolicyID_1\">000</_xml:RemarkText> <_xml:PolicySummaryInfo> <_xml:PolicyStatusCd>ACTIVE</_xml:PolicyStatusCd> </_xml:PolicySummaryInfo> </_xml:PersAutoPolicy> </_xml:PolInfo> </_xml:PolicyInqRs> </_xml:InsuranceSvcRs> </_xml:ACORD> </se:policySearchResponse> </soapenv:Body> </soapenv:Envelope>',
|
||||
'0023a': '<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"> <soapenv:Body> <se:policySearchResponse xmlns:_xml=\"http://www.ACORD.org/standards/PC_Surety/ACORD1/xml/\" xmlns:se=\"http://pm.lmig.com/cl/PolicyServicesMediationModule/iAcordPolicySearch\"> <_xml:ACORD> <_xml:SignonRs> <_xml:CustId> <_xml:SPName>Safelite</_xml:SPName> <_xml:CustPermId>00005</_xml:CustPermId> </_xml:CustId> <_xml:ClientDt>2025-01-03T14:13:58Z</_xml:ClientDt> <_xml:CustLangPref>EN</_xml:CustLangPref> <_xml:ClientApp> <_xml:Org>Liberty Mutual</_xml:Org> <_xml:Name>PM CNG</_xml:Name> <_xml:Version>1.0</_xml:Version> </_xml:ClientApp> <_xml:ServerDt>2025-01-03T14:13:58Z</_xml:ServerDt> <_xml:Language>EN</_xml:Language> </_xml:SignonRs> <_xml:InsuranceSvcRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:PolicyInqRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:TransactionResponseDt>2025-01-03T14:13:58Z</_xml:TransactionResponseDt> <_xml:MsgStatus> <_xml:MsgStatusCd>Success</_xml:MsgStatusCd> </_xml:MsgStatus> <_xml:AsOfDt>2017-02-06</_xml:AsOfDt> <_xml:Requestor id=\"RequestorId_1\" /> <_xml:PartyInqInfo> <_xml:InsuredOrPrincipal id=\"InsuredOrPrincipalId_1\" /> </_xml:PartyInqInfo> <_xml:PolInfo> <_xml:PersAutoPolicy id=\"PersAutoPolicyID_1\"> <_xml:InsuredOrPrincipal> <_xml:GeneralPartyInfo> <_xml:NameInfo> <_xml:PersonName> <_xml:Surname>${lastName}</_xml:Surname> <_xml:GivenName>${firstName}</_xml:GivenName> </_xml:PersonName> </_xml:NameInfo> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> <_xml:Communications> <_xml:PhoneInfo> <_xml:PhoneTypeCd>Home</_xml:PhoneTypeCd> <_xml:PhoneNumber>${phoneNumber}</_xml:PhoneNumber> </_xml:PhoneInfo> </_xml:Communications> </_xml:GeneralPartyInfo> <_xml:InsuredOrPrincipalInfo> <_xml:InsuredOrPrincipalRoleCd>primary</_xml:InsuredOrPrincipalRoleCd> <_xml:PersonInfo> <_xml:GenderCd>M</_xml:GenderCd> </_xml:PersonInfo> </_xml:InsuredOrPrincipalInfo> </_xml:InsuredOrPrincipal> <_xml:PersPolicy> <_xml:PolicyNumber>${policyNumber}</_xml:PolicyNumber> <_xml:PolicyVersion>STD</_xml:PolicyVersion> <_xml:CompanyProductCd>liberty</_xml:CompanyProductCd> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:ControllingStateProvCd>CA</_xml:ControllingStateProvCd> <_xml:ContractTerm> <_xml:EffectiveDt>2023-11-01</_xml:EffectiveDt> <_xml:ExpirationDt>2099-11-01</_xml:ExpirationDt> </_xml:ContractTerm> <_xml:GroupId>000</_xml:GroupId> <_xml:MiscParty> <_xml:ItemIdInfo> <_xml:InsurerId>3861415357665</_xml:InsurerId> </_xml:ItemIdInfo> </_xml:MiscParty> </_xml:PersPolicy> <_xml:Location> <_xml:ItemIdInfo id=\"ItemIdInfoId_1\" /> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> </_xml:Location> <_xml:PersAutoLineBusiness> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:PersVeh> <_xml:ItemIdInfo> <_xml:InsurerId>1</_xml:InsurerId> </_xml:ItemIdInfo> <_xml:Manufacturer>HOND</_xml:Manufacturer> <_xml:Model>ACCORD</_xml:Model> <_xml:ModelYear>2016</_xml:ModelYear> <_xml:Registration> <_xml:RegistrationId>UNKNOWN</_xml:RegistrationId> <_xml:StateProvCd>CA</_xml:StateProvCd> </_xml:Registration> <_xml:VehIdentificationNumber>1HGCR2F31GA195371</_xml:VehIdentificationNumber> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>service_level_ind</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>parking_guard</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:Coverage> <_xml:CoverageCd>GLSS</_xml:CoverageCd> <_xml:CoverageDesc>ACV</_xml:CoverageDesc> <_xml:Deductible> <_xml:FormatCurrencyAmt> <_xml:Amt>500.00</_xml:Amt> </_xml:FormatCurrencyAmt> </_xml:Deductible> <_xml:Option> <_xml:OptionCd>V</_xml:OptionCd> <_xml:OptionValue>1</_xml:OptionValue> <_xml:OptionValueDesc>COVERAGE_LIMIT_IND</_xml:OptionValueDesc> </_xml:Option> </_xml:Coverage> </_xml:PersVeh> </_xml:PersAutoLineBusiness> <_xml:RemarkText id=\"endorsementId_1\" IdRef=\"PersAutoPolicyID_1\">000</_xml:RemarkText> <_xml:PolicySummaryInfo> <_xml:PolicyStatusCd>ACTIVE</_xml:PolicyStatusCd> </_xml:PolicySummaryInfo> </_xml:PersAutoPolicy> </_xml:PolInfo> </_xml:PolicyInqRs> </_xml:InsuranceSvcRs> </_xml:ACORD> </se:policySearchResponse> </soapenv:Body> </soapenv:Envelope>',
|
||||
'0024a': '<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"> <soapenv:Body> <se:policySearchResponse xmlns:_xml=\"http://www.ACORD.org/standards/PC_Surety/ACORD1/xml/\" xmlns:se=\"http://pm.lmig.com/cl/PolicyServicesMediationModule/iAcordPolicySearch\"> <_xml:ACORD> <_xml:SignonRs> <_xml:CustId> <_xml:SPName>Safelite</_xml:SPName> <_xml:CustPermId>00005</_xml:CustPermId> </_xml:CustId> <_xml:ClientDt>2025-01-03T14:13:58Z</_xml:ClientDt> <_xml:CustLangPref>EN</_xml:CustLangPref> <_xml:ClientApp> <_xml:Org>Liberty Mutual</_xml:Org> <_xml:Name>PM CNG</_xml:Name> <_xml:Version>1.0</_xml:Version> </_xml:ClientApp> <_xml:ServerDt>2025-01-03T14:13:58Z</_xml:ServerDt> <_xml:Language>EN</_xml:Language> </_xml:SignonRs> <_xml:InsuranceSvcRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:PolicyInqRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:TransactionResponseDt>2025-01-03T14:13:58Z</_xml:TransactionResponseDt> <_xml:MsgStatus> <_xml:MsgStatusCd>Success</_xml:MsgStatusCd> </_xml:MsgStatus> <_xml:AsOfDt>2017-02-06</_xml:AsOfDt> <_xml:Requestor id=\"RequestorId_1\" /> <_xml:PartyInqInfo> <_xml:InsuredOrPrincipal id=\"InsuredOrPrincipalId_1\" /> </_xml:PartyInqInfo> <_xml:PolInfo> <_xml:PersAutoPolicy id=\"PersAutoPolicyID_1\"> <_xml:InsuredOrPrincipal> <_xml:GeneralPartyInfo> <_xml:NameInfo> <_xml:PersonName> <_xml:Surname>${lastName}</_xml:Surname> <_xml:GivenName>${firstName}</_xml:GivenName> </_xml:PersonName> </_xml:NameInfo> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> <_xml:Communications> <_xml:PhoneInfo> <_xml:PhoneTypeCd>Home</_xml:PhoneTypeCd> <_xml:PhoneNumber>${phoneNumber}</_xml:PhoneNumber> </_xml:PhoneInfo> </_xml:Communications> </_xml:GeneralPartyInfo> <_xml:InsuredOrPrincipalInfo> <_xml:InsuredOrPrincipalRoleCd>primary</_xml:InsuredOrPrincipalRoleCd> <_xml:PersonInfo> <_xml:GenderCd>M</_xml:GenderCd> </_xml:PersonInfo> </_xml:InsuredOrPrincipalInfo> </_xml:InsuredOrPrincipal> <_xml:PersPolicy> <_xml:PolicyNumber>${policyNumber}</_xml:PolicyNumber> <_xml:PolicyVersion>STD</_xml:PolicyVersion> <_xml:CompanyProductCd>liberty</_xml:CompanyProductCd> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:ControllingStateProvCd>CA</_xml:ControllingStateProvCd> <_xml:ContractTerm> <_xml:EffectiveDt>2023-11-01</_xml:EffectiveDt> <_xml:ExpirationDt>2099-11-01</_xml:ExpirationDt> </_xml:ContractTerm> <_xml:GroupId>000</_xml:GroupId> <_xml:MiscParty> <_xml:ItemIdInfo> <_xml:InsurerId>3861415357665</_xml:InsurerId> </_xml:ItemIdInfo> </_xml:MiscParty> </_xml:PersPolicy> <_xml:Location> <_xml:ItemIdInfo id=\"ItemIdInfoId_1\" /> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> </_xml:Location> <_xml:PersAutoLineBusiness> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:PersVeh> <_xml:ItemIdInfo> <_xml:InsurerId>1</_xml:InsurerId> </_xml:ItemIdInfo> <_xml:Manufacturer>HOND</_xml:Manufacturer> <_xml:Model>ACCORD</_xml:Model> <_xml:ModelYear>2016</_xml:ModelYear> <_xml:Registration> <_xml:RegistrationId>UNKNOWN</_xml:RegistrationId> <_xml:StateProvCd>CA</_xml:StateProvCd> </_xml:Registration> <_xml:VehIdentificationNumber>1HGCR2F31GA195371</_xml:VehIdentificationNumber> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>service_level_ind</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>parking_guard</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:Coverage> <_xml:CoverageCd>GLSS</_xml:CoverageCd> <_xml:CoverageDesc>ACV</_xml:CoverageDesc> <_xml:Deductible> <_xml:FormatCurrencyAmt> <_xml:Amt>500.00</_xml:Amt> </_xml:FormatCurrencyAmt> </_xml:Deductible> <_xml:Option> <_xml:OptionCd>V</_xml:OptionCd> <_xml:OptionValue>1</_xml:OptionValue> <_xml:OptionValueDesc>COVERAGE_LIMIT_IND</_xml:OptionValueDesc> </_xml:Option> </_xml:Coverage> </_xml:PersVeh> </_xml:PersAutoLineBusiness> <_xml:RemarkText id=\"endorsementId_1\" IdRef=\"PersAutoPolicyID_1\">000</_xml:RemarkText> <_xml:PolicySummaryInfo> <_xml:PolicyStatusCd>ACTIVE</_xml:PolicyStatusCd> </_xml:PolicySummaryInfo> </_xml:PersAutoPolicy> </_xml:PolInfo> </_xml:PolicyInqRs> </_xml:InsuranceSvcRs> </_xml:ACORD> </se:policySearchResponse> </soapenv:Body> </soapenv:Envelope>'
|
||||
'0024a': '<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"> <soapenv:Body> <se:policySearchResponse xmlns:_xml=\"http://www.ACORD.org/standards/PC_Surety/ACORD1/xml/\" xmlns:se=\"http://pm.lmig.com/cl/PolicyServicesMediationModule/iAcordPolicySearch\"> <_xml:ACORD> <_xml:SignonRs> <_xml:CustId> <_xml:SPName>Safelite</_xml:SPName> <_xml:CustPermId>00005</_xml:CustPermId> </_xml:CustId> <_xml:ClientDt>2025-01-03T14:13:58Z</_xml:ClientDt> <_xml:CustLangPref>EN</_xml:CustLangPref> <_xml:ClientApp> <_xml:Org>Liberty Mutual</_xml:Org> <_xml:Name>PM CNG</_xml:Name> <_xml:Version>1.0</_xml:Version> </_xml:ClientApp> <_xml:ServerDt>2025-01-03T14:13:58Z</_xml:ServerDt> <_xml:Language>EN</_xml:Language> </_xml:SignonRs> <_xml:InsuranceSvcRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:PolicyInqRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:TransactionResponseDt>2025-01-03T14:13:58Z</_xml:TransactionResponseDt> <_xml:MsgStatus> <_xml:MsgStatusCd>Success</_xml:MsgStatusCd> </_xml:MsgStatus> <_xml:AsOfDt>2017-02-06</_xml:AsOfDt> <_xml:Requestor id=\"RequestorId_1\" /> <_xml:PartyInqInfo> <_xml:InsuredOrPrincipal id=\"InsuredOrPrincipalId_1\" /> </_xml:PartyInqInfo> <_xml:PolInfo> <_xml:PersAutoPolicy id=\"PersAutoPolicyID_1\"> <_xml:InsuredOrPrincipal> <_xml:GeneralPartyInfo> <_xml:NameInfo> <_xml:PersonName> <_xml:Surname>${lastName}</_xml:Surname> <_xml:GivenName>${firstName}</_xml:GivenName> </_xml:PersonName> </_xml:NameInfo> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> <_xml:Communications> <_xml:PhoneInfo> <_xml:PhoneTypeCd>Home</_xml:PhoneTypeCd> <_xml:PhoneNumber>${phoneNumber}</_xml:PhoneNumber> </_xml:PhoneInfo> </_xml:Communications> </_xml:GeneralPartyInfo> <_xml:InsuredOrPrincipalInfo> <_xml:InsuredOrPrincipalRoleCd>primary</_xml:InsuredOrPrincipalRoleCd> <_xml:PersonInfo> <_xml:GenderCd>M</_xml:GenderCd> </_xml:PersonInfo> </_xml:InsuredOrPrincipalInfo> </_xml:InsuredOrPrincipal> <_xml:PersPolicy> <_xml:PolicyNumber>${policyNumber}</_xml:PolicyNumber> <_xml:PolicyVersion>STD</_xml:PolicyVersion> <_xml:CompanyProductCd>liberty</_xml:CompanyProductCd> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:ControllingStateProvCd>CA</_xml:ControllingStateProvCd> <_xml:ContractTerm> <_xml:EffectiveDt>2023-11-01</_xml:EffectiveDt> <_xml:ExpirationDt>2099-11-01</_xml:ExpirationDt> </_xml:ContractTerm> <_xml:GroupId>000</_xml:GroupId> <_xml:MiscParty> <_xml:ItemIdInfo> <_xml:InsurerId>3861415357665</_xml:InsurerId> </_xml:ItemIdInfo> </_xml:MiscParty> </_xml:PersPolicy> <_xml:Location> <_xml:ItemIdInfo id=\"ItemIdInfoId_1\" /> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> </_xml:Location> <_xml:PersAutoLineBusiness> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:PersVeh> <_xml:ItemIdInfo> <_xml:InsurerId>1</_xml:InsurerId> </_xml:ItemIdInfo> <_xml:Manufacturer>HOND</_xml:Manufacturer> <_xml:Model>ACCORD</_xml:Model> <_xml:ModelYear>2016</_xml:ModelYear> <_xml:Registration> <_xml:RegistrationId>UNKNOWN</_xml:RegistrationId> <_xml:StateProvCd>CA</_xml:StateProvCd> </_xml:Registration> <_xml:VehIdentificationNumber>1HGCR2F31GA195371</_xml:VehIdentificationNumber> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>service_level_ind</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>parking_guard</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:Coverage> <_xml:CoverageCd>GLSS</_xml:CoverageCd> <_xml:CoverageDesc>ACV</_xml:CoverageDesc> <_xml:Deductible> <_xml:FormatCurrencyAmt> <_xml:Amt>500.00</_xml:Amt> </_xml:FormatCurrencyAmt> </_xml:Deductible> <_xml:Option> <_xml:OptionCd>V</_xml:OptionCd> <_xml:OptionValue>1</_xml:OptionValue> <_xml:OptionValueDesc>COVERAGE_LIMIT_IND</_xml:OptionValueDesc> </_xml:Option> </_xml:Coverage> </_xml:PersVeh> </_xml:PersAutoLineBusiness> <_xml:RemarkText id=\"endorsementId_1\" IdRef=\"PersAutoPolicyID_1\">000</_xml:RemarkText> <_xml:PolicySummaryInfo> <_xml:PolicyStatusCd>ACTIVE</_xml:PolicyStatusCd> </_xml:PolicySummaryInfo> </_xml:PersAutoPolicy> </_xml:PolInfo> </_xml:PolicyInqRs> </_xml:InsuranceSvcRs> </_xml:ACORD> </se:policySearchResponse> </soapenv:Body> </soapenv:Envelope>',
|
||||
'0025a': '<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"> <soapenv:Body> <se:policySearchResponse xmlns:_xml=\"http://www.ACORD.org/standards/PC_Surety/ACORD1/xml/\" xmlns:se=\"http://pm.lmig.com/cl/PolicyServicesMediationModule/iAcordPolicySearch\"> <_xml:ACORD> <_xml:SignonRs> <_xml:CustId> <_xml:SPName>Safelite</_xml:SPName> <_xml:CustPermId>00005</_xml:CustPermId> </_xml:CustId> <_xml:ClientDt>2025-01-03T14:13:58Z</_xml:ClientDt> <_xml:CustLangPref>EN</_xml:CustLangPref> <_xml:ClientApp> <_xml:Org>Liberty Mutual</_xml:Org> <_xml:Name>PM CNG</_xml:Name> <_xml:Version>1.0</_xml:Version> </_xml:ClientApp> <_xml:ServerDt>2025-01-03T14:13:58Z</_xml:ServerDt> <_xml:Language>EN</_xml:Language> </_xml:SignonRs> <_xml:InsuranceSvcRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:PolicyInqRs> <_xml:RqUID>cda7f1a9-6a7c-4851-8c75-9eba3f721e26</_xml:RqUID> <_xml:TransactionResponseDt>2025-01-03T14:13:58Z</_xml:TransactionResponseDt> <_xml:MsgStatus> <_xml:MsgStatusCd>Success</_xml:MsgStatusCd> </_xml:MsgStatus> <_xml:AsOfDt>2017-02-06</_xml:AsOfDt> <_xml:Requestor id=\"RequestorId_1\" /> <_xml:PartyInqInfo> <_xml:InsuredOrPrincipal id=\"InsuredOrPrincipalId_1\" /> </_xml:PartyInqInfo> <_xml:PolInfo> <_xml:PersAutoPolicy id=\"PersAutoPolicyID_1\"> <_xml:InsuredOrPrincipal> <_xml:GeneralPartyInfo> <_xml:NameInfo> <_xml:PersonName> <_xml:Surname>${lastName}</_xml:Surname> <_xml:GivenName>${firstName}</_xml:GivenName> </_xml:PersonName> </_xml:NameInfo> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> <_xml:Communications> <_xml:PhoneInfo> <_xml:PhoneTypeCd>Home</_xml:PhoneTypeCd> <_xml:PhoneNumber>${phoneNumber}</_xml:PhoneNumber> </_xml:PhoneInfo> </_xml:Communications> </_xml:GeneralPartyInfo> <_xml:InsuredOrPrincipalInfo> <_xml:InsuredOrPrincipalRoleCd>primary</_xml:InsuredOrPrincipalRoleCd> <_xml:PersonInfo> <_xml:GenderCd>M</_xml:GenderCd> </_xml:PersonInfo> </_xml:InsuredOrPrincipalInfo> </_xml:InsuredOrPrincipal> <_xml:PersPolicy> <_xml:PolicyNumber>${policyNumber}</_xml:PolicyNumber> <_xml:PolicyVersion>STD</_xml:PolicyVersion> <_xml:CompanyProductCd>liberty</_xml:CompanyProductCd> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:ControllingStateProvCd>CA</_xml:ControllingStateProvCd> <_xml:ContractTerm> <_xml:EffectiveDt>2023-11-01</_xml:EffectiveDt> <_xml:ExpirationDt>2099-11-01</_xml:ExpirationDt> </_xml:ContractTerm> <_xml:GroupId>000</_xml:GroupId> <_xml:MiscParty> <_xml:ItemIdInfo> <_xml:InsurerId>3861415357665</_xml:InsurerId> </_xml:ItemIdInfo> </_xml:MiscParty> </_xml:PersPolicy> <_xml:Location> <_xml:ItemIdInfo id=\"ItemIdInfoId_1\" /> <_xml:Addr> <_xml:Addr1>${streetAddress}</_xml:Addr1> <_xml:City>${city}</_xml:City> <_xml:StateProvCd>${state}</_xml:StateProvCd> <_xml:PostalCode>${postalCode}</_xml:PostalCode> <_xml:Country>US</_xml:Country> </_xml:Addr> </_xml:Location> <_xml:PersAutoLineBusiness> <_xml:LOBCd>AUTOP</_xml:LOBCd> <_xml:PersVeh> <_xml:ItemIdInfo> <_xml:InsurerId>1</_xml:InsurerId> </_xml:ItemIdInfo> <_xml:Manufacturer>HOND</_xml:Manufacturer> <_xml:Model>ACCORD</_xml:Model> <_xml:ModelYear>2016</_xml:ModelYear> <_xml:Registration> <_xml:RegistrationId>UNKNOWN</_xml:RegistrationId> <_xml:StateProvCd>CA</_xml:StateProvCd> </_xml:Registration> <_xml:VehIdentificationNumber>1HGCR2F31GA195371</_xml:VehIdentificationNumber> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>service_level_ind</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:VehRateGroupInfo> <_xml:RateGroup>000</_xml:RateGroup> <_xml:CoverageCd>parking_guard</_xml:CoverageCd> </_xml:VehRateGroupInfo> <_xml:Coverage> <_xml:CoverageCd>GLSS</_xml:CoverageCd> <_xml:CoverageDesc>ACV</_xml:CoverageDesc> <_xml:Deductible> <_xml:FormatCurrencyAmt> <_xml:Amt>500.00</_xml:Amt> </_xml:FormatCurrencyAmt> </_xml:Deductible> <_xml:Option> <_xml:OptionCd>V</_xml:OptionCd> <_xml:OptionValue>1</_xml:OptionValue> <_xml:OptionValueDesc>COVERAGE_LIMIT_IND</_xml:OptionValueDesc> </_xml:Option> </_xml:Coverage> </_xml:PersVeh> </_xml:PersAutoLineBusiness> <_xml:RemarkText id=\"endorsementId_1\" IdRef=\"PersAutoPolicyID_1\">000</_xml:RemarkText> <_xml:PolicySummaryInfo> <_xml:PolicyStatusCd>ACTIVE</_xml:PolicyStatusCd> </_xml:PolicySummaryInfo> </_xml:PersAutoPolicy> </_xml:PolInfo> </_xml:PolicyInqRs> </_xml:InsuranceSvcRs> </_xml:ACORD> </se:policySearchResponse> </soapenv:Body> </soapenv:Envelope>'
|
||||
}
|
||||
|
||||
const claimRegistrationValue = "{\"claimNumber\":\"058913992\",\"reportedDate\":\"2023-11-01T18:56:08.264Z\",\"howReported\":\"digital\",\"status\":\"registered\",\"lossCategory\":\"glassOnly\",\"lossCause\":\"glassOnly\",\"lossCauseDetail\":null,\"lossDate\":\"2023-11-01\",\"lossTime\":\"00:00\",\"lossDescription\":\"ROCK FROM ROAD - NO ONE AT FAULT\",\"lossLocation\":{\"primary\":true,\"line1\":null,\"line2\":null,\"city\":\"Columbus\",\"county\":null,\"state\":\"OR\",\"postalCode\":\"\",\"country\":\"US\",\"type\":null,\"locationName\":null,\"subType\":null},\"_links\":{\"reporter\":{\"id\":\"65429f485e8cd37072a5bb5d\",\"href\":\"claims/058913992/contacts/65429f485e8cd37072a5bb5d\",\"title\":\"BRANDON JOHNSON\"},\"primaryContact\":null,\"insureds\":[{\"id\":\"65429f485e8cd37072a5bb5d\",\"href\":\"claims/058913992/contacts/65429f485e8cd37072a5bb5d\",\"title\":\"BRANDON JOHNSON\"}],\"pedestrianCyclists\":[],\"contacts\":{\"id\":null,\"href\":\"claims/058913992/contacts\"},\"claimDamage\":{\"id\":null,\"href\":\"claims/058913992/claim-damage\"},\"vehicleIncidents\":[{\"id\":\"65429f4b31209b23b788c38e\",\"href\":\"claims/058913992/vehicle-incidents/65429f4b31209b23b788c38e\",\"vehicle\":\"BMW740\"}],\"propertyIncidents\":{\"dwelling\":null,\"otherStructure\":null,\"personalProperty\":null,\"livingExpense\":null},\"injuryIncidents\":[]}}";
|
||||
|
|
|
|||
|
|
@ -30,9 +30,10 @@ export interface IVehicleDetails {
|
|||
make: string,
|
||||
model: string,
|
||||
style?: string,
|
||||
vin?: string|string[],
|
||||
licensePlateNumber?: string|string[],
|
||||
licensePlateState?: string|string[],
|
||||
vin?: string | string[],
|
||||
address?: string | IAddress[],
|
||||
licensePlateNumber?: string | string[],
|
||||
licensePlateState?: string | string[],
|
||||
vehicleLookupType?: VehicleLookupType,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,5 +3,6 @@ export interface IAddress {
|
|||
city: string,
|
||||
state: string,
|
||||
postalCode: string,
|
||||
country: string
|
||||
country?: string,
|
||||
lastName?: string
|
||||
}
|
||||
|
|
@ -10,6 +10,7 @@ export interface ITestData {
|
|||
isPolicyFound: boolean, // Effective difference between advanced and essential
|
||||
isUseVehicleOnPolicy: boolean, // Should we use the vehicle on the policy?
|
||||
isVehicleLookupValidations: boolean, // Should we validate vehicle lookup?
|
||||
isAddressLookupValidations: boolean, // Should we validate address lookup errors?
|
||||
isVehicleSelectBailout: boolean, // Should we bailout on vehicle lookup?
|
||||
isNoComp: boolean, // Is this a NoComp policy?
|
||||
isItac: boolean, // Is this an ITAC scenario?
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import { AddressLookupPage } from "../../pages/addresslookuppage";
|
||||
import { BailoutPage } from "../../pages/BailoutPage";
|
||||
import CapabilityQuestionsPage from "../../pages/CapabilityQuestionsPage";
|
||||
import { ContactConfirmationPage } from "../../pages/ContactConfirmationPage";
|
||||
|
|
@ -59,5 +60,6 @@ export default interface ITestPages {
|
|||
vehicleLookupAddressPage: VehicleLookupAddressPage,
|
||||
vehicleLookupLicensePage: VehicleLookupLicensePage,
|
||||
welcomePage: WelcomePage,
|
||||
moldingQuestionsPage: MoldingQuestionsPage
|
||||
moldingQuestionsPage: MoldingQuestionsPage,
|
||||
addressLookupPage: AddressLookupPage,
|
||||
}
|
||||
|
|
@ -44,6 +44,7 @@ import MockPolicyData from "@business-logic/data/MockPolicyData";
|
|||
import VehiclePartQuestionsPage from "../../pages/VehiclePartsPage";
|
||||
import CapabilityQuestionsPage from "../../pages/CapabilityQuestionsPage";
|
||||
import { MoldingQuestionsPage } from "../../pages/MoldingQuestionsPage";
|
||||
import { AddressLookupPage } from "../../pages/addresslookuppage";
|
||||
|
||||
export default class TestCase extends DisposableBase implements ITestCase {
|
||||
public static FrameworkConfig: FrameworkConfig = {
|
||||
|
|
@ -205,7 +206,8 @@ export default class TestCase extends DisposableBase implements ITestCase {
|
|||
vehicleLookupAddressPage: new VehicleLookupAddressPage(page),
|
||||
vehicleLookupLicensePage: new VehicleLookupLicensePage(page),
|
||||
welcomePage: new WelcomePage(page),
|
||||
moldingQuestionsPage: new MoldingQuestionsPage(page)
|
||||
moldingQuestionsPage: new MoldingQuestionsPage(page),
|
||||
addressLookupPage: new AddressLookupPage(page)
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
84
playwright-tests/pages/Addresslookuppage.ts
Normal file
84
playwright-tests/pages/Addresslookuppage.ts
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
import { expect, type Locator, type Page } from '@playwright/test';
|
||||
import { BasePage } from './BasePage';
|
||||
import { IAddress } from '@business-logic/types/IAddress';
|
||||
|
||||
export class AddressLookupPage extends BasePage {
|
||||
readonly page: Page;
|
||||
readonly streetAddressTextBox: Locator;
|
||||
readonly cityTextBox: Locator;
|
||||
readonly stateDropdown: Locator;
|
||||
readonly zipTextBox: Locator;
|
||||
readonly lastNameTextBox: Locator;
|
||||
readonly addressNoMatchTextBox: Locator;
|
||||
readonly stateRestrictionsTextBox: Locator;
|
||||
url = process.env['baseurl']! + '/?issPage=address-lookup';
|
||||
|
||||
constructor(page: Page) {
|
||||
super(page);
|
||||
this.page = page;
|
||||
this.streetAddressTextBox = page.getByRole('textbox', { name: 'Street address' })
|
||||
this.cityTextBox = page.getByRole('textbox', { name: 'City' })
|
||||
this.stateDropdown = page.getByRole('combobox')
|
||||
this.zipTextBox = page.getByRole('textbox', { name: 'ZIP code' })
|
||||
this.lastNameTextBox = page.getByRole('textbox', { name: 'Last name' })
|
||||
this.addressNoMatchTextBox = page.getByText('Your address didn’t return a VIN matchPlease re-enter the information below or');
|
||||
this.stateRestrictionsTextBox = page.getByText('State restrictionsLooks like');
|
||||
}
|
||||
|
||||
async enterAddress(street, city, state, zip, lastName) {
|
||||
this.streetAddressTextBox.clear();
|
||||
this.page.waitForTimeout(250);
|
||||
this.streetAddressTextBox.fill(street);
|
||||
this.cityTextBox.clear();
|
||||
this.page.waitForTimeout(250);
|
||||
this.cityTextBox.fill(city);
|
||||
this.stateDropdown.selectOption(state);
|
||||
this.zipTextBox.clear();
|
||||
this.page.waitForTimeout(250);
|
||||
this.zipTextBox.fill(zip);
|
||||
this.lastNameTextBox.clear();
|
||||
this.page.waitForTimeout(250);
|
||||
this.lastNameTextBox.fill(lastName);
|
||||
this.page.waitForTimeout(250);
|
||||
|
||||
}
|
||||
async forceAddressFormToAppear() {
|
||||
await expect(async () => {
|
||||
await this.streetAddressTextBox.click();
|
||||
await this.streetAddressTextBox.pressSequentially('7400 Safelite Way');
|
||||
await this.streetAddressTextBox.press('Tab');
|
||||
await expect(this.zipTextBox).toBeVisible({ timeout: 100 });
|
||||
}).toPass();
|
||||
}
|
||||
async populateAddress(fullAdddress: IAddress) {
|
||||
|
||||
if (fullAdddress.street) {
|
||||
// Force address form to appear
|
||||
await this.forceAddressFormToAppear();
|
||||
|
||||
// Fill address
|
||||
await this.fillAndValidate(this.streetAddressTextBox, fullAdddress.street);
|
||||
await this.fillAndValidate(this.zipTextBox, fullAdddress.postalCode)
|
||||
await this.fillAndValidate(this.cityTextBox, fullAdddress.city);
|
||||
await this.stateDropdown.selectOption(fullAdddress.state);
|
||||
}
|
||||
|
||||
if (fullAdddress.lastName) {
|
||||
await this.fillAndValidate(this.lastNameTextBox, fullAdddress.lastName!);
|
||||
}
|
||||
// if (fullAdddress.firstName!) {
|
||||
// await this.fillAndValidate(this.firstNameTextBox, fullAdddress.firstName);
|
||||
// }
|
||||
}
|
||||
|
||||
async validateAddressLookupAlerts(addressSet: IAddress[]) {
|
||||
await this.populateAddress(addressSet[0]);
|
||||
await this.continueButton.click();
|
||||
await expect(this.addressNoMatchTextBox).toBeVisible();
|
||||
await this.populateAddress(addressSet[1]);
|
||||
await this.continueButton.click();
|
||||
await expect(this.stateRestrictionsTextBox).toBeVisible();
|
||||
await this.populateAddress(addressSet[2]);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -58,7 +58,7 @@ export default defineConfig({
|
|||
['junit'],
|
||||
['list']
|
||||
],
|
||||
timeout: 120_000,
|
||||
timeout: 180_000,
|
||||
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
|
||||
use: {
|
||||
/* Base URL to use in actions like `await page.goto('/')`. */
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ import advancedScenario0022TestCases from "./advanced/0022a_VehicleByVIN";
|
|||
import advancedScenario0023TestCases from "./advanced/0023a_VehicleByVINPartsQns";
|
||||
import { createAccessibilityHtmlReport } from "@impl/utils/ReportUtils";
|
||||
import advancedScenario0024TestCases from "./advanced/0024a_VehicleByVINUnverifiedBailout";
|
||||
import advancedScenario0025TestCases from "./advanced/0025a_VehicleByVINUnverifiedBailout";
|
||||
|
||||
|
||||
|
||||
|
|
@ -283,6 +284,11 @@ test.describe.parallel('ISS QA Automation Regression', () => {
|
|||
for (const testCase of advancedScenario0024TestCases) {
|
||||
test(...prepareTest(testCase, run, options, ruleEngine));
|
||||
}
|
||||
|
||||
// Scenario 0025a
|
||||
for (const testCase of advancedScenario0025TestCases) {
|
||||
test(...prepareTest(testCase, run, options, ruleEngine));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
|
@ -327,7 +333,7 @@ async function runWorkflow(page: Page, testCase: TestCase) {
|
|||
appointmentDetails, isSafelite, endorsements,
|
||||
partQuestions, paymentDetails, isNoComp, isItac, isRecalNotification,
|
||||
isRecalWarning, servicePackage, hasStateLawPopup, otherVehiclesOnPolicy,
|
||||
isSeparateApptsWarning, vehiclePartQuestions, editVehicleDetails,
|
||||
isSeparateApptsWarning, vehiclePartQuestions, editVehicleDetails, isAddressLookupValidations,
|
||||
hasMilitaryWarning, capabilityQuestions, isUseVehicleOnPolicy, isVehicleLookupValidations, isMoldingQuestion } = testCase.testData;
|
||||
|
||||
let { isPolicyFound } = testCase.testData; // Allow isPolicyFound to be re-assigned
|
||||
|
|
@ -340,7 +346,7 @@ async function runWorkflow(page: Page, testCase: TestCase) {
|
|||
endorsementsPage, vehicleLookupPage, partQuestionsPage, paymentMethodPage,
|
||||
vehicleLookupAddressPage, vehicleLookupLicensePage, vinLookupPage,
|
||||
bailoutPage, tpaSearchPage, tpaSubmitPage, tpaConfirmationPage,
|
||||
vehiclePartQuestionsPage, capabilityQuestionsPage, moldingQuestionsPage } = testCase.pages;
|
||||
vehiclePartQuestionsPage, capabilityQuestionsPage, moldingQuestionsPage, addressLookupPage } = testCase.pages;
|
||||
|
||||
// Destructure bailout flags
|
||||
const { isVehicleSelectBailout, isDoNotSeeMyShopBailout, isTpaNotEnabledBailout,
|
||||
|
|
@ -489,6 +495,7 @@ async function runWorkflow(page: Page, testCase: TestCase) {
|
|||
});
|
||||
|
||||
|
||||
|
||||
if (testCase.testData.isVehicleSelectBailout) {
|
||||
await test.step('Lookup vehicle >> By VIN-' + vehicleDetails!.vin!, async () => {
|
||||
await vinLookupPage.enterVin(vehicleDetails!.vin!);
|
||||
|
|
@ -504,33 +511,44 @@ async function runWorkflow(page: Page, testCase: TestCase) {
|
|||
|
||||
return;
|
||||
}
|
||||
switch (vehicleDetails!.vehicleLookupType!) {
|
||||
case VehicleLookupType.Address:
|
||||
await test.step('VehicleLookupAddressPage >> Lookup by address: ' + customerDetails!.address.street, async () => {
|
||||
await vehicleLookupAddressPage.lookupVehicleByAddress(customerDetails!, vehicleDetails!);
|
||||
await vehicleLookupAddressPage.nextPage();
|
||||
});
|
||||
break;
|
||||
case VehicleLookupType.LicensePlateNumber:
|
||||
if (isVehicleLookupValidations) {
|
||||
await test.step('VehicleLookupLicensePage >> Lookup by license plate: ' + vehicleDetails!.licensePlateNumber, async () => {
|
||||
await vehicleLookupLicensePage.enterPlateDetails(vehicleDetails!, isVehicleLookupValidations);
|
||||
await vehicleLookupLicensePage.nextPage();
|
||||
});
|
||||
|
||||
} else {
|
||||
await test.step('VehicleLookupLicensePage >> Lookup by license plate: ' + vehicleDetails!.licensePlateNumber, async () => {
|
||||
await vehicleLookupLicensePage.enterPlateDetails(vehicleDetails!);
|
||||
await vehicleLookupLicensePage.nextPage();
|
||||
});
|
||||
if (isAddressLookupValidations) {
|
||||
await test.step('Address Lookup validations >> Vehicle Lookup by address: ' + customerDetails!.address.street, async () => {
|
||||
if (Array.isArray(vehicleDetails?.address)) {
|
||||
await addressLookupPage.validateAddressLookupAlerts(vehicleDetails?.address);
|
||||
await addressLookupPage.nextPage();
|
||||
}
|
||||
break;
|
||||
case VehicleLookupType.Vin:
|
||||
await test.step('VinLookupPage >> Lookup by VIN: ' + vehicleDetails!.vin!, async () => {
|
||||
await vinLookupPage.enterVin(vehicleDetails!.vin!, isVehicleLookupValidations);
|
||||
await vinLookupPage.nextPage();
|
||||
});
|
||||
break;
|
||||
});
|
||||
} else {
|
||||
|
||||
switch (vehicleDetails!.vehicleLookupType!) {
|
||||
case VehicleLookupType.Address:
|
||||
await test.step('VehicleLookupAddressPage >> Lookup by address: ' + customerDetails!.address.street, async () => {
|
||||
await vehicleLookupAddressPage.lookupVehicleByAddress(customerDetails!, vehicleDetails!);
|
||||
await vehicleLookupAddressPage.nextPage();
|
||||
});
|
||||
break;
|
||||
case VehicleLookupType.LicensePlateNumber:
|
||||
if (isVehicleLookupValidations) {
|
||||
await test.step('VehicleLookupLicensePage >> Lookup by license plate: ' + vehicleDetails!.licensePlateNumber, async () => {
|
||||
await vehicleLookupLicensePage.enterPlateDetails(vehicleDetails!, isVehicleLookupValidations);
|
||||
await vehicleLookupLicensePage.nextPage();
|
||||
});
|
||||
|
||||
} else {
|
||||
await test.step('VehicleLookupLicensePage >> Lookup by license plate: ' + vehicleDetails!.licensePlateNumber, async () => {
|
||||
await vehicleLookupLicensePage.enterPlateDetails(vehicleDetails!);
|
||||
await vehicleLookupLicensePage.nextPage();
|
||||
});
|
||||
}
|
||||
break;
|
||||
case VehicleLookupType.Vin:
|
||||
await test.step('VinLookupPage >> Lookup by VIN: ' + vehicleDetails!.vin!, async () => {
|
||||
await vinLookupPage.enterVin(vehicleDetails!.vin!, isVehicleLookupValidations);
|
||||
await vinLookupPage.nextPage();
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isMoldingQuestion) {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import ClientData from "@business-logic/data/ClientData";
|
|||
import TestCase from "@business-logic/types/TestCase";
|
||||
import { DamageType, PartQuestionType, PaymentType, ServiceLocation, ServicePackage, VehicleDamage, VehicleLookupType } from "@business-logic/types/Enums";
|
||||
import { ITestData } from "@business-logic/types/ITestData"
|
||||
import { faker } from "@faker-js/faker";
|
||||
import { faker, tr } from "@faker-js/faker";
|
||||
import { getNextWeekday } from "@impl/utils/DateUtils";
|
||||
import MockPolicyData from "@business-logic/data/MockPolicyData";
|
||||
import { ICustomerDetails } from "@business-logic/types/CustomerDetails";
|
||||
|
|
@ -35,8 +35,9 @@ const advancedScenario0024Data: Partial<ITestData> = {
|
|||
endorsements: undefined,
|
||||
isUseVehicleOnPolicy: false,
|
||||
isVehicleLookupValidations: false,
|
||||
isVehicleSelectBailout: true,
|
||||
isMoldingQuestion: true,
|
||||
isVehicleSelectBailout: false,
|
||||
isAddressLookupValidations: true,
|
||||
isMoldingQuestion: false,
|
||||
isSafelite: true,
|
||||
servicePackage: faker.helpers.enumValue(ServicePackage),
|
||||
customerDetails: customerDetails,
|
||||
|
|
@ -49,11 +50,15 @@ const advancedScenario0024Data: Partial<ITestData> = {
|
|||
policySoap: policySoap,
|
||||
vehicleDetails: {
|
||||
year: '2015',
|
||||
make: 'Honda',
|
||||
model: 'Accord',
|
||||
style: '4 door sedan',
|
||||
vehicleLookupType: VehicleLookupType.Vin,
|
||||
vin: '0HGCR2E30FA099831',
|
||||
make: 'Ford',
|
||||
model: 'F Series F150',
|
||||
style: '2 door super cab',
|
||||
vehicleLookupType: VehicleLookupType.Address,
|
||||
address: [
|
||||
{ street: '9 Test Street', city: 'Columbus', state: 'OH', postalCode: '43220', lastName: 'Test' },
|
||||
{ street: '8621 GREENLEAF AVE', city: 'Whittier', state: 'California', postalCode: '90602', lastName: 'Johnson' },
|
||||
{ street: '10212 JEWEL CT', city: 'Conroe', state: 'Texas', postalCode: '77385', lastName: 'Reed' }
|
||||
],
|
||||
},
|
||||
vehicleDamage: [
|
||||
VehicleDamage.WindshieldCrack,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
import ClientData from "@business-logic/data/ClientData";
|
||||
import TestCase from "@business-logic/types/TestCase";
|
||||
import { DamageType, PartQuestionType, PaymentType, ServiceLocation, ServicePackage, VehicleDamage, VehicleLookupType } from "@business-logic/types/Enums";
|
||||
import { ITestData } from "@business-logic/types/ITestData"
|
||||
import { faker } from "@faker-js/faker";
|
||||
import { getNextWeekday } from "@impl/utils/DateUtils";
|
||||
import MockPolicyData from "@business-logic/data/MockPolicyData";
|
||||
import { ICustomerDetails } from "@business-logic/types/CustomerDetails";
|
||||
|
||||
const nextWeekday = getNextWeekday();
|
||||
const customerDetails: ICustomerDetails = {
|
||||
firstName: faker.person.firstName(),
|
||||
lastName: faker.person.lastName(),
|
||||
email: 'itqatest@safelite.com',
|
||||
phoneNumber: '614-531-0031',
|
||||
notes: 'Automated Test',
|
||||
address: {
|
||||
street: faker.location.streetAddress(),
|
||||
city: 'Columbus',
|
||||
state: 'OH',
|
||||
postalCode: '43220',
|
||||
country: 'United States'
|
||||
}
|
||||
}
|
||||
|
||||
const policyNumber = `~AutomatedScenario0025a${faker.string.uuid().substring(0, 6)}`;
|
||||
const policySoap = MockPolicyData.getPolicySoapByScenario('0025a', customerDetails, policyNumber);
|
||||
|
||||
const advancedScenario0025Data: Partial<ITestData> = {
|
||||
clientTag: '',
|
||||
isDuplicateClaim: false,
|
||||
isPolicyFound: false,
|
||||
isNoComp: false,
|
||||
hasStateLawPopup: false,
|
||||
endorsements: undefined,
|
||||
isUseVehicleOnPolicy: false,
|
||||
isVehicleLookupValidations: false,
|
||||
isVehicleSelectBailout: true,
|
||||
isMoldingQuestion: true,
|
||||
isSafelite: true,
|
||||
servicePackage: faker.helpers.enumValue(ServicePackage),
|
||||
customerDetails: customerDetails,
|
||||
claimDetails: {
|
||||
policyNumber: policyNumber,
|
||||
policyDeductible: 0.00,
|
||||
damageDate: '2017-06-02',
|
||||
damageCause: DamageType.Vandalism
|
||||
},
|
||||
policySoap: policySoap,
|
||||
vehicleDetails: {
|
||||
year: '2015',
|
||||
make: 'Honda',
|
||||
model: 'Accord',
|
||||
style: '4 door sedan',
|
||||
vehicleLookupType: VehicleLookupType.Vin,
|
||||
vin: '0HGCR2E30FA099831',
|
||||
},
|
||||
vehicleDamage: [
|
||||
VehicleDamage.WindshieldCrack,
|
||||
],
|
||||
appointmentDetails: {
|
||||
serviceLocation: ServiceLocation.InShop,
|
||||
shopAddress: undefined,
|
||||
appointmentDate: nextWeekday
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
// TODO: Add validation for deductible/covered amount
|
||||
const advancedClients = ClientData.getAdvancedClients();
|
||||
const advancedScenario0025TestCases: TestCase[] = [];
|
||||
for (const client of advancedClients) {
|
||||
const data = { ...advancedScenario0025Data };
|
||||
data.clientTag = client.clientTag;
|
||||
const tc = new TestCase({
|
||||
name: `0025a Advanced client Unlisted Vehicle Bailout: "${client.accountName}"`,
|
||||
tags: [`@${client.clientTag}`, `@${client.accountName}`, '@Advanced'],
|
||||
testData: data
|
||||
}, undefined, '00255a');
|
||||
advancedScenario0025TestCases.push(tc);
|
||||
}
|
||||
|
||||
export default advancedScenario0025TestCases;
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
"estimatedServiceMinutesMaximum": 120,
|
||||
"days": [
|
||||
{
|
||||
"date": "2025-02-22",
|
||||
"date": "2025-03-01",
|
||||
"timeSlots": [
|
||||
{
|
||||
"id": "01813-01813-S-B*20873*ALL DAY DROP OFF",
|
||||
|
|
@ -14,7 +14,40 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"date": "2025-02-24",
|
||||
"date": "2025-03-02",
|
||||
"timeSlots": [
|
||||
{
|
||||
"id": "01813-01813-S-B*20873*ALL DAY DROP OFF",
|
||||
"startTime": "07:30",
|
||||
"endTime": "17:00",
|
||||
"offerPremium": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"date": "2025-03-03",
|
||||
"timeSlots": [
|
||||
{
|
||||
"id": "01813-01813-S-B*20873*ALL DAY DROP OFF",
|
||||
"startTime": "07:30",
|
||||
"endTime": "17:00",
|
||||
"offerPremium": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"date": "2025-03-04",
|
||||
"timeSlots": [
|
||||
{
|
||||
"id": "01813-01813-S-B*20873*ALL DAY DROP OFF",
|
||||
"startTime": "07:30",
|
||||
"endTime": "17:00",
|
||||
"offerPremium": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"date": "2025-03-24",
|
||||
"timeSlots": [
|
||||
{
|
||||
"id": "01813-01813-S-B*20875*ALL DAY DROP OFF",
|
||||
|
|
@ -25,7 +58,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"date": "2025-02-25",
|
||||
"date": "2025-03-25",
|
||||
"timeSlots": [
|
||||
{
|
||||
"id": "01813-01813-S-B*20876*ALL DAY DROP OFF",
|
||||
|
|
@ -36,7 +69,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"date": "2025-02-26",
|
||||
"date": "2025-03-26",
|
||||
"timeSlots": [
|
||||
{
|
||||
"id": "01813-01813-S-B*20877*ALL DAY DROP OFF",
|
||||
|
|
@ -47,7 +80,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"date": "2025-02-27",
|
||||
"date": "2025-03-27",
|
||||
"timeSlots": [
|
||||
{
|
||||
"id": "01813-01813-S-B*20878*ALL DAY DROP OFF",
|
||||
|
|
@ -58,7 +91,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"date": "2025-02-28",
|
||||
"date": "2025-03-28",
|
||||
"timeSlots": [
|
||||
{
|
||||
"id": "01813-01813-S-B*20879*ALL DAY DROP OFF",
|
||||
|
|
@ -69,7 +102,7 @@
|
|||
]
|
||||
},
|
||||
{
|
||||
"date": "2025-03-01",
|
||||
"date": "2025-04-01",
|
||||
"timeSlots": [
|
||||
{
|
||||
"id": "01813-01813-S-B*20880*ALL DAY DROP OFF",
|
||||
|
|
|
|||
Loading…
Reference in a new issue