react95-native
Version:
Refreshed Windows 95 style UI components for your React Native app
135 lines (129 loc) • 4.61 kB
JavaScript
"use strict";
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("@testing-library/react-native");
var _Panel = require("../Panel/Panel");
var _ = require("../..");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('<AppBar />', () => {
it('should render children', () => {
const {
getByTestId
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_.AppBar, null, /*#__PURE__*/_react.default.createElement(_.Text, null, "This is an AppBar")));
expect(getByTestId(_Panel.testId)).toHaveTextContent('This is an AppBar');
});
it('should render custom styles', () => {
const style = {
marginTop: 42
};
const {
getByTestId
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_.AppBar, {
style: style
}, /*#__PURE__*/_react.default.createElement(_.Text, null, "This is an AppBar")));
expect(getByTestId(_Panel.testId)).toHaveStyle(style);
});
});
describe('<AppBar.Content />', () => {
it('should render custom styles', () => {
const style = {
marginTop: 42
};
const {
getByTestId
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_.AppBar, null, /*#__PURE__*/_react.default.createElement(_.AppBar.Content, {
title: "Title",
style: style,
testID: "content"
})));
expect(getByTestId('content')).toHaveStyle(style);
});
describe('title', () => {
it('should render title', () => {
const {
getByText
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_.AppBar, null, /*#__PURE__*/_react.default.createElement(_.AppBar.Content, {
title: "Title"
})));
expect(getByText('Title')).toBeTruthy();
});
it('should pass styles to title', () => {
const style = {
color: 'red'
};
const {
getByText
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_.AppBar, null, /*#__PURE__*/_react.default.createElement(_.AppBar.Content, {
title: "Title",
titleStyle: style
})));
expect(getByText('Title')).toHaveStyle(style);
});
});
describe('subtitle', () => {
it('should render subtitle', () => {
const {
getByText
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_.AppBar, null, /*#__PURE__*/_react.default.createElement(_.AppBar.Content, {
title: "Title",
subtitle: "Subtitle"
})));
expect(getByText('Subtitle')).toBeTruthy();
});
it('should pass styles to subtitle', () => {
const style = {
color: 'red'
};
const {
getByText
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_.AppBar, null, /*#__PURE__*/_react.default.createElement(_.AppBar.Content, {
title: "Title",
subtitle: "Subtitle",
subtitleStyle: style
})));
expect(getByText('Subtitle')).toHaveStyle(style);
});
});
describe('prop: onPress', () => {
it('should handle onPress', () => {
const onPress = jest.fn();
const {
getByTestId
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_.AppBar, null, /*#__PURE__*/_react.default.createElement(_.AppBar.Content, {
testID: "content",
onPress: onPress,
title: "Title",
subtitle: "Subtitle"
})));
(0, _reactNative.fireEvent)(getByTestId('content'), 'press');
expect(onPress).toHaveBeenCalled();
});
});
});
describe('<AppBar.BackAction />', () => {
it('should render custom styles', () => {
const style = {
marginTop: 42
};
const {
getByTestId
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_.AppBar, null, /*#__PURE__*/_react.default.createElement(_.AppBar.BackAction, {
testID: "backAction",
style: style
})));
expect(getByTestId('backAction')).toHaveStyle(style);
});
describe('prop: onPress', () => {
it('should handle onPress', () => {
const onPress = jest.fn();
const {
getByTestId
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_.AppBar, null, /*#__PURE__*/_react.default.createElement(_.AppBar.BackAction, {
testID: "backAction",
onPress: onPress
})));
(0, _reactNative.fireEvent)(getByTestId('backAction'), 'press');
expect(onPress).toHaveBeenCalled();
});
});
});
//# sourceMappingURL=AppBar.spec.js.map