import * as React from "react";
import { View } from "react-native";
import ReactTestRenderer from "react-test-renderer";

import { CollapsibleTextContainer } from "../CollapsibleTextContainer";

describe("CollapsibleTextContainer", () => {
  it("render container+children when label is presented", () => {
    const renderer = ReactTestRenderer.create(
      <CollapsibleTextContainer
        backgroundColor="#000000"
        label={"label"}
        style={{}}
      >
        <View />
      </CollapsibleTextContainer>
    );

    const result = renderer.toJSON();

    expect(result).not.toBeNull();
    expect(renderer.toJSON()).toMatchSnapshot();
  });

  it("render nothing when label is empty", () => {
    const renderer = ReactTestRenderer.create(
      <CollapsibleTextContainer backgroundColor="#000000" label={""} style={{}}>
        <View />
      </CollapsibleTextContainer>
    );

    const result = renderer.toJSON();
    expect(result).toBeNull();
  });

  it("render nothing when label is not passed", () => {
    const renderer = ReactTestRenderer.create(
      <CollapsibleTextContainer backgroundColor="#000000" label={""} style={{}}>
        <View />
      </CollapsibleTextContainer>
    );

    const result = renderer.toJSON();
    expect(result).toBeNull();
  });

  it("render nothing when label is undefined", () => {
    const renderer = ReactTestRenderer.create(
      <CollapsibleTextContainer
        backgroundColor="#000000"
        label={undefined}
        style={{}}
      >
        <View />
      </CollapsibleTextContainer>
    );

    const result = renderer.toJSON();
    expect(result).toBeNull();
  });
});
