---
setup:
  - do:
      indices.create:
          index: nestedindex
          body:
              mappings:
                  company:
                      properties:
                          companyname:
                              type: string
                          employee:
                              type: nested
                              properties:
                                  name:
                                      type: string


  - do:
      indices.refresh: {}
  - do:
      index:
          index: nestedindex
          type:  ".percolator"
          id:    query
          body:  { "query": { "nested": { "path": "employee", "score_mode": "avg", "query": { "match": { "employee.name": { "query": "virginia potts", "operator": "and"} } } } } }
  - do:
      indices.refresh: {}


---
"Basic percolation tests on nested doc":
  - do:
      percolate:
        index: nestedindex
        type:  company
        body: { "doc": { "companyname": "stark", "employee": [ { "name": "virginia stark"}, { "name": "tony potts"} ] } }

  - match: {'total': 0}

  - do:
      percolate:
          index: nestedindex
          type:  company
          body: { "doc": { "companyname": "stark", "employee": [ { "name": "virginia potts"}, { "name": "tony stark"} ] } }

  - match: {'total': 1}

---
"Percolate existing docs":
  - do:
      index:
          index: nestedindex
          type:  company
          id:    notmatching
          body: { "companyname": "stark", "employee": [ { "name": "virginia stark"}, { "name": "tony potts"} ] }


  - do:
      index:
          index: nestedindex
          type:  company
          id:    matching
          body: { "companyname": "stark", "employee": [ { "name": "virginia potts"}, { "name": "tony stark"} ] }

  - do:
      indices.refresh: {}

  - do:
      percolate:
          index: nestedindex
          type:  company
          id: notmatching

  - match: {'total': 0}

  - do:
      percolate:
          index: nestedindex
          type:  company
          id: matching

  - match: {'total': 1}

---
"Test multi percolate":


  - do:
      mpercolate:
         body:
            - percolate: {"index": "nestedindex", "type": "company"}
            - doc: { "companyname": "stark", "employee": [ { "name": "virginia stark"}, { "name": "tony potts"} ] }
            - percolate: {"index": "nestedindex", "type": "company"}
            - doc: { "companyname": "stark", "employee": [ { "name": "virginia potts"}, { "name": "tony stark"} ] }

  - match: {'responses.0.total': 0}
  - match: {'responses.1.total': 1}

  - do:
      mpercolate:
         body:
            - percolate: {"index": "nestedindex", "type": "company"}
            - doc: { "companyname": "stark", "employee": [ { "name": "virginia potts"}, {"name": "tony stark"} ] }
            - percolate: {"index": "nestedindex", "type": "company"}
            - doc: { "companyname": "stark", "employee": [ { "name": "virginia stark"}, { "name": "tony potts"} ] }


  - match: {'responses.0.total': 1}
  - match: {'responses.1.total': 0}



