react-native-easy-calendar
Version:
Customizable, easy-to-use, performant calendar components for React Native
77 lines (62 loc) • 2.37 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("@testing-library/react-native");
var _Contexts = require("../Contexts");
var _Themes = require("../Themes");
var _Locales = require("../Locales");
var _Weekdays = _interopRequireDefault(require("./Weekdays"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
test('Weekdays render without error', () => {
const weekdays = new WeekdaysPage();
expect(weekdays.component).toBeTruthy();
});
test('Weekday receives locale context', () => {
const weekdays = new WeekdaysPage();
expect(weekdays.array).toStrictEqual(locale.weekdays);
});
describe('Theme context', () => {
test('Weekday container applies weekdayContainer theme', () => {
const weekdays = new WeekdaysPage();
expect(weekdays.component).toHaveStyle(theme.weekdaysContainer);
});
test('Weekday text applies weekdayText theme', () => {
const weekdays = new WeekdaysPage();
expect(weekdays.text).toHaveStyle(theme.weekdayText);
});
});
class WeekdaysPage {
constructor() {
_defineProperty(this, "component", void 0);
_defineProperty(this, "text", void 0);
_defineProperty(this, "array", void 0);
const {
getByTestId,
getAllByTestId
} = (0, _reactNative.render)( /*#__PURE__*/_react.default.createElement(_Contexts.LocaleContext.Provider, {
value: locale
}, /*#__PURE__*/_react.default.createElement(_Contexts.ThemeContext.Provider, {
value: theme
}, /*#__PURE__*/_react.default.createElement(_Weekdays.default, {
days: locale.weekdays
}))));
const allWeekdays = getAllByTestId('weekday');
this.component = getByTestId('weekdays');
this.array = allWeekdays.map(day => day.children[0]);
this.text = allWeekdays[0];
}
}
const locale = { ..._Locales.DefaultLocale,
weekdays: ['A', 'B', 'C', 'D', 'E', 'F', 'G']
};
const theme = { ..._Themes.DefaultTheme,
weekdaysContainer: {
marginTop: 10,
backgroundColor: 'black'
},
weekdayText: {
marginBottom: 10,
color: 'green'
}
};
//# sourceMappingURL=Weekdays.test.js.map