From 699231fd92b73883a618644b84aef9effb272aca Mon Sep 17 00:00:00 2001 From: d11n Date: Wed, 9 Feb 2022 15:37:15 +0100 Subject: [PATCH] Fix payment request archival actions (#3443) --- BTCPayServer.Tests/SeleniumTests.cs | 19 ++++++++++++++++--- .../Controllers/UIPaymentRequestController.cs | 6 +++--- .../EditPaymentRequest.cshtml | 10 +++++----- .../GetPaymentRequests.cshtml | 14 +++++++------- 4 files changed, 31 insertions(+), 18 deletions(-) diff --git a/BTCPayServer.Tests/SeleniumTests.cs b/BTCPayServer.Tests/SeleniumTests.cs index 59155a835..b8c657fc7 100644 --- a/BTCPayServer.Tests/SeleniumTests.cs +++ b/BTCPayServer.Tests/SeleniumTests.cs @@ -705,9 +705,7 @@ namespace BTCPayServer.Tests s.Driver.FindElement(By.Id("Amount")).SendKeys("700"); s.Driver.FindElement(By.Id("Currency")).SendKeys("BTC"); s.Driver.FindElement(By.Id("SaveButton")).Click(); - var aaa = s.Driver.PageSource; - var url = s.Driver.Url; - s.Driver.FindElement(By.Id("ViewAppButton")).Click(); + s.Driver.FindElement(By.Id("ViewPaymentRequest")).Click(); s.Driver.SwitchTo().Window(s.Driver.WindowHandles.Last()); Assert.Equal("Amount due", s.Driver.FindElement(By.CssSelector("[data-test='amount-due-title']")).Text); Assert.Equal("Pay Invoice", @@ -730,6 +728,21 @@ namespace BTCPayServer.Tests s.Driver.AssertElementNotFound(By.CssSelector("[data-test='status']")); Assert.Equal("Pay Invoice", s.Driver.FindElement(By.CssSelector("[data-test='pay-button']")).Text.Trim()); + s.Driver.SwitchTo().Window(s.Driver.WindowHandles.First()); + + // archive (from details page) + var payReqId = s.Driver.Url.Split('/').Last(); + s.Driver.FindElement(By.Id("ArchivePaymentRequest")).Click(); + Assert.Contains("The payment request has been archived", s.FindAlertMessage().Text); + Assert.DoesNotContain("Pay123", s.Driver.PageSource); + s.Driver.FindElement(By.Id("SearchDropdownToggle")).Click(); + s.Driver.FindElement(By.Id("SearchIncludeArchived")).Click(); + Assert.Contains("Pay123", s.Driver.PageSource); + + // unarchive (from list) + s.Driver.FindElement(By.Id($"ToggleArchival-{payReqId}")).Click(); + Assert.Contains("The payment request has been unarchived", s.FindAlertMessage().Text); + Assert.Contains("Pay123", s.Driver.PageSource); } [Fact(Timeout = TestTimeout)] diff --git a/BTCPayServer/Controllers/UIPaymentRequestController.cs b/BTCPayServer/Controllers/UIPaymentRequestController.cs index 8e681e6d2..18fa87c63 100644 --- a/BTCPayServer/Controllers/UIPaymentRequestController.cs +++ b/BTCPayServer/Controllers/UIPaymentRequestController.cs @@ -336,9 +336,9 @@ namespace BTCPayServer.Controllers model.Archived = !model.Archived; await EditPaymentRequest(payReqId, model); TempData[WellKnownTempData.SuccessMessage] = model.Archived - ? "The payment request has been archived and will no longer appear in the payment request list by default again." - : "The payment request has been unarchived and will appear in the payment request list by default."; - return RedirectToAction("GetPaymentRequests"); + ? "The payment request has been archived and will no longer appear in the payment request list by default again." + : "The payment request has been unarchived and will appear in the payment request list by default."; + return RedirectToAction("GetPaymentRequests", new { storeId = store.Id }); } return NotFound(); diff --git a/BTCPayServer/Views/UIPaymentRequest/EditPaymentRequest.cshtml b/BTCPayServer/Views/UIPaymentRequest/EditPaymentRequest.cshtml index faf173910..1bb4eb06c 100644 --- a/BTCPayServer/Views/UIPaymentRequest/EditPaymentRequest.cshtml +++ b/BTCPayServer/Views/UIPaymentRequest/EditPaymentRequest.cshtml @@ -111,26 +111,26 @@ -
+
@if (!string.IsNullOrEmpty(Model.Id)) { - View + View Invoices - Clone + Clone @if (!Model.Archived) { - Archive + Archive } else { - Unarchive + Unarchive } }
diff --git a/BTCPayServer/Views/UIPaymentRequest/GetPaymentRequests.cshtml b/BTCPayServer/Views/UIPaymentRequest/GetPaymentRequests.cshtml index 9989741e0..29a79ee97 100644 --- a/BTCPayServer/Views/UIPaymentRequest/GetPaymentRequests.cshtml +++ b/BTCPayServer/Views/UIPaymentRequest/GetPaymentRequests.cshtml @@ -32,13 +32,13 @@ - - @@ -69,7 +69,7 @@ @item.Amount @item.Currency @item.Status - Edit + Edit - View - @@ -77,9 +77,9 @@ - Pay - - Clone + Clone - - @(item.Archived ? "Unarchive" : "Archive") + @(item.Archived ? "Unarchive" : "Archive") }