Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(ONYX-344): retire AREnableArtworksConnectionForAuction feature flag #11370

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions src/app/Components/ArtworkFilter/ArtworkFilterHelpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,6 @@ export const getSortDefaultValueByFilterType = (filterType: FilterType) => {
return {
artwork: "-decayed_merch",
saleArtwork: "position",
// TODO: Replace newSaleArtwork with saleArtwork when AREnableArtworksConnectionForAuction is released
newSaleArtwork: "sale_position",
showArtwork: "partner_show_position",
auctionResult: "DATE_DESC",
geneArtwork: "-partner_updated_at",
Expand Down Expand Up @@ -246,8 +244,6 @@ export type FilterArray = ReadonlyArray<FilterData>
export type FilterType =
| "artwork"
| "saleArtwork"
// TODO: Replace newSaleArtwork with saleArtwork when AREnableArtworksConnectionForAuction is released
| "newSaleArtwork"
| "showArtwork"
| "auctionResult"
| "geneArtwork"
Expand Down Expand Up @@ -299,12 +295,6 @@ const DEFAULT_ARTWORKS_PARAMS = {
} as FilterParams

const DEFAULT_SALE_ARTWORKS_PARAMS = {
sort: "position",
estimateRange: "",
} as FilterParams

// TODO: Replace DEFAULT_NEW_SALE_ARTWORKS_PARAMS with DEFAULT_SALE_ARTWORKS_PARAMS when AREnableArtworksConnectionForAuction is released
const DEFAULT_NEW_SALE_ARTWORKS_PARAMS = {
sort: "sale_position",
estimateRange: "",
} as FilterParams
Expand Down Expand Up @@ -350,8 +340,6 @@ const getDefaultParamsByType = (filterType: FilterType) => {
return {
artwork: DEFAULT_ARTWORKS_PARAMS,
saleArtwork: DEFAULT_SALE_ARTWORKS_PARAMS,
// TODO: Replace newSaleArtwork with saleArtwork when AREnableArtworksConnectionForAuction is released
newSaleArtwork: DEFAULT_NEW_SALE_ARTWORKS_PARAMS,
showArtwork: DEFAULT_SHOW_ARTWORKS_PARAMS,
auctionResult: DEFAULT_AUCTION_RESULT_PARAMS,
geneArtwork: DEFAULT_GENE_ARTWORK_PARAMS,
Expand Down
6 changes: 0 additions & 6 deletions src/app/Components/ArtworkFilter/ArtworkFilterStore.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -237,12 +237,6 @@ export const selectedOptionsUnion = ({
displayText: "Recommended",
},
saleArtwork: {
paramName: FilterParamName.sort,
paramValue: "position",
displayText: "Lot Number Ascending",
},
// TODO: Replace newSaleArtwork with saleArtwork when AREnableArtworksConnectionForAuction is released
newSaleArtwork: {
paramName: FilterParamName.sort,
paramValue: "sale_position",
displayText: "Lot Number Ascending",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2108,7 +2108,7 @@ describe("selectedOptionsUnion", () => {
{
displayText: "Lot Number Ascending",
paramName: "sort",
paramValue: "position",
paramValue: "sale_position",
},
{
displayText: "All",
Expand Down Expand Up @@ -2243,7 +2243,7 @@ describe("selectedOptionsUnion", () => {
{
displayText: "Lot Number Ascending",
paramName: "sort",
paramValue: "position",
paramValue: "sale_position",
},
{
displayText: "All",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ export const ArtistIDsOptionsScreen = (
) => {
const filterType = ArtworksFiltersStore.useStoreState((state) => state.filterType)

// TODO: Replace newSaleArtwork when AREnableArtworksConnectionForAuction is released
if (filterType === "saleArtwork" || filterType === "newSaleArtwork") {
if (filterType === "saleArtwork") {
return <ArtistIDsSaleArtworksOptionsScreen {...props} />
}
return <ArtistIDsArtworksOptionsScreen {...props} />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import {
ArtworksFiltersStore,
useSelectedOptionsDisplay,
} from "app/Components/ArtworkFilter/ArtworkFilterStore"
import { useFeatureFlag } from "app/utils/hooks/useFeatureFlag"
import { SingleSelectOptionScreen } from "./SingleSelectOption"

type PriceRangeOptionsScreenProps = StackScreenProps<
Expand All @@ -15,16 +14,6 @@ type PriceRangeOptionsScreenProps = StackScreenProps<
>

const EstimateRanges = [
{ paramValue: "", paramDisplay: "All" },
{ paramValue: "*-100000", paramDisplay: "$0-1,000" },
{ paramValue: "100000-500000", paramDisplay: "$1000-5,000" },
{ paramValue: "500000-1000000", paramDisplay: "$5,000-10,000" },
{ paramValue: "1000000-5000000", paramDisplay: "$10,000-50,000" },
{ paramValue: "5000000-*", paramDisplay: "$50,000+" },
]

// TODO: Replace NewEstimateRanges with EstimateRanges when AREnableArtworksConnectionForAuction is released
const NewEstimateRanges = [
{ paramValue: "", paramDisplay: "All" },
{ paramValue: "*-1000", paramDisplay: "$0-1,000" },
{ paramValue: "1000-5000", paramDisplay: "$1000-5,000" },
Expand All @@ -36,15 +25,13 @@ const NewEstimateRanges = [
export const EstimateRangeOptionsScreen: React.FC<PriceRangeOptionsScreenProps> = ({
navigation,
}) => {
const enableArtworksConnection = useFeatureFlag("AREnableArtworksConnectionForAuction")
const paramName = FilterParamName.estimateRange
const ranges = enableArtworksConnection ? NewEstimateRanges : EstimateRanges

const selectFiltersAction = ArtworksFiltersStore.useStoreActions(
(state) => state.selectFiltersAction
)

const options = ranges.map((estimateRange) => {
const options = EstimateRanges.map((estimateRange) => {
return {
displayText: estimateRange.paramDisplay,
paramName,
Expand Down
40 changes: 2 additions & 38 deletions src/app/Components/ArtworkFilter/Filters/SortOptions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ const DEFAULT_TAG_SORT = {
paramValue: "-partner_updated_at",
}

export const DEFAULT_NEW_SALE_ARTWORK_SORT = {
export const DEFAULT_SALE_ARTWORK_SORT = {
displayText: "Lot Number Ascending",
paramName: FilterParamName.sort,
paramValue: "sale_position",
Expand Down Expand Up @@ -77,41 +77,7 @@ export const ORDERED_ARTWORK_SORTS: FilterData[] = [
]

export const ORDERED_SALE_ARTWORK_SORTS: FilterData[] = [
{
displayText: "Lot Number Ascending",
paramName: FilterParamName.sort,
paramValue: "position",
},
{
displayText: "Lot Number Descending",
paramName: FilterParamName.sort,
paramValue: "-position",
},
{
displayText: "Most Bids",
paramName: FilterParamName.sort,
paramValue: "-bidder_positions_count",
},
{
displayText: "Least Bids",
paramName: FilterParamName.sort,
paramValue: "bidder_positions_count",
},
{
displayText: "Highest Bid",
paramName: FilterParamName.sort,
paramValue: "-searchable_estimate",
},
{
displayText: "Lowest Bid",
paramName: FilterParamName.sort,
paramValue: "searchable_estimate",
},
]

// TODO: Replace DEFAULT_NEW_SALE_ARTWORKS_PARAMS with DEFAULT_SALE_ARTWORKS_PARAMS when AREnableArtworksConnectionForAuction is released
export const ORDERED_NEW_SALE_ARTWORK_SORTS: FilterData[] = [
DEFAULT_NEW_SALE_ARTWORK_SORT,
DEFAULT_SALE_ARTWORK_SORT,
{
displayText: "Lot Number Descending",
paramName: FilterParamName.sort,
Expand Down Expand Up @@ -172,8 +138,6 @@ export const SortOptionsScreen: React.FC<SortOptionsScreenProps> = ({ navigation
const filterOptions = {
artwork: [DEFAULT_ARTWORK_SORT, ...ORDERED_ARTWORK_SORTS],
saleArtwork: ORDERED_SALE_ARTWORK_SORTS,
// TODO: Replace newSaleArtwork with saleArtwork when AREnableArtworksConnectionForAuction is released
newSaleArtwork: ORDERED_NEW_SALE_ARTWORK_SORTS,
showArtwork: [GALLERY_CURATED_ARTWORK_SORT, ...ORDERED_ARTWORK_SORTS],
auctionResult: ORDERED_AUCTION_RESULTS_SORTS,
geneArtwork: [DEFAULT_GENE_SORT, ...ORDERED_ARTWORK_SORTS],
Expand Down
10 changes: 1 addition & 9 deletions src/app/Scenes/HomeView/Sections/HomeViewSectionSalesItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import {
import { ThreeUpImageLayout } from "app/Components/ThreeUpImageLayout"
import { navigate } from "app/system/navigation/navigate"
import { extractNodes } from "app/utils/extractNodes"
import { useFeatureFlag } from "app/utils/hooks/useFeatureFlag"
import { compact } from "lodash"
import { FC } from "react"
import { View } from "react-native"
Expand All @@ -26,16 +25,9 @@ export const HomeViewSectionSalesItem: FC<HomeViewSectionSalesItemProps> = ({
sale: saleProp,
onPress,
}) => {
const isArtworksConnectionEnabled = useFeatureFlag("AREnableArtworksConnectionForAuction")
const sale = useFragment(fragment, saleProp)

let imageURLs

if (isArtworksConnectionEnabled) {
imageURLs = extractNodes(sale.artworksConnection, (artwork) => artwork.image?.url)
} else {
imageURLs = extractNodes(sale.saleArtworksConnection, (artwork) => artwork.artwork?.image?.url)
}
const imageURLs = extractNodes(sale.artworksConnection, (artwork) => artwork.image?.url)

// Sales are expected to always have >= 2 artworks, but we should
// still be cautious to avoid crashes if this assumption is broken.
Expand Down
61 changes: 0 additions & 61 deletions src/app/Scenes/Sale/BuyNowArtworksRail.tests.tsx

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { screen } from "@testing-library/react-native"
import { setupTestWrapper } from "app/utils/tests/setupTestWrapper"
import { graphql } from "react-relay"
import { NewBuyNowArtworksRailContainer } from "./NewBuyNowArtworksRail"
import { BuyNowArtworksRailContainer } from "./BuyNowArtworksRail"

describe("NewBuyNowArtworksRail", () => {
describe("BuyNowArtworksRail", () => {
const { renderWithRelay } = setupTestWrapper({
Component: NewBuyNowArtworksRailContainer,
Component: BuyNowArtworksRailContainer,
query: graphql`
query NewBuyNowArtworksRailTestsQuery($id: String!) @relay_test_operation {
query BuyNowArtworksRailTestsQuery($id: String!) @relay_test_operation {
sale(id: $id) {
...NewBuyNowArtworksRail_sale
...BuyNowArtworksRail_sale
}
}
`,
Expand All @@ -18,8 +18,9 @@ describe("NewBuyNowArtworksRail", () => {

it(`renders "Buy now" rail and artworks`, () => {
renderWithRelay(mockProps)
expect(screen.queryByText("Artworks Available to Inquire")).toBeDefined()
expect(screen.queryAllByText("Best artwork ever, 2019")).toBeDefined()

expect(screen.getByText("Artworks Available to Inquire")).toBeOnTheScreen()
expect(screen.queryAllByText("Best artwork ever, 2019")).toHaveLength(10)
})

it("renders nothing if there are no artworks", () => {
Expand All @@ -31,8 +32,8 @@ describe("NewBuyNowArtworksRail", () => {
}),
}

const { queryAllByTestId } = renderWithRelay(noArtworksProps)
expect(queryAllByTestId("bnmo-rail-wrapper")).toHaveLength(0)
renderWithRelay(noArtworksProps)
expect(screen.queryAllByTestId("bnmo-rail-wrapper")).toHaveLength(0)
})
})

Expand Down
12 changes: 4 additions & 8 deletions src/app/Scenes/Sale/Components/BuyNowArtworksRail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ interface BuyNowArtworksRailProps {
}

export const BuyNowArtworksRail: React.FC<BuyNowArtworksRailProps> = ({ sale }) => {
const artworks = extractNodes(sale.promotedSale?.saleArtworksConnection).map(
(saleArtwork) => saleArtwork.artwork
)
const artworks = extractNodes(sale.promotedSale?.artworksConnection)

if (!artworks?.length) {
return null
Expand Down Expand Up @@ -43,13 +41,11 @@ export const BuyNowArtworksRailContainer = createFragmentContainer(BuyNowArtwork
@argumentDefinitions(count: { type: "Int", defaultValue: 20 }, cursor: { type: "String" }) {
internalID
promotedSale {
saleArtworksConnection(first: $count, after: $cursor)
@connection(key: "Sale_saleArtworksConnection") {
artworksConnection(first: $count, after: $cursor)
@connection(key: "BuyNowArtworksRail_artworksConnection") {
edges {
node {
artwork {
...ArtworkRail_artworks
}
...ArtworkRail_artworks
}
}
}
Expand Down
Loading