WaltersArtMuseum / api-thewalters-org

Repository for the Walters Art Museum collections API. This API provides images and data about objects in the collection of the Walters Art Museum in Baltimore, Maryland.
https://api.thewalters.org/
46 stars 4 forks source link

List out tests that we should perform. [UAT] [tests] #44

Closed johnbabb closed 6 years ago

johnbabb commented 10 years ago
As a user making a request to v1/collections/{id}/objects
I want to get objects by the collection they are in, by collection id
so that I can get other information about the objects in the collection.
    When Getting V1 Collection 1 Objects
  • Then it should have a return code 200 returned
  • And it should not have error messages
As a user making a request to v1/collections
I want to get objects by the collections they are in, by collection id
so that I can get other information about the objects in the collection.
    When Getting V1 Collections
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
As a user making a request to v1/collections
I want to get objects by the exhibitions they are in, by exhibition id
so that I can get other information about the objects in the exhibitions.
    When Getting V1 Collections By Desc Tiffany Issue #5
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should have a record where the collection id is 7
    When Getting V1 Collections By Name Century Issue #5
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should have a record where the collection id is 7
As a user making a request to v1/collections
I want to get objects by the collections they are in, by collection id
so that I can get other information about the objects in the collections.
    When Getting V1 Collections By Keyword Century Issue #5
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should have a record where the collection id is 7
    When Getting V1 Collections By Keyword Chinese Issue #5
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should have a record where the collection id is 1
As a user making a request to v1/exhibitions
I want to get an list of exhibitions
so that I can get other information about the exhibitions.
    When Getting V1 Exhibitions
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
    When Getting V1 Exhibitions By Title Of Painting Issue #27
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should return records that all contain the search term
As a user making a request to v1/exhibitions/{id}/objects
I want to get objects by the exhibitions they are in, by exhibition id
so that I can get other information about the objects in the exhibitions.
    When Getting V1 Exhibitions 10 Objects
  • Then it should have a return code 200 returned
  • And it should not have error messages
    When Getting V1 Exhibitions 2699 Objects Issue #15
  • Then it should have a return code 200 returned
  • And it should not have error messages
As a user making a request to v1/geographies
I want to get geographys
so that I can get other information about the geographies.
    When Getting V1 Geographies
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
    When Getting V1 Geographies By Geohierarchy Of Puerto Issue24
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should return records that all contain the search term
    When Getting V1 Geographies By Geoterm Of Honduras Issue24
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should return records that all contain the search term
    When Getting V1 Geographies By Geotype Origin Issue24
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should return records that all contain the search term
As a user making a request to v1/geographies/{id}/objects
I want to get objects by the geography they are in, by geography id
so that I can get other information about the objects in the geography.
    When Getting V1 Geographies 605803 Objects
  • Then it should have a return code 200 returned
  • And it should not have error messages
    When Getting V1 Geographies 647324 Objects Issue #17
  • Then it should have a return code 200 returned
  • And it should not have error messages
As a user making a request to v1/museum/locations
I want to get museum locations
so that I can get other information about the museum locations.
    When Getting V1 Museum Locations
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
    When Getting V1 Museum Locations By Display Of Second Issue #28
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should return records that all contain the search term
    When Getting V1 Museum Locations By Display Of Second Issue #30
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should return records that all contain the search term
    When Getting V1 Museum Locations By Location Id Of 3634 Issue #28
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should return records that all contain the search term
    When Getting V1 Museum Locations By Public Access Of True Issue #28
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should return records that all contain the search term
    When Getting V1 Museum Locations By Site And Room Of Cen And 200 Issue #30
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
  • And it should return records that all contain the search terms
As a user making a request to v1/museum/locations/{id}/objects
I want to get objects by the museum location they are in, by location id
so that I can get other information about the objects in the museum location.
    When Getting V1 Museum Locations 398 Objects
  • Then it should have a return code 200 returned
  • And it should not have error messages
As a user making a request to v1/objects/{id}
I want to get an object by its id
so that I can get other information about the object.
    When Getting V1 Object By Id 15663
  • Then it should have a return code 200 returned
  • And it should not have error messages
  • And it should have the same id returned
  • And it should have one primary image
As a user making a request to v1/objects
I want to get an list of objects
so that I can get other information about the objects.
    When Getting V1 Objects
  • Then it should have a return code 200 returned
  • And it should not have error messages in the response of the body
johnbabb commented 10 years ago

@kateblanch , @dylan-k please review the tests that i have listed. As mentioned the test check the endpoints to make sure they are returning data. also anything reference to "issue" links the test with an issue that was logged here. for example: When Getting V1 Collections By Name Century Issue 5 means that the test validates the issue raise, in this case #5

Also, a return code 200 returned means everything was returned and there was no error, and the should not have error messages in the response of the body also validates the data returned had no errors.

kateblanch commented 10 years ago

I've completed testing for Collections, Objects and Exhibitions. I will continue testing tomorrow. My UAT scenarios are not as narrative as yours, John - but I'm thoroughly testing each parameter and validating the data set. I feel like this is the best way for me to contribute...

All pass so far, which totally rocks!

Collections

  1. Get v1/collections a. Name parameter contains “art” = api.thewalters.org/v1/collections?name=art Should return 8 results in XML . PASS

b. Name parameter contains “art” = api.thewalters.org/v1/collections.JSON?name=art Should return 8 results in JSON. PASS

c. Description parameter contains “gold” = api.thewalters.org/v1/collections?desc=gold Should return 3 results in XML. PASS

d. Keyword parameter contains “kozuka” = api.thewalters.org/v1/collections?keyword=kozuka Should return 1 result in XML. PASS (issue #5)

Objects

  1. GET v1/objects a. Title parameter contains “Henry” = http://api.thewalters.org/v1/objects?title=Henry Should return 25 results in XML . PASS (Issue #8)

b. Creator parameter contains “Monet” = http://api.thewalters.org/v1/objects?creator=Monet Should return 2 results. PASS (Issue #5 )

c. Result set is up to date and unnecessary fields have been removed, fields are named correctly, and no unexpected null fields exist. PASS (Issue #5, #32, #33 )

  1. GET v1/objects/{id} a. Return a single object using an ID in both XML and JSON with the correct result set of fields (as described in 2C). PASS
  2. GET v1/objects/{id}/images a. Return image information about an object using an ID in both XML and JSON. http://api.thewalters.org/v1/objects/10078/images PASS

Exhibitions

  1. GET v1/exhibitions a. Title parameter contains “Henry” = http://api.thewalters.org/v1/exhibitions?title=Henry Should return 5 results. Should return in both JSON and XML using that parameter. PASS (Issue #14, Issue #27 )

b. Textblock parameter contains “Cincinnati” = Should return 6 results. Cincinnati is spelled wrong 5 times in TMS! Oy! PASS (Issue #14, Issue #27 )

c. DisplayDate parameter contains “March 1, 2003” Should return 1 result. PASS (Issue #14, Issue #27 )

d. BeginYear parameter = 1851 Should return 2 results. PASS(Issue #14, Issue #27 )

e. EndYear parameter = 1851 Should return 2 results. PASS (Issue #14, Issue #27 )

f. BeginYear and EndYear return a between range when both present where Begin Year = 1970 and End Year = 1975 Should return 22 results. When range searching, exhibitions with no end year (which is expressed as 0 in the data) are included in search results. Minor.
PASS (Issue #14, Issue #27 )

kateblanch commented 10 years ago

Geographies

  1. GET v1/geographies a. GeoType parameter = “Place Depicted” Should return geographies where GeoType = Place Depicted. PASS b. GeoTerm parameter contains “Island”. Should return geographies where Island is contained within the GeoTerm value. PASS c. GeoHeirarchy parameter contains “island”. Should return geographies where island is contained within the GeoHeirarchy value. PASS
  2. GET v1/geographies/{id}/objects a. ID parameter = “1471431” Should return objects whose geographical reference is 1471431. PASS

Museum Locations

  1. GET v1/museum/locations a. Display parameter contains “Italian”. Should return all museum locations that contain the string “Italian”. PASS b. LocationID = 4571. Should return one museum location having ID = 4571. PASS c. Public Access = true. Should return all museum locations where Public Access = TRUE. PASS d. Site = CEN. Should return all museum locations where Site = CEN. PASS e. Room = 104. Should return all museum locations where Room = 104.
  2. GET v1/museum/locations/{id}/objects a. ID = 4571. Should return all objects having location id = 4571. PASS
kateblanch commented 10 years ago

All the parameter logic returns the correct results and each result set contains the correct fields. Great work!