From 61abb74a6be433dfd0b19a939e2770c614c474ed Mon Sep 17 00:00:00 2001 From: gcarron <gcarron@grandlyon.com> Date: Thu, 25 Feb 2021 17:11:27 +0100 Subject: [PATCH] Change userEcogesture to userAction --- ...erEcogesture.enum.ts => userAction.enum.ts} | 2 +- src/models/action.model.ts | 8 ++++++++ src/models/challenge.model.ts | 4 ++-- src/models/ecogesture.model.ts | 7 ------- src/models/index.ts | 1 + src/services/action.service.spec.ts | 8 ++++---- src/services/action.service.ts | 18 +++++++++--------- 7 files changed, 25 insertions(+), 23 deletions(-) rename src/enum/{userEcogesture.enum.ts => userAction.enum.ts} (57%) create mode 100644 src/models/action.model.ts diff --git a/src/enum/userEcogesture.enum.ts b/src/enum/userAction.enum.ts similarity index 57% rename from src/enum/userEcogesture.enum.ts rename to src/enum/userAction.enum.ts index 22ce30496..d50f45013 100644 --- a/src/enum/userEcogesture.enum.ts +++ b/src/enum/userAction.enum.ts @@ -1,4 +1,4 @@ -export enum UserEcogestureState { +export enum UserActionState { UNSTARTED = 0, ONGOING = 1, DONE = 2, diff --git a/src/models/action.model.ts b/src/models/action.model.ts new file mode 100644 index 000000000..c483f1ab9 --- /dev/null +++ b/src/models/action.model.ts @@ -0,0 +1,8 @@ +import { UserActionState } from 'enum/userAction.enum' +import { DateTime } from 'luxon' +import { Ecogesture } from './index' + +export interface UserAction extends Ecogesture { + state: UserActionState + startDate: DateTime +} diff --git a/src/models/challenge.model.ts b/src/models/challenge.model.ts index 199770da0..b61db6e2c 100644 --- a/src/models/challenge.model.ts +++ b/src/models/challenge.model.ts @@ -11,7 +11,7 @@ import { UserExploration, Relation, } from 'models' -import { UserEcogesture } from './ecogesture.model' +import { UserAction } from './ecogesture.model' export interface ChallengeState { userChallengeList: UserChallenge[] @@ -53,7 +53,7 @@ export interface UserChallengeEntity { endingDate: string | null quiz: UserQuiz exploration: UserExploration - action: UserEcogesture | null + action: UserAction | null } export interface UserChallenge diff --git a/src/models/ecogesture.model.ts b/src/models/ecogesture.model.ts index 83230ff15..632e31b78 100644 --- a/src/models/ecogesture.model.ts +++ b/src/models/ecogesture.model.ts @@ -1,7 +1,5 @@ import { EquipmentType, Room, Season, Usage } from 'enum/ecogesture.enum' import { FluidType } from 'enum/fluid.enum' -import { UserEcogestureState } from 'enum/userEcogesture.enum' -import { DateTime } from 'luxon' export interface Ecogesture { id: string @@ -27,8 +25,3 @@ export interface Ecogesture { _rev?: string _type?: string } - -export interface UserEcogesture extends Ecogesture { - state: UserEcogestureState - startDate: DateTime -} diff --git a/src/models/index.ts b/src/models/index.ts index 7e469cb71..43dc8c9f7 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -1,4 +1,5 @@ export * from './account.model' +export * from './action.model' export * from './challenge.model' export * from './chart.model' export * from './config.model' diff --git a/src/services/action.service.spec.ts b/src/services/action.service.spec.ts index 96c32e2f6..b7c2981db 100644 --- a/src/services/action.service.spec.ts +++ b/src/services/action.service.spec.ts @@ -1,4 +1,4 @@ -import { UserEcogestureState } from 'enum/userEcogesture.enum' +import { UserActionState } from 'enum/UserAction.enum' import { DateTime } from 'luxon' import { AllEcogestureData, @@ -96,14 +96,14 @@ describe('Action Service', () => { DateTime.fromISO('2020-10-01T00:00:00.000Z', { zone: 'utc' }) ) const result = actionService.launchAction(ecogestureDefault) - const UserEcogestureDefault = { + const UserActionDefault = { ...ecogestureDefault, startDate: DateTime.fromISO('2020-10-01T00:00:00.000Z', { zone: 'utc', }), - state: UserEcogestureState.ONGOING, + state: UserActionState.ONGOING, } - expect(result).toEqual(UserEcogestureDefault) + expect(result).toEqual(UserActionDefault) }) it('complete list if < 3', async () => { mockgetEcogesturesByIds.mockResolvedValueOnce([ diff --git a/src/services/action.service.ts b/src/services/action.service.ts index 7e47adeed..9ad041784 100644 --- a/src/services/action.service.ts +++ b/src/services/action.service.ts @@ -1,10 +1,10 @@ import { Client } from 'cozy-client' import { Season } from 'enum/ecogesture.enum' import { FluidType } from 'enum/fluid.enum' -import { UserEcogestureState } from 'enum/userEcogesture.enum' +import { UserActionState } from 'enum/UserAction.enum' import { orderBy } from 'lodash' import { DateTime, Interval } from 'luxon' -import { Ecogesture, UserEcogesture } from 'models' +import { Ecogesture, UserAction } from 'models' import ChallengeService from './challenge.service' import EcogestureService from './ecogesture.service' @@ -32,7 +32,7 @@ export default class ActionService { const actionsDone: (string | null)[] = userChallenges .map(challenge => challenge.action) - .filter(action => action && action.state === UserEcogestureState.DONE) + .filter(action => action && action.state === UserActionState.DONE) .map(action => action && action.id) //Remove actions Done from the list if (actionsDone.length > 0) { @@ -162,18 +162,18 @@ export default class ActionService { } /** - *launchAction - parse ecogesture to userEcogesture and launch it + *launchAction - parse ecogesture to UserAction and launch it @param {Ecogesture} Ecogesture - @returns {UserEcogesture} + @returns {UserAction} */ - public launchAction(ecogesture: Ecogesture): UserEcogesture { - const userEcogesture: UserEcogesture = { + public launchAction(ecogesture: Ecogesture): UserAction { + const UserAction: UserAction = { ...ecogesture, startDate: DateTime.local().setZone('utc', { keepLocalTime: true, }), - state: UserEcogestureState.ONGOING, + state: UserActionState.ONGOING, } - return userEcogesture + return UserAction } } -- GitLab