# Test list automation catalog
## TERMINOLOGY
### + tests that we have
### - tests that we dint have
### ? some doubts arount id
CATEGTORY v2:
.+ Success Category Creation
.+ failure category creation with extra parameters
.+ Success Category Creation with different tenants id
.+ Failure Category creation with incorrect data
.+ Failure Category creation with incorrect start end date
.+ Failure Category creation with required data not present
.+ Failure Category Creation Unauthorized
.+ Success Category Retrieve
.+ Failure Category Retrieve Unauthorized
.+ Failure Category Retrieve Not Found
.+ Success Root Category Creation
.+ Success Level 1 Category Creation
.+ Success Level 2 Category Creation
.+ Success Level 3 Category Creation
.+ Success Level 4 Category Creation
.+ Failure Adding Child Category to Orphan Category
.+ Success Category List Retrieve (without params)
.+ Success Category List Retrieve with correct parentCategoryId
.+ Failure Category List Retrieve with invalid parentCategoryId
.+ Failure Category List Retrieve Unauthorized
.+ Success Category List Retrieve with limit and offset
.+ Success Category List Retrieve with default Limit
.+ Success Category List Retrieve with order ASC
.+ Success Category List Retrieve with order DESC
.+ Failure Parent Category Association when child has date range out of parent’s
.+ Failure Publishing of Category when parent Category is unpublished
.+ Failure Level 5 Category Creation
.+ Failure Category Association with circular reference
.+ Failure Updating to Root a Child Category
.+ Failure Parent tree validation of error message
.+ Failure Child tree validation of error message
.+ Success isActive status should be updated from parent
.+ Success validate the PathToRoot is re-calculated
.+ Success Parent Category Association, path and depth recalculated
.+ Success Parent Category Disassociation, path and depth to root recalculated
.+ Success updating childCategoryIds data
.+ Success validate deepth_from_root, path_to_root, is published and is_active data
.+ Using Jarvis Token, Request Header accept tenant parameter
.+ API call failure when using Jarvis Token, and not passing tenant in Request. + Header
.+ Success creating orphan category
.+ Success getting orphans categories
.+ Success Category List Retrieve includes pathNamesToRoot in each result
.+ Success site filter for Categories List API
.+ Success site filter for Categories Orphan API
.+ Failure updating isRootCategory flag
.+ Failure updating parent category null which has child
.+ Failure updating parentCategory orphan
.+ Failure should not be able to delete root category, parentcategory, already. + deleted
.+ Success Flag validation after deletion of category
.+ Failure deleted category cannot be used as parent,cannot be updated
? backendCategoryId should be a valid oneId should be a valid one
? should not repeat meta words
.+ Failure ivalid sourceUpdatedAt
CATEGORY v1:
.+ success category creation
.- Failure Category Creation Unauthorized
.+ success category creation without not required parameters
.- failure category creation with invalid data
.- failure category creation without required parameters
.- failure category creation with extra parameters
.- failure category creation duplicated id
.- success category creation duplicated id different tenant
.- Failure updating isRootCategory flag
.- Failure updating parent category null which has child
.- Failure updating parentCategory orphan
.- Failure should not be able to delete root category, parentcategory, already. + deleted
.- Success creating orphan category
.- Success Root Category Creation
.- Success Level 1 Category Creation
.- Success Level 2 Category Creation
.- Success Level 3 Category Creation
.- Success Level 4 Category Creation
.- Failure Level 5 Category Creation
.+ Test csv payload
.+ Validating mandatory field
.+ Validating mandatory field
.+ Mandatory field id
.+ sourceUpdatedAt is mandatory
.+ SourceUpdatedAt is mandatory
.+ SourceUpdatedAt field cannot
.+ SourceUpdatedAt date format
.+ SourceUpdatedAt should not
.+ isPublished in Category
.+ isPublished in Category
.+ isPublished in Category
.+ name type should
.+ description type should
.+ mediaListId in Category
.+ mediaListId in Category
.+ mediaListId in Category
.+ mediaList name in
.+ mediaList name in
.+ mediaList name in
.+ mediaList url in
.+ mediaList url in
.+ mediaList url in
.+ isPublished mediaType in
.+ isPublished mediaType in
.+ isPublished mediaType in
.- Failure ivalid sourceUpdatedAt
CATEGORY RULE MAPPING:
.+ Failure inserting invalid data into category-rule-mapping
? Thats endpoint is deprecated? It is not documented in the swagger
COLLECTIONS:
.+ Test payload
.+ id is mandatory
.+ id is mandatory, cannot be null
.+ id is mandatory, cannot accept empty string
.+ id type should be a string
.+ name is mandatory
.+ name is mandatory, cannot be null
.+ name is mandatory, cannot accept empty string
.+ name type should be a string
.+ variantIds is mandatory
.+ variantIds is mandatory, cannot be null
.+ variantIds is mandatory, cannot accept empty string
.+ variantIds type should be a string
.+ sourceUpdatedAt is mandatory
.+ sourceUpdatedAt is mandatory, cannot be null
.+ sourceUpdatedAt is mandatory, cannot accept empty string
.+ sourceUpdatedAt type should be a string
.+ sourceUpdatedAt date format should be ISOString validation
.+ startDate format should be ISOString validation
.+ endDate format should be ISOString validation
.+ Should not accept data with older timestamps(IdemPotency)
.+ isPublished is a mandatory field
.+ isPublished is a mandatory field,cannot be null
.+ isPublished is a mandatory field,cannot be empty string
.+ isPublished type should be a Boolean
.+ Failure creation collection unauthorized
.- Success creation collection duplicated id different tenant
? Creation collection same day should be available?
.+ Success post variants to collection
.+ Success delete variants from collection
.+ Failure post variants to collection unauthorized
.+ Failure delete variants from collection unauthorized
.- failure interaction with collections api with an invalid collection id
CSV UPLOAD:
.+ Success Category creation/associations CSV Upload API
.+ xFailure Category creation/associations CSV Upload API with incorrect format CSV file
.+ xFailure Category creation/associations CSV Upload API when Unauthorized
.- CSV success bulk upload of categories
.- CSV success bulk upload of product category mappings
.- CSV success bulk upload of attributes
.- CSV success bulk upload of product templates
.- CSV success bulk upload of products
.- CSV success bulk upload of variants
.- CSV failure bulk upload of categories invalid data of each one SEE CATEGORY V2 TESTS
.- CSV failure bulk upload of product category mappings invalid data of each one SEE CATEGORY MAPPINGS TESTS
.- CSV failure bulk upload of attributes invalid data of each one SEE ATTRIBUTES TESTS
.- CSV failure bulk upload of product templates invalid data of each one SEE TEMPLATE TESTS
.- CSV failure bulk upload of products invalid data of each one SEE PRODUCTS TESTS
.- CSV failure bulk upload of variants invalid data of each one SEE VARIANTS TESTS
.- CSV failure bulk upload of categories unauthorized
.- CSV failure bulk upload of product unauthorized
.- CSV failure bulk upload of attributes unauthorized
.- CSV failure bulk upload of product unauthorized
.- CSV failure bulk upload of products unauthorized
.- CSV failure bulk upload of variants unauthorized
.- CSV failure get id unauthorized
.- CSV failure get id not existig
.- CSV failure get list unauthorized
.- CSV failure get list not id in path
.- CSV failure get list not valid id path
NOTE: when i say invalid data, it means all the validations that we test in each post api. See api tests for more information.
PRODUCT V1:
.- success creation
.- failure creation unauthorized
.+ Testing the payload provided in the CSV file
.+ ProductId is mandatory field and cannot be null
.+ Posting Product without id should return 400 Bad Request
.+ ProductId is mandatory and cannot be empty string
.- product id should not be duplicated
.- product id can be duplicated in another tenant
.+ SourceUpdatedAt is mandatory field
.+ SourceUpdatedAt is mandatory field and cannot be null
.+ SourceUpdatedAt is mandatory and cannot be empty string
.+ SourceUpdatedAt field cannot accept just space, should accept only date
.+ SourceUpdatedAt date format should be ISOString validation
.+ isPublished in Product is a mandatory field
.+ isPublished in Product is a mandatory field,cannot be null
.+ isPublished in Product is a mandatory field,cannot be empty string
.+ name type should be string
.+ description type should be string
.+ longDescription type should be string
.+ productType type should be string
.+ keywords type should be an array
.+ startDate type should be string
.+ endDate type should be string
.- endDate should be bigger thant de start date
.+ slug type should be string
.+ status type should be string
.+ brandId type should be string
.+ manufacturerName type should be string
.+ metaTitle type should be string
.+ metaKeywords type should be array
.+ metaDescription type should be string
.+ sites type should be array
.- sites should exist
.+ primaryVariantId type should be string
.+ parentCategoryIds type should be array
.+ defaultParentCategoryId type should be string
.+ merchantCategoryId type should be string
.+ parentCategoryIds type should be an array
.- parentCategoryIds should exist
.+ mediaList type should be an array, should fail if string is provided
.+ mediaListId in Product is a mandatory field
.+ mediaListId in Product is a mandatory field cannot be null
.+ mediaListId in Product is a mandatory field cannot be empty string
.+ parentCategoryIds in sites type should be an array
.+ Request should fail if no sourceUpdatedAt is provided in payload
.+ Should not accept data with older timestamps(IdemPotency)
.+ Unlink a variant if variant is removed from that product
.+ VariantId in Product is mandatory and request should fail without it
.+ VariantId in Product is mandatory and cannot be null
.+ VariantId should have string value and cannot be empty string
.+ Validating mandatory field parentProductId in Variant
.+ Validating mandatory field parentProductId in Variant, cannot be null
.+ Mandatory field parentProductId in variant cannot be empty string
.+ SourceUpdatedAt in variant is a mandatory field
.+ SourceUpdatedAt in variant cannot be null
.+ SourceUpdatedAt in variant cannot be empty string
.+ SourceUpdatedAt in variant should only accept date format ISOString
.+ SourceUpdatedAt in variant should not accept data with older timestamps
.+ isPublished in variant is a mandatory field
.+ isPublished in variant is a mandatory field,cannot be null
.+ isPublished in variant is a mandatory field,cannot be empty string
.+ AttributeId in Product is mandatory field
.+ AttributeId in Product is cannot be null
.+ AttributeId in Product is cannot be empty string
.+ AttributeId should exist in store
.+ MediaListId in Product is Mandatory field
.+ MediaListId in Product is Mandatory field, cannot be null
.+ MediaListId in Product is Mandatory field, cannot be empty string
.+ MediaList Name in Product is Mandatory field
.+ MediaList Name in Product is Mandatory field, cannot be null
.+ MediaList Name in Product is Mandatory field
.+ MediaList Url in Product is Mandatory field
.+ MediaList Url in Product is Mandatory field, cannot be null
.+ MediaList Url in Product is Mandatory field, cannot be empty string
.+ MediaList isPublished in Product is Mandatory field
.+ MediaList isPublished in Product is Mandatory field, cannot be null
.+ MediaList isPublished in Product is Mandatory field, cannot be empty string
.+ offeringId in Variant.offerings is a mandatory field
.+ offeringId in Variant.offerings is a mandatory field, cannot be null
.+ offeringId in Variant.offerings is a mandatory field, cannot be empty string
.- offeringId should exist
.+ sellerId in Variant.offerings is a mandatory field
.+ sellerId in Variant.offerings is a mandatory field, cannot be null
.+ sellerId in Variant.offerings is a mandatory field, cannot be empty string
.+ id in Variant.bundleLinks is a mandatory field
.+ id in Variant.bundleLinks is a mandatory field, cannot be null
.+ id in Variant.bundleLinks is a mandatory field, cannot be empty string
.- variantId should exist
.+ type in Variant.bundleLinks is a mandatory field
.+ type in Variant.bundleLinks is a mandatory field, cannot be null
.+ type in Variant.bundleLinks is a mandatory field, cannot be empty string
.+ AttributeId in Variant is mandatory field
.+ AttributeId in Variant is cannot be null
.+ AttributeId in Variant is cannot be empty string
.- AttributeId in variant should exist
PRODUCT v2:
.+ success creation
.+ failure creation unauthorized
.+ ProductId is mandatory field and cannot be null
.+ Posting Product without id should return 400 Bad Request
.+ ProductId is mandatory and cannot be empty string
.+ SourceUpdatedAt is mandatory field
.+ SourceUpdatedAt is mandatory field and cannot be null
.+ SourceUpdatedAt is mandatory and cannot be empty string
.+ SourceUpdatedAt field cannot accept just space, should accept only date
.+ SourceUpdatedAt date format should be ISOString validation
.+ isPublished in Product is a mandatory field
.+ isPublished in Product is a mandatory field,cannot be null
.+ isPublished in Product is a mandatory field,cannot be empty string
.+ name type should be string
.+ description type should be string
.+ longDescription type should be string
.+ productType type should be string
.+ keywords type should be an array
.+ startDate type should be string
.+ endDate type should be string
.+ endDate should be bigger thant de start date
.+ slug type should be string
.+ status type should be string
.+ brandId type should be string
.+ manufacturerName type should be string
.+ metaTitle type should be string
.+ metaKeywords type should be array
.+ metaDescription type should be string
.+ sites type should be array
.+ sites should exist
.+ primaryVariantId type should be string
.+ parentCategoryIds type should be array
.+ defaultParentCategoryId type should be string
.+ merchantCategoryId type should be string
.+ parentCategoryIds should exist
.+ mediaList type should be an array, should fail if string is provided
.+ mediaListId in Product is a mandatory field
.+ mediaListId in Product is a mandatory field cannot be null
.+ mediaListId in Product is a mandatory field cannot be empty string
.+ Request should fail if no sourceUpdatedAt is provided in payload
.+ Should not accept data with older timestamps(IdemPotency)
.+ Unlink a variant if variant is removed from that product
.+ VariantId in Product is mandatory and request should fail without it
.+ VariantId in Product is mandatory and cannot be null
.+ VariantId should have string value and cannot be empty string
.+ SourceUpdatedAt in variant is a mandatory field
.+ SourceUpdatedAt in variant cannot be null
.+ SourceUpdatedAt in variant cannot be empty string
.+ SourceUpdatedAt in variant should only accept date format ISOString
.+ SourceUpdatedAt in variant should not accept data with older timestamps
.+ isPublished in variant is a mandatory field
.+ isPublished in variant is a mandatory field,cannot be null
.+ isPublished in variant is a mandatory field,cannot be empty string
.+ AttributeId in Product is mandatory field
.+ AttributeId in Product is cannot be null
.+ AttributeId in Product is cannot be empty string
.+ AttributeId should exist in store
.+ offeringId in Variant.offerings is a mandatory field
.+ offeringId in Variant.offerings is a mandatory field, cannot be null
.+ offeringId in Variant.offerings is a mandatory field, cannot be empty string
.+ sellerId in Variant.offerings is a mandatory field
.+ sellerId in Variant.offerings is a mandatory field, cannot be null
.+ sellerId in Variant.offerings is a mandatory field, cannot be empty string
.+ id in Variant.bundleLinks is a mandatory field
.+ id in Variant.bundleLinks is a mandatory field, cannot be null
.+ id in Variant.bundleLinks is a mandatory field, cannot be empty string
.+ type in Variant.bundleLinks is a mandatory field
.+ type in Variant.bundleLinks is a mandatory field, cannot be null
.+ type in Variant.bundleLinks is a mandatory field, cannot be empty string
.+ success associate variants
.+ Failure associate variants not existing product id
.+ Failure associate variants unauthrozied
.+ Failure associate variants invalid data
.+ failure retrieve data of a not existing product
.+ failure retrieve data unauthorized
PRODUCT CATEGORY MAPPING:
.+ Success Product Category Mapping Creation
.+ Failure Product Category Mapping Creation with incorrect data
.+ Failure Product Category Mapping Creation Unauthorized
.+ Success Product Category Mapping Retrieve
.+ Failure Product Category Mapping Retrieve Unauthorized
.+ Failure Product Category Mapping Retrieve Not Found
.+ Success PCM to valid Category
.+ Failure PCM to Not Found Category
.+ Failure PCM to Root Category
.+ Success Updated product without affect PCM associated
.+ Success categories_v2 is mapped to product_v1
.+ Success PCM_v2 is mapped to product_v1
.+ Success isActive flag updation in pcm using productID
.+ Failure patch PCM with invalid sourceUpdatedAt
.+ Success Product Category Mapping delta categories Creation
.+ Failure Product Category Mapping delta categories Creation with incorrect data
.+ Failure Product Category Mapping delta categories Creation with invalid id
.- Failure Product Category Mapping delta categories Creation Unauthorized
.+ Success Product Category Mapping categories pcm Creation
.+ Failure Product Category Mapping categories pcm Creation with incorrect data
.+ Failure Product Category Mapping categories pcm Creation with invalid id
.- Failure Product Category Mapping categories pcm Creation Unauthorized
.+ Success Product Category Mapping products pcm Creation
.+ Failure Product Category Mapping products pcm Creation with incorrect data
.+ Failure Product Category Mapping products pcm Creation with invalid id
.- Failure Product Category Mapping products pcm Creation Unauthorized
.+ Success Product Category Mapping delta products Creation
.+ Failure Product Category Mapping delta products Creation with incorrect data
.+ Failure Product Category Mapping delta products Creation with invalid id
.- Failure Product Category Mapping delta products Creation Unauthorized
.+ Failure get Product pcm not existing id
.- Failure get Product pcm Unauthorized
.+ Failure get Category pcm not existing id
.- Failure get Category pcm Unauthorized
VARIANT:
.+ Success variant Creation
.+ Failure variant Creation with incorrect data
.+ Success variant Creation with duplicated id
.+ Failure variant offering Creation with invalid id
.- Failure variant Creation Unauthorized
.+ Test csv payload
.+ VariantId is mandatory field and cannot be null
.+ Posting Variant without Id should return 400 Bad Request
.+ VariantId is mandatory and cannot be empty string
.+ Validating mandatory field parentProductId in Variant
.+ Validating mandatory field parentProductId in Variant,cannot be nul
.+ Mandatory field parentProductId cannot be empty string
.+ SourceUpdatedAt is mandatory and cannot be empty string
.+ SourceUpdatedAt field cannot accept just space, should accept only date
.+ SourceUpdatedAt date format should be ISOString validation
.+ SourceUpdatedAt in variant should not accept data with older timestamps
.+ isPublished in Variant is a mandatory field
.+ isPublished in Variant is a mandatory field,cannot be null
.+ isPublished in Variant is a mandatory field,cannot be empty string
.+ mediaListId in Variant is a mandatory field
.+ mediaListId in Variant is a mandatory field cannot be null
.+ mediaListId in Variant is a mandatory field cannot be empty string
.+ mediaList name in Variant is a mandatory field
.+ mediaList name in Variant is a mandatory field cannot be null
.+ mediaList name in Variant is a mandatory field cannot be empty string
.+ mediaList url in Variant is a mandatory field
.+ mediaList url in Variant is a mandatory field cannot be null
.+ mediaList url in Variant is a mandatory field cannot be empty string
.+ isPublished mediaType in Variant is a mandatory field
.+ isPublished mediaType in Variant is a mandatory field cannot be null
.+ isPublished mediaType in Variant is a mandatory field cannot be empty string
.+ AttributeId in Variant is mandatory field
.+ AttributeId in Variant is cannot be null
.+ AttributeId in Variant is cannot be empty string
.+ name type should be a string
.+ description type should be a string
.+ longDescription type should be a string
.+ productType type should be a string
.+ startDate type should be a string
.+ endDate type should be a string
.+ sortOrder type should be a string
.+ parentProductId type should be a string
.+ status type should be a string
.+ upc type should be a string
.+ unitForSale type should be a string
.+ Keywords type should be an array
.+ Success variant offering Creation
.+ Failure variant offering Creation with incorrect data
.+ Success variant offering Creation with duplicated id
.+ Failure variant offering Creation with invalid id
.- Failure variant offering Creation Unauthorized
.- failure get apis of variants unauthorized
.+ failure get apis of variants not existing id
.+ failure patch variants not existing id
.- failure patch variants unauthrozied
.+ failure patch variants invalid data
.- success download excel
.+ success patch
.+ success variant creation
.+ success gets
OFFERING V2:
.+ Success offering edition
.+ Failure offering edition with incorrect data
.- Failure offering edition unauthorized
.- success offering get status without ids
.+ success offering get status with ids
.- failure offering get status unauthorized
.+ failure offering get status invalid ids