From afffcee981d4ff5555806b36c2683635cbddbbc6 Mon Sep 17 00:00:00 2001 From: Guillaume Risbourg Date: Tue, 19 May 2020 15:26:24 +0200 Subject: [PATCH] [lcl] Handle new recipient error after sms otp After validating the sms to confirm the new recipient, the website can display an error. Closes: 64209@sibi --- modules/lcl/browser.py | 8 +++++++- modules/lcl/pages.py | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/lcl/browser.py b/modules/lcl/browser.py index 4a45864b0f..0a2d8577c2 100644 --- a/modules/lcl/browser.py +++ b/modules/lcl/browser.py @@ -593,7 +593,13 @@ def get_investment(self, account): def send_code(self, recipient, **params): self.location('/outil/UWAF/Otp/validationCodeOtp?codeOtp=%s' % params['code']) self.page.check_error(otp_sent=True) - self.recip_recap.go().check_values(recipient.iban, recipient.label) + + self.recip_recap.go() + error = self.page.get_error() + if error: + raise AddRecipientBankError(message=error) + + self.page.check_values(recipient.iban, recipient.label) return self.get_recipient_object(recipient.iban, recipient.label) @need_login diff --git a/modules/lcl/pages.py b/modules/lcl/pages.py index 254167324a..68db30f2c9 100644 --- a/modules/lcl/pages.py +++ b/modules/lcl/pages.py @@ -1403,6 +1403,9 @@ def validate(self, iban, label): class CheckValuesPage(LoggedPage, HTMLPage): + def get_error(self): + return CleanText('//div[@id="attTxt"]/p')(self.doc) + def check_values(self, iban, label): # This method is also used in `RecipConfirmPage`. # In `CheckValuesPage`, xpath can be like `//strong[@id="iban"]` -- GitLab