Skip to content

Commit

Permalink
chore: [IAI-127] Removed ts-jest in favour of Babel (pagopa#3742)
Browse files Browse the repository at this point in the history
* Removed `ts-jest`

* FIxed `backoffError` mocks

* Remoted `ts-jest` old config

* Fixed `availableBonusesTypes.test.ts`

* Fixed `FeaturedCardCarousel` tests

* Fixed `FailureActions` import

* Run e2e tests on the CI

* Remoted `ts-jest` from `jest-e2e.config.js`

* Revert "Run e2e tests on the CI"

This reverts commit fc07b24.

Co-authored-by: fabriziofff <[email protected]>
Co-authored-by: pietro909 <[email protected]>
  • Loading branch information
3 people authored Feb 18, 2022
1 parent 0d1e337 commit 5048304
Show file tree
Hide file tree
Showing 12 changed files with 241 additions and 297 deletions.
10 changes: 0 additions & 10 deletions jest-e2e.config.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
const { defaults: tsjPreset } = require("ts-jest/presets");

module.exports = {
...tsjPreset,
preset: "react-native",
transform: {
"^.+\\.ts?$": "ts-jest",
"^.+\\.tsx?$": "ts-jest",
"^.+\\.js$": "<rootDir>/node_modules/react-native/jest/preprocessor.js"
},
transformIgnorePatterns: [
Expand All @@ -14,11 +9,6 @@ module.exports = {
moduleNameMapper: {
"\\.svg": "<rootDir>/ts/__mocks__/svgMock.js"
},
globals: {
"ts-jest": {
babelConfig: true
}
},
setupFilesAfterEnv: ["./e2e/globalSetup.js"],
testMatch: ["**/__e2e__/*.e2e.ts?(x)"],
forceExit: true,
Expand Down
10 changes: 0 additions & 10 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
const { defaults: tsjPreset } = require("ts-jest/presets");

module.exports = {
...tsjPreset,
preset: "react-native",
transform: {
"^.+\\.ts?$": "ts-jest",
"^.+\\.tsx?$": "ts-jest",
"^.+\\.js$": "<rootDir>/node_modules/react-native/jest/preprocessor.js"
},
transformIgnorePatterns: [
Expand All @@ -14,11 +9,6 @@ module.exports = {
moduleNameMapper: {
"\\.svg": "<rootDir>/ts/__mocks__/svgMock.js"
},
globals: {
"ts-jest": {
babelConfig: true
}
},
setupFiles: ["./jestSetup.js"],
globalSetup: "./jestGlobalSetup.js",
setupFilesAfterEnv: ["@testing-library/jest-native/extend-expect"],
Expand Down
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,6 @@
"redux-saga-test-plan": "4.0.3",
"rn-nodeify": "^10.0.1",
"standard-version": "^8.0.2",
"ts-jest": "^25.1.0",
"ts-node": "^7.0.1",
"typescript": "^4.1.0"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {
ID_CGN_TYPE
} from "../../../utils/bonus";
import { BonusAvailable } from "../../../../../../../definitions/content/BonusAvailable";
import * as availableBonusSelectors from "../availableBonusesTypes";
import * as bonus from "../../../utils/bonus";

const bonusMockContent = {
name: "Bonus Vacanze",
Expand All @@ -41,17 +41,15 @@ const mockBonus: BonusAvailable = {

describe("availableBonusesTypes with FF enabled", () => {
it("should return 2 bonuses available", () => {
jest
.spyOn(availableBonusSelectors, "mapBonusIdFeatureFlag")
.mockImplementation(
// eslint-disable-next-line sonarjs/no-identical-functions
() =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, false],
[ID_BPD_TYPE, true],
[ID_CGN_TYPE, true]
])
);
jest.spyOn(bonus, "mapBonusIdFeatureFlag").mockImplementation(
// eslint-disable-next-line sonarjs/no-identical-functions
() =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, false],
[ID_BPD_TYPE, true],
[ID_CGN_TYPE, true]
])
);
expect(
supportedAvailableBonusSelector.resultFunc(
pot.some([...availableBonuses])
Expand All @@ -60,18 +58,16 @@ describe("availableBonusesTypes with FF enabled", () => {
});

it("should return 2 bonuses available if an experimental bonus with no FF is available", () => {
jest
.spyOn(availableBonusSelectors, "mapBonusIdFeatureFlag")
.mockImplementation(
// eslint-disable-next-line sonarjs/no-identical-functions
() =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, false],
[ID_BPD_TYPE, true],
[ID_CGN_TYPE, true],
[4, true]
])
);
jest.spyOn(bonus, "mapBonusIdFeatureFlag").mockImplementation(
// eslint-disable-next-line sonarjs/no-identical-functions
() =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, false],
[ID_BPD_TYPE, true],
[ID_CGN_TYPE, true],
[4, true]
])
);
const bonuses: BonusesAvailable = [
...availableBonuses,
{
Expand All @@ -85,18 +81,16 @@ describe("availableBonusesTypes with FF enabled", () => {
});

it("should return 3 bonuses available if an experimental bonus with no FF is available", () => {
jest
.spyOn(availableBonusSelectors, "mapBonusIdFeatureFlag")
.mockImplementation(
// eslint-disable-next-line sonarjs/no-identical-functions
() =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, false],
[ID_BPD_TYPE, true],
[ID_CGN_TYPE, true],
[4, true]
])
);
jest.spyOn(bonus, "mapBonusIdFeatureFlag").mockImplementation(
// eslint-disable-next-line sonarjs/no-identical-functions
() =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, false],
[ID_BPD_TYPE, true],
[ID_CGN_TYPE, true],
[4, true]
])
);
const bonuses: BonusesAvailable = [
...availableBonuses,
{
Expand All @@ -123,18 +117,16 @@ describe("availableBonusesTypes with FF enabled", () => {
});

it("should return the experimental bonus where the FF is ON", () => {
jest
.spyOn(availableBonusSelectors, "mapBonusIdFeatureFlag")
.mockImplementation(
// eslint-disable-next-line sonarjs/no-identical-functions
() =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, false],
[ID_BPD_TYPE, true],
[ID_CGN_TYPE, true],
[4, true]
])
);
jest.spyOn(bonus, "mapBonusIdFeatureFlag").mockImplementation(
// eslint-disable-next-line sonarjs/no-identical-functions
() =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, false],
[ID_BPD_TYPE, true],
[ID_CGN_TYPE, true],
[4, true]
])
);
const visibility = BonusVisibilityEnum.experimental;
const bonuses: BonusesAvailable = [
{ ...mockBonus, id_type: ID_BONUS_VACANZE_TYPE, visibility },
Expand All @@ -149,18 +141,16 @@ describe("availableBonusesTypes with FF enabled", () => {
});

it("should return the experimental bonus where the FF is ON", () => {
jest
.spyOn(availableBonusSelectors, "mapBonusIdFeatureFlag")
.mockImplementation(
// eslint-disable-next-line sonarjs/no-identical-functions
() =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, false],
[ID_BPD_TYPE, true],
[ID_CGN_TYPE, true],
[4, true]
])
);
jest.spyOn(bonus, "mapBonusIdFeatureFlag").mockImplementation(
// eslint-disable-next-line sonarjs/no-identical-functions
() =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, false],
[ID_BPD_TYPE, true],
[ID_CGN_TYPE, true],
[4, true]
])
);
const visibility = BonusVisibilityEnum.experimental;
const bonuses: BonusesAvailable = [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,16 @@ import { Action } from "../../../../../store/actions/types";
import { GlobalState } from "../../../../../store/reducers/types";
import {
ID_BONUS_VACANZE_TYPE,
ID_BPD_TYPE,
ID_CGN_TYPE
mapBonusIdFeatureFlag
} from "../../utils/bonus";
import { loadAvailableBonuses } from "../actions/bonusVacanze";
import { bonusVacanzeEnabled, bpdEnabled } from "../../../../../config";

import { BonusVisibilityEnum } from "../../../../../../definitions/content/BonusVisibility";

export type AvailableBonusTypesState = pot.Pot<BonusesAvailable, Error>;

const INITIAL_STATE: AvailableBonusTypesState = pot.none;

export const mapBonusIdFeatureFlag = () =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, bonusVacanzeEnabled],
[ID_BPD_TYPE, bpdEnabled],
[ID_CGN_TYPE, true]
]);

const reducer = (
state: AvailableBonusTypesState = INITIAL_STATE,
action: Action
Expand Down
13 changes: 13 additions & 0 deletions ts/features/bonus/bonusVacanze/utils/bonus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
} from "../store/actions/bonusVacanze";
import { BonusActivationProgressEnum } from "../store/reducers/activation";
import { EligibilityRequestProgressEnum } from "../store/reducers/eligibility";
import { bonusVacanzeEnabled, bpdEnabled } from "../../../../config";

export const ID_BONUS_VACANZE_TYPE = 1;
export const ID_BPD_TYPE = 2;
Expand Down Expand Up @@ -65,3 +66,15 @@ const allowedActivationStatus = new Set([
export const isActivationResponseTrackable = (
eligibility: BonusVacanzeActivationPayload
) => allowedActivationStatus.has(eligibility.status);

/**
* Return a Map with the bonus ID as a key and
* a bool representing the relative feature flag
* status as a value.
*/
export const mapBonusIdFeatureFlag = () =>
new Map<number, boolean>([
[ID_BONUS_VACANZE_TYPE, bonusVacanzeEnabled],
[ID_BPD_TYPE, bpdEnabled],
[ID_CGN_TYPE, true]
]);
Loading

0 comments on commit 5048304

Please sign in to comment.