From 6d26559a6ee30310926f731fd6157bbcc9a82a18 Mon Sep 17 00:00:00 2001 From: Chuc Le Manh Date: Thu, 30 Oct 2025 19:36:03 +0700 Subject: [PATCH] feat: add LanguageInfo to SalesChannelContext --- .../SalesChannelContext/LanguageInfo.php | 24 +++++++++++++++++++ .../SalesChannelContext.php | 6 +++++ .../SalesChannelContext/LanguageInfoTest.php | 24 +++++++++++++++++++ .../SalesChannelContextTest.php | 6 +++++ 4 files changed, 60 insertions(+) create mode 100644 src/Context/SalesChannelContext/LanguageInfo.php create mode 100644 tests/Context/SalesChannelContext/LanguageInfoTest.php diff --git a/src/Context/SalesChannelContext/LanguageInfo.php b/src/Context/SalesChannelContext/LanguageInfo.php new file mode 100644 index 0000000..b5a2a87 --- /dev/null +++ b/src/Context/SalesChannelContext/LanguageInfo.php @@ -0,0 +1,24 @@ +data['name'])); + + return $this->data['name']; + } + + public function getLocaleCode(): string + { + \assert(\is_string($this->data['localeCode'])); + + return $this->data['localeCode']; + } +} diff --git a/src/Context/SalesChannelContext/SalesChannelContext.php b/src/Context/SalesChannelContext/SalesChannelContext.php index a34dae7..5786ba8 100644 --- a/src/Context/SalesChannelContext/SalesChannelContext.php +++ b/src/Context/SalesChannelContext/SalesChannelContext.php @@ -72,4 +72,10 @@ public function getCustomer(): ?Customer return new Customer($this->data['customer']); } + + public function getLanguageInfo(): LanguageInfo + { + \assert(\is_array($this->data['languageInfo'])); + return new LanguageInfo($this->data['languageInfo']); + } } diff --git a/tests/Context/SalesChannelContext/LanguageInfoTest.php b/tests/Context/SalesChannelContext/LanguageInfoTest.php new file mode 100644 index 0000000..2802775 --- /dev/null +++ b/tests/Context/SalesChannelContext/LanguageInfoTest.php @@ -0,0 +1,24 @@ + 'English', + 'localeCode' => 'en-GB', + ]); + + static::assertSame('English', $languageInfo->getName()); + static::assertSame('en-GB', $languageInfo->getLocaleCode()); + } +} diff --git a/tests/Context/SalesChannelContext/SalesChannelContextTest.php b/tests/Context/SalesChannelContext/SalesChannelContextTest.php index 66f271f..17db912 100644 --- a/tests/Context/SalesChannelContext/SalesChannelContextTest.php +++ b/tests/Context/SalesChannelContext/SalesChannelContextTest.php @@ -35,6 +35,10 @@ public function testConstruct(): void 'customer' => [ 'id' => 'customer-id', ], + 'languageInfo' => [ + 'name' => 'English', + 'localeCode' => 'en-GB', + ], ]); static::assertSame('context-token', $context->getToken()); @@ -46,6 +50,8 @@ public function testConstruct(): void static::assertSame('payment-method-id', $context->getPaymentMethod()->getId()); static::assertSame('sales-channel-id', $context->getSalesChannel()->getId()); static::assertSame('customer-id', $context->getCustomer()->getId()); + static::assertSame('English', $context->getLanguageInfo()->getName()); + static::assertSame('en-GB', $context->getLanguageInfo()->getLocaleCode()); } public function testConstructNullable(): void