/**
  * @param string $sortByFieldCode
  * @param string $sortDirection
  * @return SortBy|\PHPUnit_Framework_MockObject_MockObject
  */
 private function createStubSortOrderConfig(string $sortByFieldCode, string $sortDirection) : SortBy
 {
     $stubAttributeCode = $this->createMock(AttributeCode::class);
     $stubAttributeCode->method('__toString')->willReturn($sortByFieldCode);
     $sortOrderConfig = $this->createMock(SortBy::class);
     $sortOrderConfig->method('getAttributeCode')->willReturn($stubAttributeCode);
     $sortOrderConfig->method('getSelectedDirection')->willReturn(SortDirection::create($sortDirection));
     return $sortOrderConfig;
 }
 public function testArrayRepresentationOfQueryContainsSortOrderString()
 {
     $this->stubCriteria->expects($this->once())->method('jsonSerialize')->willReturn(['fieldName' => 'foo', 'fieldValue' => 'bar', 'operation' => 'Equal']);
     $stubContext = $this->createMock(Context::class);
     $stubContext->method('getSupportedCodes')->willReturn([]);
     $this->stubQueryOptions->method('getContext')->willReturn($stubContext);
     $sortAttributeCode = AttributeCode::fromString('baz');
     $sortDirection = SortDirection::create(SortDirection::ASC);
     $stubSortOrderConfig = $this->createMock(SortBy::class);
     $stubSortOrderConfig->method('getAttributeCode')->willReturn($sortAttributeCode);
     $stubSortOrderConfig->method('getSelectedDirection')->willReturn($sortDirection);
     $this->stubQueryOptions->method('getSortBy')->willReturn($stubSortOrderConfig);
     $result = $this->solrQuery->toArray();
     $expectedSortOrderString = sprintf('%s%s %s', $sortAttributeCode, SolrQuery::SORTING_SUFFIX, $sortDirection);
     $this->assertArrayHasKey('sort', $result);
     $this->assertSame($expectedSortOrderString, $result['sort']);
 }
 private function createTestSortOrderConfig(string $sortByFieldCode, string $sortDirection) : SortBy
 {
     return new SortBy(AttributeCode::fromString($sortByFieldCode), SortDirection::create($sortDirection));
 }