forked from vergnet/application-amicale
Added more tests and removed useless functions
This commit is contained in:
parent
0b84da8b93
commit
3a301bcbef
6 changed files with 134 additions and 79 deletions
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import {Image, ScrollView, View} from 'react-native';
|
import {Image, ScrollView, View} from 'react-native';
|
||||||
import ThemeManager from "../../utils/ThemeManager";
|
|
||||||
import HTML from "react-native-render-html";
|
import HTML from "react-native-render-html";
|
||||||
import {Linking} from "expo";
|
import {Linking} from "expo";
|
||||||
import PlanningEventManager from '../../utils/PlanningEventManager';
|
import PlanningEventManager from '../../utils/PlanningEventManager';
|
||||||
import {Card, withTheme} from 'react-native-paper';
|
import {Card, withTheme} from 'react-native-paper';
|
||||||
|
import DateManager from "../../utils/DateManager";
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
navigation: Object,
|
navigation: Object,
|
||||||
|
@ -37,7 +37,10 @@ class PlanningDisplayScreen extends React.Component<Props> {
|
||||||
<ScrollView style={{paddingLeft: 5, paddingRight: 5}}>
|
<ScrollView style={{paddingLeft: 5, paddingRight: 5}}>
|
||||||
<Card.Title
|
<Card.Title
|
||||||
title={this.displayData.title}
|
title={this.displayData.title}
|
||||||
subtitle={PlanningEventManager.getFormattedTime(this.displayData) + ' | ' + PlanningEventManager.getEventStartDate(this.displayData)}
|
subtitle={
|
||||||
|
PlanningEventManager.getFormattedEventTime(this.displayData["date_begin"], this.displayData["date_end"])
|
||||||
|
+ ' | '
|
||||||
|
+ DateManager.getInstance().getTranslatedDate(PlanningEventManager.getDateOnlyString(this.displayData["date_begin"]))}
|
||||||
/>
|
/>
|
||||||
{this.displayData.logo !== null ?
|
{this.displayData.logo !== null ?
|
||||||
<View style={{width: '100%', height: 300}}>
|
<View style={{width: '100%', height: 300}}>
|
||||||
|
|
|
@ -37,7 +37,7 @@ const AGENDA_MONTH_SPAN = 3;
|
||||||
*/
|
*/
|
||||||
export default class PlanningScreen extends React.Component<Props, State> {
|
export default class PlanningScreen extends React.Component<Props, State> {
|
||||||
|
|
||||||
agendaRef: Agenda;
|
agendaRef: Object;
|
||||||
webDataManager: WebDataManager;
|
webDataManager: WebDataManager;
|
||||||
|
|
||||||
lastRefresh: Date;
|
lastRefresh: Date;
|
||||||
|
@ -122,7 +122,7 @@ export default class PlanningScreen extends React.Component<Props, State> {
|
||||||
generateEmptyCalendar() {
|
generateEmptyCalendar() {
|
||||||
let end = new Date(new Date().setMonth(new Date().getMonth() + AGENDA_MONTH_SPAN + 1));
|
let end = new Date(new Date().setMonth(new Date().getMonth() + AGENDA_MONTH_SPAN + 1));
|
||||||
let daysOfYear = {};
|
let daysOfYear = {};
|
||||||
for (let d = new Date(2019, 8, 1); d <= end; d.setDate(d.getDate() + 1)) {
|
for (let d = new Date(); d <= end; d.setDate(d.getDate() + 1)) {
|
||||||
daysOfYear[this.getFormattedDate(new Date(d))] = []
|
daysOfYear[this.getFormattedDate(new Date(d))] = []
|
||||||
}
|
}
|
||||||
return daysOfYear;
|
return daysOfYear;
|
||||||
|
@ -136,8 +136,8 @@ export default class PlanningScreen extends React.Component<Props, State> {
|
||||||
<Divider/>
|
<Divider/>
|
||||||
<List.Item
|
<List.Item
|
||||||
title={item.title}
|
title={item.title}
|
||||||
description={PlanningEventManager.getFormattedTime(item)}
|
description={PlanningEventManager.getFormattedEventTime(item["date_begin"], item["date_end"])}
|
||||||
left={props => <Avatar.Image
|
left={() => <Avatar.Image
|
||||||
source={{uri: item.logo}}
|
source={{uri: item.logo}}
|
||||||
style={{backgroundColor: 'transparent'}}
|
style={{backgroundColor: 'transparent'}}
|
||||||
/>}
|
/>}
|
||||||
|
@ -151,7 +151,7 @@ export default class PlanningScreen extends React.Component<Props, State> {
|
||||||
<Divider/>
|
<Divider/>
|
||||||
<List.Item
|
<List.Item
|
||||||
title={item.title}
|
title={item.title}
|
||||||
description={PlanningEventManager.getFormattedTime(item)}
|
description={PlanningEventManager.getFormattedEventTime(item["date_begin"], item["date_end"])}
|
||||||
onPress={onPress}
|
onPress={onPress}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
|
@ -205,8 +205,8 @@ export default class PlanningScreen extends React.Component<Props, State> {
|
||||||
generateEventAgenda(eventList: Array<Object>) {
|
generateEventAgenda(eventList: Array<Object>) {
|
||||||
let agendaItems = this.generateEmptyCalendar();
|
let agendaItems = this.generateEmptyCalendar();
|
||||||
for (let i = 0; i < eventList.length; i++) {
|
for (let i = 0; i < eventList.length; i++) {
|
||||||
if (agendaItems[PlanningEventManager.getEventStartDate(eventList[i])] !== undefined) {
|
if (PlanningEventManager.getDateOnlyString(eventList[i]["date_begin"]) !== undefined) {
|
||||||
this.pushEventInOrder(agendaItems, eventList[i], PlanningEventManager.getEventStartDate(eventList[i]));
|
this.pushEventInOrder(agendaItems, eventList[i], PlanningEventManager.getDateOnlyString(eventList[i]["date_begin"]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.setState({agendaItems: agendaItems})
|
this.setState({agendaItems: agendaItems})
|
||||||
|
@ -217,7 +217,7 @@ export default class PlanningScreen extends React.Component<Props, State> {
|
||||||
agendaItems[startDate].push(event);
|
agendaItems[startDate].push(event);
|
||||||
else {
|
else {
|
||||||
for (let i = 0; i < agendaItems[startDate].length; i++) {
|
for (let i = 0; i < agendaItems[startDate].length; i++) {
|
||||||
if (PlanningEventManager.isEventBefore(event, agendaItems[startDate][i])) {
|
if (PlanningEventManager.isEventBefore(event["date_begin"], agendaItems[startDate][i]["date_begin"])) {
|
||||||
agendaItems[startDate].splice(i, 0, event);
|
agendaItems[startDate].splice(i, 0, event);
|
||||||
break;
|
break;
|
||||||
} else if (i === agendaItems[startDate].length - 1) {
|
} else if (i === agendaItems[startDate].length - 1) {
|
||||||
|
@ -228,7 +228,7 @@ export default class PlanningScreen extends React.Component<Props, State> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onAgendaRef(ref: Agenda) {
|
onAgendaRef(ref: Object) {
|
||||||
this.agendaRef = ref;
|
this.agendaRef = ref;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import {View} from 'react-native';
|
import {View} from 'react-native';
|
||||||
import i18n from "i18n-js";
|
import DateManager from "../utils/DateManager";
|
||||||
import WebSectionList from "../components/WebSectionList";
|
import WebSectionList from "../components/WebSectionList";
|
||||||
import {Card, Text, withTheme} from 'react-native-paper';
|
import {Card, Text, withTheme} from 'react-native-paper';
|
||||||
import AprilFoolsManager from "../utils/AprilFoolsManager";
|
import AprilFoolsManager from "../utils/AprilFoolsManager";
|
||||||
|
@ -19,10 +19,6 @@ type Props = {
|
||||||
*/
|
*/
|
||||||
class SelfMenuScreen extends React.Component<Props> {
|
class SelfMenuScreen extends React.Component<Props> {
|
||||||
|
|
||||||
// Hard code strings as toLocaleDateString does not work on current android JS engine
|
|
||||||
daysOfWeek = [];
|
|
||||||
monthsOfYear = [];
|
|
||||||
|
|
||||||
getRenderItem: Function;
|
getRenderItem: Function;
|
||||||
getRenderSectionHeader: Function;
|
getRenderSectionHeader: Function;
|
||||||
createDataset: Function;
|
createDataset: Function;
|
||||||
|
@ -30,26 +26,6 @@ class SelfMenuScreen extends React.Component<Props> {
|
||||||
|
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.daysOfWeek.push(i18n.t("date.daysOfWeek.monday"));
|
|
||||||
this.daysOfWeek.push(i18n.t("date.daysOfWeek.tuesday"));
|
|
||||||
this.daysOfWeek.push(i18n.t("date.daysOfWeek.wednesday"));
|
|
||||||
this.daysOfWeek.push(i18n.t("date.daysOfWeek.thursday"));
|
|
||||||
this.daysOfWeek.push(i18n.t("date.daysOfWeek.friday"));
|
|
||||||
this.daysOfWeek.push(i18n.t("date.daysOfWeek.saturday"));
|
|
||||||
this.daysOfWeek.push(i18n.t("date.daysOfWeek.sunday"));
|
|
||||||
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.january"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.february"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.march"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.april"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.may"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.june"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.july"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.august"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.september"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.october"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.november"));
|
|
||||||
this.monthsOfYear.push(i18n.t("date.monthsOfYear.december"));
|
|
||||||
|
|
||||||
this.getRenderItem = this.getRenderItem.bind(this);
|
this.getRenderItem = this.getRenderItem.bind(this);
|
||||||
this.getRenderSectionHeader = this.getRenderSectionHeader.bind(this);
|
this.getRenderSectionHeader = this.getRenderSectionHeader.bind(this);
|
||||||
|
@ -80,7 +56,7 @@ class SelfMenuScreen extends React.Component<Props> {
|
||||||
for (let i = 0; i < fetchedData.length; i++) {
|
for (let i = 0; i < fetchedData.length; i++) {
|
||||||
result.push(
|
result.push(
|
||||||
{
|
{
|
||||||
title: this.getFormattedDate(fetchedData[i].date),
|
title: DateManager.getInstance().getTranslatedDate(fetchedData[i].date),
|
||||||
data: fetchedData[i].meal[0].foodcategory,
|
data: fetchedData[i].meal[0].foodcategory,
|
||||||
extraData: super.state,
|
extraData: super.state,
|
||||||
keyExtractor: this.getKeyExtractor,
|
keyExtractor: this.getKeyExtractor,
|
||||||
|
@ -90,13 +66,6 @@ class SelfMenuScreen extends React.Component<Props> {
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
getFormattedDate(dateString: string) {
|
|
||||||
let dateArray = dateString.split('-');
|
|
||||||
let date = new Date();
|
|
||||||
date.setFullYear(parseInt(dateArray[0]), parseInt(dateArray[1]) - 1, parseInt(dateArray[2]));
|
|
||||||
return this.daysOfWeek[date.getDay() - 1] + " " + date.getDate() + " " + this.monthsOfYear[date.getMonth()] + " " + date.getFullYear();
|
|
||||||
}
|
|
||||||
|
|
||||||
getRenderSectionHeader({section}: Object) {
|
getRenderSectionHeader({section}: Object) {
|
||||||
return (
|
return (
|
||||||
<Card style={{
|
<Card style={{
|
||||||
|
|
50
utils/DateManager.js
Normal file
50
utils/DateManager.js
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
import i18n from 'i18n-js';
|
||||||
|
|
||||||
|
export default class DateManager {
|
||||||
|
static instance: DateManager | null = null;
|
||||||
|
|
||||||
|
// Hard code strings as toLocaleDateString does not work on current android JS engine
|
||||||
|
daysOfWeek = [];
|
||||||
|
monthsOfYear = [];
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
this.daysOfWeek.push(i18n.t("date.daysOfWeek.monday"));
|
||||||
|
this.daysOfWeek.push(i18n.t("date.daysOfWeek.tuesday"));
|
||||||
|
this.daysOfWeek.push(i18n.t("date.daysOfWeek.wednesday"));
|
||||||
|
this.daysOfWeek.push(i18n.t("date.daysOfWeek.thursday"));
|
||||||
|
this.daysOfWeek.push(i18n.t("date.daysOfWeek.friday"));
|
||||||
|
this.daysOfWeek.push(i18n.t("date.daysOfWeek.saturday"));
|
||||||
|
this.daysOfWeek.push(i18n.t("date.daysOfWeek.sunday"));
|
||||||
|
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.january"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.february"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.march"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.april"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.may"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.june"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.july"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.august"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.september"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.october"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.november"));
|
||||||
|
this.monthsOfYear.push(i18n.t("date.monthsOfYear.december"));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get this class instance or create one if none is found
|
||||||
|
* @returns {DateManager}
|
||||||
|
*/
|
||||||
|
static getInstance(): DateManager {
|
||||||
|
return DateManager.instance === null ?
|
||||||
|
DateManager.instance = new DateManager() :
|
||||||
|
DateManager.instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
getTranslatedDate(dateString: string) {
|
||||||
|
let dateArray = dateString.split('-');
|
||||||
|
let date = new Date();
|
||||||
|
date.setFullYear(parseInt(dateArray[0]), parseInt(dateArray[1]) - 1, parseInt(dateArray[2]));
|
||||||
|
return this.daysOfWeek[date.getDay() - 1] + " " + date.getDate() + " " + this.monthsOfYear[date.getMonth()] + " " + date.getFullYear();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -3,44 +3,34 @@ export default class PlanningEventManager {
|
||||||
// Regex used to check date string validity
|
// Regex used to check date string validity
|
||||||
static dateRegExp = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/;
|
static dateRegExp = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/;
|
||||||
|
|
||||||
static isEventBefore(event1: Object, event2: Object) {
|
/**
|
||||||
let date1 = new Date();
|
* Checks if the given date is before the other.
|
||||||
let date2 = new Date();
|
*
|
||||||
let timeArray = PlanningEventManager.getEventStartTime(event1).split(":");
|
* @param event1Date Event 1 date in format YYYY-MM-DD HH:MM:SS
|
||||||
date1.setHours(parseInt(timeArray[0]), parseInt(timeArray[1]));
|
* @param event2Date Event 2 date in format YYYY-MM-DD HH:MM:SS
|
||||||
timeArray = PlanningEventManager.getEventStartTime(event2).split(":");
|
* @return {boolean}
|
||||||
date2.setHours(parseInt(timeArray[0]), parseInt(timeArray[1]));
|
*/
|
||||||
|
static isEventBefore(event1Date: ?string, event2Date: ?string) {
|
||||||
|
let date1 = PlanningEventManager.stringToDate(event1Date);
|
||||||
|
let date2 = PlanningEventManager.stringToDate(event2Date);
|
||||||
|
if (date1 !== undefined && date2 !== undefined)
|
||||||
return date1 < date2;
|
return date1 < date2;
|
||||||
}
|
|
||||||
|
|
||||||
static getEventStartDate(event: Object) {
|
|
||||||
return event.date_begin.split(" ")[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
static getEventStartTime(event: Object) {
|
|
||||||
if (event !== undefined && Object.keys(event).length > 0 && event.date_begin !== null)
|
|
||||||
return PlanningEventManager.formatTime(event.date_begin.split(" ")[1]);
|
|
||||||
else
|
else
|
||||||
return "";
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static getEventEndTime(event: Object) {
|
/**
|
||||||
if (event !== undefined && Object.keys(event).length > 0 && event.date_end !== null)
|
* Gets only the date part of the given event date string in the format
|
||||||
return PlanningEventManager.formatTime(event.date_end.split(" ")[1]);
|
* YYYY-MM-DD HH:MM:SS
|
||||||
|
*
|
||||||
|
* @param dateString The string to get the date from
|
||||||
|
* @return {string|undefined} Date in format YYYY:MM:DD or undefined if given string is invalid
|
||||||
|
*/
|
||||||
|
static getDateOnlyString(dateString: ?string) {
|
||||||
|
if (PlanningEventManager.isDateStringFormatValid(dateString))
|
||||||
|
return dateString.split(" ")[0];
|
||||||
else
|
else
|
||||||
return "";
|
return undefined;
|
||||||
}
|
|
||||||
|
|
||||||
static getFormattedTime(event: Object) {
|
|
||||||
if (PlanningEventManager.getEventEndTime(event) !== "")
|
|
||||||
return PlanningEventManager.getEventStartTime(event) + " - " + PlanningEventManager.getEventEndTime(event);
|
|
||||||
else
|
|
||||||
return PlanningEventManager.getEventStartTime(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
static formatTime(time: string) {
|
|
||||||
let array = time.split(':');
|
|
||||||
return array[0] + ':' + array[1];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -61,7 +51,7 @@ export default class PlanningEventManager {
|
||||||
* Accepted format: YYYY-MM-DD HH:MM:SS
|
* Accepted format: YYYY-MM-DD HH:MM:SS
|
||||||
*
|
*
|
||||||
* @param dateString The string to convert
|
* @param dateString The string to convert
|
||||||
* @return {Date} The date object or undefined if the given string is invalid
|
* @return {Date|undefined} The date object or undefined if the given string is invalid
|
||||||
*/
|
*/
|
||||||
static stringToDate(dateString: ?string): Date | undefined {
|
static stringToDate(dateString: ?string): Date | undefined {
|
||||||
let date = new Date();
|
let date = new Date();
|
||||||
|
|
|
@ -4,6 +4,7 @@ import PlanningEventManager from "../PlanningEventManager";
|
||||||
test('isDescriptionEmpty', () => {
|
test('isDescriptionEmpty', () => {
|
||||||
expect(PlanningEventManager.isDescriptionEmpty("")).toBeTrue();
|
expect(PlanningEventManager.isDescriptionEmpty("")).toBeTrue();
|
||||||
expect(PlanningEventManager.isDescriptionEmpty(" ")).toBeTrue();
|
expect(PlanningEventManager.isDescriptionEmpty(" ")).toBeTrue();
|
||||||
|
// noinspection CheckTagEmptyBody
|
||||||
expect(PlanningEventManager.isDescriptionEmpty("<p></p>")).toBeTrue();
|
expect(PlanningEventManager.isDescriptionEmpty("<p></p>")).toBeTrue();
|
||||||
expect(PlanningEventManager.isDescriptionEmpty("<p> </p>")).toBeTrue();
|
expect(PlanningEventManager.isDescriptionEmpty("<p> </p>")).toBeTrue();
|
||||||
expect(PlanningEventManager.isDescriptionEmpty("<p><br></p>")).toBeTrue();
|
expect(PlanningEventManager.isDescriptionEmpty("<p><br></p>")).toBeTrue();
|
||||||
|
@ -81,3 +82,45 @@ test('getFormattedEventTime', () => {
|
||||||
.toBe('20:30 - 23:00');
|
.toBe('20:30 - 23:00');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('getDateOnlyString', () => {
|
||||||
|
expect(PlanningEventManager.getDateOnlyString("2020-03-21 09:00:00")).toBe("2020-03-21");
|
||||||
|
expect(PlanningEventManager.getDateOnlyString("2021-12-15 09:00:00")).toBe("2021-12-15");
|
||||||
|
expect(PlanningEventManager.getDateOnlyString("2021-12-o5 09:00:00")).toBeUndefined();
|
||||||
|
expect(PlanningEventManager.getDateOnlyString("2021-12-15 09:")).toBeUndefined();
|
||||||
|
expect(PlanningEventManager.getDateOnlyString("2021-12-15")).toBeUndefined();
|
||||||
|
expect(PlanningEventManager.getDateOnlyString("garbage")).toBeUndefined();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('isEventBefore', () => {
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-03-21 09:00:00", "2020-03-21 10:00:00")).toBeTrue();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-03-21 10:00:00", "2020-03-21 10:15:00")).toBeTrue();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-03-21 10:15:05", "2020-03-21 10:15:54")).toBeTrue();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-03-21 10:15:05", "2021-03-21 10:15:05")).toBeTrue();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-03-21 10:15:05", "2020-05-21 10:15:05")).toBeTrue();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-03-21 10:15:05", "2020-03-30 10:15:05")).toBeTrue();
|
||||||
|
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-03-21 10:00:00", "2020-03-21 09:00:00")).toBeFalse();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-03-21 10:15:00", "2020-03-21 10:00:00")).toBeFalse();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-03-21 10:15:54", "2020-03-21 10:15:05")).toBeFalse();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2021-03-21 10:15:05", "2020-03-21 10:15:05")).toBeFalse();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-05-21 10:15:05", "2020-03-21 10:15:05")).toBeFalse();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"2020-03-30 10:15:05", "2020-03-21 10:15:05")).toBeFalse();
|
||||||
|
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
"garbage", "2020-03-21 10:15:05")).toBeFalse();
|
||||||
|
expect(PlanningEventManager.isEventBefore(
|
||||||
|
undefined, undefined)).toBeFalse();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue