[
  {
    "tags": [],
    "description": {
      "full": "",
      "summary": "",
      "body": ""
    },
    "isPrivate": false,
    "isConstructor": false,
    "line": 1,
    "codeStart": null,
    "code": "import {bootstrap}     from 'aurelia-bootstrapper';\nimport {newComponent}  from \"test/render\";\n\nlet component : any;\n\n\n\nafterEach(() => {\n    component.dispose();\n});\n\nfunction initialize(template : string, bindingContext ?: any) {\n    component = newComponent(template,\n        bindingContext,\n        'card/card'\n    );\n}\n\ntest('card must be initializable', async (done) => {\n    initialize(`aire-card`);\n    \n    \n    await component.create(bootstrap);\n\n    let element = document.querySelector('.uk-card');\n    expect(element).toBeTruthy();\n    done();\n\n});\n\ntest('card must have a default slot', async (done) => {\n    initialize(`\naire-card\n    p wabbo\n    `);\n\n    await component.create(bootstrap);\n\n    let p = document.querySelector('p');\n    expect(p.textContent).toBe(\"wabbo\");\n    done();\n});\n\n\ntest('card can take a header argument', async (done) => {\n    initialize(`aire-card(header)`);\n\n    await component.create(bootstrap);\n\n    let header = document.querySelector('.uk-card-header');\n    expect(header.classList.contains(\"aurelia-hide\")).toBeFalsy();\n\n    done();\n});\n\ntest('card can take a header slot', async (done) => {\n    initialize(`\naire-card(header)\n    p(slot=\"header\") Henlo\n    `);\n\n    await component.create(bootstrap);\n\n    let p = document.querySelector('.uk-card-header p');\n    expect(p.textContent).toBe(\"Henlo\");\n    done();\n});\n\ntest('card can take a footer argument', async (done) => {\n    initialize(`aire-card(footer)`);\n\n    await component.create(bootstrap);\n\n    let header = document.querySelector('.uk-card-footer');\n    expect(header.classList.contains(\"aurelia-hide\")).toBeFalsy();\n\n    done();\n});\n\ntest('card can take a footer slot', async (done) => {\n    initialize(`\naire-card(footer)\n    p(slot=\"footer\") Toodles\n    `);\n\n    await component.create(bootstrap);\n\n    let p = document.querySelector('.uk-card-footer p');\n    expect(p.textContent).toBe(\"Toodles\");\n    done();\n});\n\ntest(\"card will not show header or footer without arguments\", async(done) => {\n    initialize(`aire-card`);\n\n    await component.create(bootstrap);\n\n    let header = document.querySelector('.uk-card-header'),\n        footer = document.querySelector('.uk-card-footer');\n\n    expect(header.classList.contains(\"aurelia-hide\")).toBeTruthy();\n    expect(footer.classList.contains(\"aurelia-hide\")).toBeTruthy();\n    done();\n});\n\ntest('card can take a default argument', async (done) => {\n    initialize(`aire-card(default)`);\n\n    await component.create(bootstrap);\n\n    let card = document.querySelector('.uk-card.uk-card-default');\n    expect(card).toBeTruthy();\n    done();\n});\n\ntest('card can take a primary argument', async (done) => {\n    initialize(`aire-card(primary)`);\n\n    await component.create(bootstrap);\n\n    let card = document.querySelector('.uk-card.uk-card-primary');\n    expect(card).toBeTruthy();\n    done();\n});\n\ntest('card can take a secondary argument', async (done) => {\n    initialize(`aire-card(secondary)`);\n\n    await component.create(bootstrap);\n\n    let card = document.querySelector('.uk-card.uk-card-secondary');\n    expect(card).toBeTruthy();\n    done();\n});\n\ntest('card can take a hover argument', async (done) => {\n    initialize(`aire-card(hover)`);\n\n    await component.create(bootstrap);\n\n    let card = document.querySelector('.uk-card.uk-card-hover');\n    expect(card).toBeTruthy();\n    done();\n});\n\ntest('card can take a padding argument', async (done) => {\n    initialize(`aire-card(padding)`);\n\n    await component.create(bootstrap);\n\n    let card = document.querySelector('.uk-card.uk-card-body');\n    expect(card).toBeTruthy();\n    done();\n});\n\ntest('card can take a padding-small argument', async (done) => {\n    initialize(`aire-card(padding-small)`);\n\n    await component.create(bootstrap);\n\n    let card = document.querySelector('.uk-card.uk-card-body.uk-card-small');\n    expect(card).toBeTruthy();\n    done();\n});\n\ntest('card can take a padding-large argument', async (done) => {\n    initialize(`aire-card(padding-large)`);\n\n    await component.create(bootstrap);\n\n    let card = document.querySelector('.uk-card.uk-card-body.uk-card-large');\n    expect(card).toBeTruthy();\n    done();\n});",
    "ctx": false
  }
]