diff --git a/app/code/Magento/Theme/Block/Html/Pager.php b/app/code/Magento/Theme/Block/Html/Pager.php
index d26c383241f66..5798b94e31a70 100644
--- a/app/code/Magento/Theme/Block/Html/Pager.php
+++ b/app/code/Magento/Theme/Block/Html/Pager.php
@@ -450,7 +450,11 @@ public function getLastPageUrl()
*/
public function getPageUrl($page)
{
- return $this->getPagerUrl([$this->getPageVarName() => $page]);
+ return $this->getPagerUrl(
+ [
+ $this->getPageVarName() => $page > 1 ? $page : null,
+ ]
+ );
}
/**
diff --git a/app/code/Magento/Theme/Test/Unit/Block/Html/PagerTest.php b/app/code/Magento/Theme/Test/Unit/Block/Html/PagerTest.php
new file mode 100644
index 0000000000000..2fa1c637f1838
--- /dev/null
+++ b/app/code/Magento/Theme/Test/Unit/Block/Html/PagerTest.php
@@ -0,0 +1,104 @@
+context = $this->createMock(Context::class);
+ $this->urlBuilderMock = $this->createMock(UrlInterface::class);
+ $this->context->expects($this->any())
+ ->method('getUrlBuilder')
+ ->willReturn($this->urlBuilderMock);
+ $this->scopeConfig = $this->createMock(Config::class);
+ $this->pager = (new ObjectManager($this))->getObject(
+ Pager::class,
+ ['context' => $this->context]
+ );
+ }
+
+ /**
+ * Verify current page Url
+ *
+ * @return void
+ */
+ public function testGetPageUrl(): void
+ {
+ $expectedPageUrl = 'page-url';
+ $this->urlBuilderMock->expects($this->once())
+ ->method('getUrl')
+ ->willReturn($expectedPageUrl);
+ $this->assertEquals($expectedPageUrl, $this->pager->getPageUrl(0));
+ }
+
+ /**
+ * Verify get pages method.
+ *
+ * @return void
+ */
+ public function testGetPages(): void
+ {
+ $expectedPages = range(1, 5);
+ $collectionMock = $this->createMock(Collection::class);
+ $collectionMock->expects($this->exactly(2))
+ ->method('getCurPage')
+ ->willReturn(2);
+ $collectionMock->expects($this->any())
+ ->method('getLastPageNumber')
+ ->willReturn(10);
+ $this->setCollectionProperty($collectionMock);
+ $this->assertEquals($expectedPages, $this->pager->getPages());
+ }
+
+ /**
+ * Set Collection
+ *
+ * @return void
+ */
+ private function setCollectionProperty($collection): void
+ {
+ $reflection = new \ReflectionClass($this->pager);
+ $reflection_property = $reflection->getProperty('_collection');
+ $reflection_property->setAccessible(true);
+ $reflection_property->setValue($this->pager, $collection);
+ }
+}