%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/shaban/duassis/api/vendor/swagger-api/swagger-ui/test/mocha/components/
Upload File :
Create Path :
Current File : //var/www/html/shaban/duassis/api/vendor/swagger-api/swagger-ui/test/mocha/components/schemes.jsx

/* eslint-env mocha */
import React from "react"
import expect, { createSpy } from "expect"
import { shallow } from "enzyme"
import { fromJS } from "immutable"
import Schemes from "components/schemes"

describe("<Schemes/>", function(){
  it("calls props.specActions.setScheme() when no currentScheme is selected", function(){

    let setSchemeSpy = createSpy()

    // Given
    let props = {
      specActions: {
        setScheme: setSchemeSpy
      },
      schemes: fromJS([
        "http",
        "https"
      ]),
      currentScheme: undefined,
      path: "/test",
      method: "get"
    }

    // When
    let wrapper = shallow(<Schemes {...props}/>)

    // Then currentScheme should default to first scheme in options list
    expect(props.specActions.setScheme).toHaveBeenCalledWith("http", "/test" , "get")

    // When the currentScheme is no longer in the list of options
    props.schemes = fromJS([
      "https"
    ])
    wrapper.setProps(props)

    // Then currentScheme should default to first scheme in options list, again
    expect(props.specActions.setScheme).toHaveBeenCalledWith("https", "/test", "get")
  })

  it("doesn't call props.specActions.setScheme() when schemes hasn't changed", function(){

    let setSchemeSpy = createSpy()

    // Given
    let props = {
      specActions: {
        setScheme: setSchemeSpy
      },
      schemes: fromJS([
        "http",
        "https"
      ]),
      currentScheme: "https"
    }

    // When
    let wrapper = shallow(<Schemes {...props}/>)

    // Should be called initially, to set the global state
    expect(setSchemeSpy.calls.length).toEqual(1)

    // After an update
    wrapper.instance().componentWillReceiveProps(props)

    // Should not be called again, since `currentScheme` is in schemes
    expect(setSchemeSpy.calls.length).toEqual(1)
  })
})

Zerion Mini Shell 1.0