-
Notifications
You must be signed in to change notification settings - Fork 5.9k
[spaceship] Check if app removed from sale #21902
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
base: master
Are you sure you want to change the base?
Conversation
…st - the same way as in open api specs
…h longer url with services-account
…tion but unavailable)
Should we also check if |
…o lucgrabowski-check-if-app-removed-from-sale
…o lucgrabowski-check-if-app-removed-from-sale
… app store versions - change logic in removed_from_sale? helper
@@ -66,6 +66,14 @@ def self.type | |||
return "apps" | |||
end | |||
|
|||
def removed_from_sale? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering if it shouldn't be renamed to removed_from_sale_or_not_ready?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In addition to checking the available attribute, the content_statuses
array should also be considered when determining whether an app has been removed from sale. There are cases where available
is true, but the app still isn’t actually available for sale due to statuses like "TRADER_STATUS_NOT_PROVIDED" or "CANNOT_SELL". For example:
#<Spaceship::ConnectAPI::TerritoryAvailability:0x0000000126c06e18
@available=true,
@content_statuses=["TRADER_STATUS_NOT_PROVIDED", "CANNOT_SELL"],
...
>
You might want to treat a territory as unavailable if any of its content_statuses
indicate it's not sellable, even if available
is true. Would be great to update the method to reflect this logic — happy to help brainstorm a clean way to integrate the additional check!
Checklist
bundle exec rspec
from the root directory to see all new and existing tests passbundle exec rubocop -a
to ensure the code style is validci/circleci
builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)Motivation and Context
As described in #21890,
Developer Removed from Sale
state was removed fromapp store version
and there was no way of checking if app is removed.This PR should be considered after #21900 and #21901 are handled.
Description
This PR adds a
removed_from_sale?
helper method toApp
model to check if app is removed from sale.As a first step it checks if app has a
ready for distribution
app store version.Next it checks if app is unavailable in all the territories and if that is the case, it means that the app was removed from sale.
Testing Steps
Tested with spaceship playground with apps that are ready for distribution and removed from sale.