Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ADM-898[backend][frontend]: feat: block' in board mapping is mutually exclusive with 'flag as block' #1350

Merged
merged 54 commits into from
Apr 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
417ab93
ADM-898:[backend] feat: should not export cycle time flag on table he…
yulongcai Apr 3, 2024
95756a3
ADM-898:[frontend]feat: not show flagCard when board mapping table ha…
TingyuDong Apr 7, 2024
dc6dde4
ADM-898:[frontend]feat: warning pop-up when conflict
TingyuDong Apr 7, 2024
390dd64
ADM-898:[frontend]refactor: refactor codes
TingyuDong Apr 7, 2024
f07ed38
ADM-898:[frontend]refactor: remove fromFlag
TingyuDong Apr 8, 2024
fe9bb00
ADM-898:[frontend]feat: not show flagCard when board mapping table ha…
TingyuDong Apr 7, 2024
0209347
ADM-873-bug:[backend] feat: add test for as flag is block is false
yulongcai Apr 8, 2024
ce6c3f2
ADM-898:[frontend]feat: add status logic
TingyuDong Apr 8, 2024
2044ec9
ADM-898:[frontend]refactor: refactor code
TingyuDong Apr 8, 2024
e52eb5c
ADM-898:[backend] fix: fix bug for not calculate flag block to cycle …
yulongcai Apr 8, 2024
5097a58
ADM-886:[docs]docs: refactor chart API docs sequence diagram (#1339)
weiraneve Apr 7, 2024
5021e42
ADM 834 add frontend validation to board Id (#1338)
PengxiWPix Apr 7, 2024
4257b73
ADM 751 [docs]docs: fix readme in board mappings part (#1334)
PengxiWPix Apr 7, 2024
e9bd375
chore(sbom): generate sbom when releasing (#1340)
guzhongren Apr 7, 2024
e1090e6
ADM-833:[frontend]feat:add e2e unhappy path scenarios (#1328)
YaoZhang87 Apr 8, 2024
df54c47
ADM-833: [frontend] fix: fix env error (#1341)
YaoZhang87 Apr 8, 2024
e7705aa
Revert "ADM-833: [frontend] fix: fix env error (#1341)" (#1344)
mrcuriosity-tw Apr 8, 2024
7f079c6
[ADM-833][frontend]: chore: fix the e2e env injection error. (#1345)
mrcuriosity-tw Apr 8, 2024
cbfaf72
refactor(e2e): name conversion[frontend]
guzhongren Apr 8, 2024
60e5388
fix(e2e): fix type check[frontend]
guzhongren Apr 8, 2024
17e0913
ADM-898:[frontend]fix: fix test
TingyuDong Apr 8, 2024
ec3c4ee
ADM-898:[frontend]feat: add test for CycleTime
TingyuDong Apr 8, 2024
bf17d58
ADM-898:[frontend]fix: fix UpperCase error
TingyuDong Apr 9, 2024
dc9523c
ADM-898:[frontend]fix: fix default value
TingyuDong Apr 9, 2024
4272c98
ADM-898:[frontend]fix: fix import treatFlagCardAsBlock value
TingyuDong Apr 9, 2024
e4672f6
ADM-898:[backend] fix: repair e2e test
yulongcai Apr 9, 2024
bbf6e21
ADM-898:[backend] fix: repair e2e test to delete check consider flag …
yulongcai Apr 9, 2024
0c12e68
ADM-898:[backend] fix: sonar issue
yulongcai Apr 9, 2024
13c148f
[ADM-877][frontend]: feat: remove the limit of start-date & end-date …
mrcuriosity-tw Apr 9, 2024
3e6f992
ADM-873:[frontend][backend] fix: fix success notification (#1327)
TingyuDong Apr 9, 2024
026c6bc
[frontend] feat/adm 811: Do not clear the configuration settings when…
Apr 9, 2024
49164a7
Adm 910[docs] feat: add Github graghQL rate limit issue (#1348)
BoBoDai Apr 9, 2024
403cb63
Adm 912[frontend]: ui refine date picker in metrics page (#1349)
Leiqiuhong Apr 9, 2024
d6ab186
Merge branch 'main' into ADM-898
yulongcai Apr 9, 2024
0d840a2
ADM-898:[frontend]feat: add block case
TingyuDong Apr 9, 2024
edd0e9a
ADM-898:[frontend]fix: fix test for treatFlagCardAsBlock
TingyuDong Apr 9, 2024
81623cd
Merge branch 'main' into ADM-898
yulongcai Apr 9, 2024
4a86d52
Merge branch 'main' into ADM-898
yulongcai Apr 9, 2024
7a6ff5a
ADM-898:[frontend]fix: fix bug
TingyuDong Apr 10, 2024
128487b
ADM-898 fix: fix treat flag card as block when import
Leiqiuhong Apr 10, 2024
56f5801
ADM-898 fix: fix treat flag card as block when create
Leiqiuhong Apr 10, 2024
8f816ba
ADM-898 refactor: rename
Leiqiuhong Apr 10, 2024
a30a275
ADM-898:[frontend]fix: remove unnecessary cycleTimeSettings
TingyuDong Apr 10, 2024
14ec198
ADM-898 fix: fix test
Leiqiuhong Apr 10, 2024
b1994f0
ADM-898:[backend] refactor: refactor code
yulongcai Apr 11, 2024
05d8434
ADM-898 merge: merge main
Leiqiuhong Apr 11, 2024
597a5d0
ADM-898 test: add unit test
Leiqiuhong Apr 11, 2024
0525441
ADM-898 test: add e2e test for no block column board when create project
Leiqiuhong Apr 11, 2024
8d89f37
ADM-898 test: add e2e test for no block column board when import project
Leiqiuhong Apr 11, 2024
7e18282
ADM-898:[frontend]refactor: iterate over test data and run tests usin…
TingyuDong Apr 12, 2024
613ed79
ADM-898:[frontend]refactor: export BLOCK_COLUMN_NAME
TingyuDong Apr 12, 2024
2996254
Merge branch 'main' into ADM-898
TingyuDong Apr 12, 2024
c1d1261
ADM-898:[frontend]refactor: fix prettier error
TingyuDong Apr 12, 2024
8243759
ADM-898:[frontend]fix: fix the error from merge
TingyuDong Apr 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -844,7 +844,8 @@ private CycleTimeInfoDTO getCycleTime(CardHistoryResponseDTO cardHistoryResponse
keyFlagged);
List<CycleTimeInfo> cycleTimeInfos = boardUtil.getCycleTimeInfos(statusChangedArray, realDoneStatus,
treatFlagCardAsBlock);
List<CycleTimeInfo> originCycleTimeInfos = boardUtil.getOriginCycleTimeInfos(statusChangedArray);
List<CycleTimeInfo> originCycleTimeInfos = boardUtil.getOriginCycleTimeInfos(statusChangedArray,
treatFlagCardAsBlock);

return CycleTimeInfoDTO.builder()
.cycleTimeInfos(cycleTimeInfos)
Expand Down
22 changes: 12 additions & 10 deletions backend/src/main/java/heartbeat/util/BoardUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,12 @@ public class BoardUtil {

private final WorkDay workDay;

public List<CycleTimeInfo> getOriginCycleTimeInfos(List<StatusChangedItem> statusChangedArray) {
public List<CycleTimeInfo> getOriginCycleTimeInfos(List<StatusChangedItem> statusChangedArray,
Boolean treatFlagCardAsBlock) {
List<StatusTimeStamp> flagTimeStamp = getFlagTimeStamps(statusChangedArray);
List<StatusTimeStamp> columnTimeStamp = getColumnTimeStamps(statusChangedArray);
List<CycleTimeInfo> originCycleTimeInfos = calculateOriginCycleTime(flagTimeStamp, columnTimeStamp);
List<CycleTimeInfo> originCycleTimeInfos = calculateOriginCycleTime(flagTimeStamp, columnTimeStamp,
treatFlagCardAsBlock);
return getCollectRemovedDuplicates(originCycleTimeInfos);
}

Expand All @@ -50,7 +52,7 @@ public List<CycleTimeInfo> getCycleTimeInfos(List<StatusChangedItem> statusChang
}

private List<CycleTimeInfo> calculateOriginCycleTime(List<StatusTimeStamp> flagTimeStamp,
List<StatusTimeStamp> columnTimeStamp) {
List<StatusTimeStamp> columnTimeStamp, Boolean treatFlagCardAsBlock) {
List<CycleTimeInfo> originCycleTimeInfos = new ArrayList<>();

for (StatusTimeStamp columnTimeStampItem : columnTimeStamp) {
Expand All @@ -62,9 +64,11 @@ private List<CycleTimeInfo> calculateOriginCycleTime(List<StatusTimeStamp> flagT
.build());
}

double totalFlagTimeInDays = calculateTotalFlagCycleTime(flagTimeStamp);
originCycleTimeInfos
.add(CycleTimeInfo.builder().day(totalFlagTimeInDays).column(CardStepsEnum.FLAG.getValue()).build());
if (Boolean.TRUE.equals(treatFlagCardAsBlock)) {
double totalFlagTimeInDays = calculateTotalFlagCycleTime(flagTimeStamp);
originCycleTimeInfos
.add(CycleTimeInfo.builder().day(totalFlagTimeInDays).column(CardStepsEnum.FLAG.getValue()).build());
}

return originCycleTimeInfos;
}
Expand Down Expand Up @@ -101,10 +105,8 @@ private List<CycleTimeInfo> calculateCycleTime(List<String> realDoneStatus, List
}
if (!isBlockColumnExisted(columnTimeStamp) && totalFlagTimeInDays > 0) {
double blockDays = totalFlagTimeInDays - totalFlagAndRealDoneOverlapTime;
cycleTimeInfos.add(CycleTimeInfo.builder()
.day(blockDays)
.column(CardStepsEnum.BLOCK.getValue().toUpperCase())
.build());
cycleTimeInfos.add(
CycleTimeInfo.builder().day(blockDays).column(CardStepsEnum.FLAG.getValue().toUpperCase()).build());
}

return cycleTimeInfos;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1166,7 +1166,7 @@ public void shouldProcessCustomFieldsForCardsWhenCallGetStoryPointsAndCycleTime(
when(jiraFeignClient.getJiraCardHistoryByCount(any(), any(), anyInt(), anyInt(), any()))
.thenReturn(CARD_HISTORY_MULTI_RESPONSE_BUILDER().build());
when(boardUtil.getCycleTimeInfos(any(), any(), any())).thenReturn(CYCLE_TIME_INFO_LIST());
when(boardUtil.getOriginCycleTimeInfos(any())).thenReturn(CYCLE_TIME_INFO_LIST());
when(boardUtil.getOriginCycleTimeInfos(any(), any())).thenReturn(CYCLE_TIME_INFO_LIST());

CardCollection doneCards = jiraService.getStoryPointsAndCycleTimeAndReworkInfoForDoneCards(
storyPointsAndCycleTimeRequest, jiraBoardSetting.getBoardColumns(), List.of("Zhang San"), "");
Expand Down
18 changes: 16 additions & 2 deletions backend/src/test/java/heartbeat/util/BoardUtilTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -81,16 +81,30 @@ void calculateCycleTimeWhenTreatFlagCardAsBlockIsFalse() {
}

@Test
void calculateOriginCycleTimeOfColumn() {
void shouldCalculateOriginCycleTimeGivenTreatFlagCardAsBlockIsTrue() {
List<StatusChangedItem> statusChangedItems = StatusChangedItemsListAndCycleTimeInfosListFixture
.STATUS_CHANGED_ITEMS_LIST_OF_ORIGIN();
List<CycleTimeInfo> statusChangedItemsExpect = StatusChangedItemsListAndCycleTimeInfosListFixture
.CYCLE_TIME_INFOS_LIST_OF_ORIGIN();

when(workDay.calculateWorkDaysBy24Hours(anyLong(), anyLong()))
.thenReturn(StatusChangedItemsListAndCycleTimeInfosListFixture.EXPECT_DAYS);
List<CycleTimeInfo> result = boardUtil.getOriginCycleTimeInfos(statusChangedItems);

List<CycleTimeInfo> result = boardUtil.getOriginCycleTimeInfos(statusChangedItems, Boolean.TRUE);
Assertions.assertEquals(statusChangedItemsExpect, result);
}

@Test
void shouldCalculateOriginCycleTimeGivenTreatFlagCardAsBlockIsFalse() {
List<StatusChangedItem> statusChangedItems = StatusChangedItemsListAndCycleTimeInfosListFixture
.STATUS_CHANGED_ITEMS_LIST_OF_ORIGIN();
List<CycleTimeInfo> statusChangedItemsWithoutFlagExpect = StatusChangedItemsListAndCycleTimeInfosListFixture
.CYCLE_TIME_INFOS_LIST_OF_ORIGIN_WITHOUT_FLAG();

when(workDay.calculateWorkDaysBy24Hours(anyLong(), anyLong()))
.thenReturn(StatusChangedItemsListAndCycleTimeInfosListFixture.EXPECT_DAYS);
List<CycleTimeInfo> result = boardUtil.getOriginCycleTimeInfos(statusChangedItems, Boolean.FALSE);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new line between given when then

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Assertions.assertEquals(statusChangedItemsWithoutFlagExpect, result);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ public class StatusChangedItemsListAndCycleTimeInfosListFixture {

public static double EXPECT_DAYS = 4.0;

public static final String DONE = "DONE";

public static final String BLOCK = "BLOCK";

public static final String IN_PROGRESS = "IN PROGRESS";

public static final String FLAG = "FLAG";

public static List<StatusChangedItem> STATUS_CHANGED_ITEMS_LIST_OF_REAL_DONE_COLUMN() {
return List.of(StatusChangedItem.builder().timestamp(1000000L).status("In Progress").build(),
StatusChangedItem.builder().timestamp(2000000L).status("DONE").build(),
Expand All @@ -17,9 +25,9 @@ public static List<StatusChangedItem> STATUS_CHANGED_ITEMS_LIST_OF_REAL_DONE_COL
}

public static List<CycleTimeInfo> CYCLE_TIME_INFOS_LIST_OF_REAL_DONE_COLUMN() {
return List.of(CycleTimeInfo.builder().column("DONE").day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column("BLOCK").day(0.0).build(),
CycleTimeInfo.builder().column("IN PROGRESS").day(EXPECT_DAYS).build());
return List.of(CycleTimeInfo.builder().column(DONE).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(IN_PROGRESS).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(FLAG).day(0.0).build());
}

public static List<StatusChangedItem> STATUS_CHANGED_ITEMS_LIST_OF_BLOCK_COLUMN() {
Expand All @@ -31,9 +39,9 @@ public static List<StatusChangedItem> STATUS_CHANGED_ITEMS_LIST_OF_BLOCK_COLUMN(
}

public static List<CycleTimeInfo> CYCLE_TIME_INFOS_LIST_OF_BLOCK_COLUMN() {
return List.of(CycleTimeInfo.builder().column("DONE").day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column("BLOCK").day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column("IN PROGRESS").day(EXPECT_DAYS).build());
return List.of(CycleTimeInfo.builder().column(DONE).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(BLOCK).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(IN_PROGRESS).day(EXPECT_DAYS).build());
}

public static List<StatusChangedItem> STATUS_CHANGED_ITEMS_LIST_OF_OTHER_COLUMN() {
Expand All @@ -45,9 +53,9 @@ public static List<StatusChangedItem> STATUS_CHANGED_ITEMS_LIST_OF_OTHER_COLUMN(
}

public static List<CycleTimeInfo> CYCLE_TIME_INFOS_LIST_OF_OTHER_COLUMN() {
return List.of(CycleTimeInfo.builder().column("DONE").day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column("BLOCK").day(8.0).build(),
CycleTimeInfo.builder().column("IN PROGRESS").day(0.0).build());
return List.of(CycleTimeInfo.builder().column(DONE).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(BLOCK).day(8.0).build(),
CycleTimeInfo.builder().column(IN_PROGRESS).day(0.0).build());
}

public static List<StatusChangedItem> STATUS_CHANGED_ITEMS_LIST_WHEN_NOT_TREAT_FLAG_AS_BLOCK() {
Expand All @@ -59,9 +67,9 @@ public static List<StatusChangedItem> STATUS_CHANGED_ITEMS_LIST_WHEN_NOT_TREAT_F
}

public static List<CycleTimeInfo> CYCLE_TIME_INFOS_LIST_WHEN_NOT_TREAT_FLAG_AS_BLOCK() {
return List.of(CycleTimeInfo.builder().column("DONE").day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column("BLOCK").day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column("IN PROGRESS").day(EXPECT_DAYS).build());
return List.of(CycleTimeInfo.builder().column(DONE).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(BLOCK).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(IN_PROGRESS).day(EXPECT_DAYS).build());
}

public static List<StatusChangedItem> STATUS_CHANGED_ITEMS_LIST_OF_ORIGIN() {
Expand All @@ -73,10 +81,16 @@ public static List<StatusChangedItem> STATUS_CHANGED_ITEMS_LIST_OF_ORIGIN() {
}

public static List<CycleTimeInfo> CYCLE_TIME_INFOS_LIST_OF_ORIGIN() {
return List.of(CycleTimeInfo.builder().column("DONE").day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column("BLOCK").day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column("IN PROGRESS").day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column("FLAG").day(EXPECT_DAYS).build());
return List.of(CycleTimeInfo.builder().column(DONE).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(BLOCK).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(IN_PROGRESS).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(FLAG).day(EXPECT_DAYS).build());
}

public static List<CycleTimeInfo> CYCLE_TIME_INFOS_LIST_OF_ORIGIN_WITHOUT_FLAG() {
return List.of(CycleTimeInfo.builder().column(DONE).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(BLOCK).day(EXPECT_DAYS).build(),
CycleTimeInfo.builder().column(IN_PROGRESS).day(EXPECT_DAYS).build());
}

}
21 changes: 20 additions & 1 deletion frontend/__tests__/containers/MetricsStep/CycleTime.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
updateTreatFlagCardAsBlock,
} from '@src/context/Metrics/metricsSlice';
import { BOARD_MAPPING, ERROR_MESSAGE_TIME_DURATION, LIST_OPEN, NO_RESULT_DASH } from '../../fixtures';
import { CYCLE_TIME_SETTINGS_TYPES, METRICS_CONSTANTS } from '@src/constants/resources';
import { CYCLE_TIME_SETTINGS_TYPES, MESSAGE, METRICS_CONSTANTS } from '@src/constants/resources';
import { act, render, screen, waitFor, within } from '@testing-library/react';
import { CycleTime } from '@src/containers/MetricsStep/CycleTime';
import { setupStore } from '../../utils/setupStoreUtil';
Expand Down Expand Up @@ -406,4 +406,23 @@ describe('CycleTime', () => {
expect(mockedUseAppDispatch).not.toHaveBeenCalledWith(saveDoneColumn([]));
});
});

[CYCLE_TIME_SETTINGS_TYPES.BY_STATUS, CYCLE_TIME_SETTINGS_TYPES.BY_COLUMN].forEach((cycleTimeSettingsType) => {
it('should show warning message given both mapping block column and add flag as block', () => {
(selectMetricsContent as jest.Mock).mockReturnValue({
cycleTimeSettingsType,
cycleTimeSettings: [
...cycleTimeSettings,
{
column: 'Blocked',
status: 'BLOCKED',
value: 'Block',
},
],
});
setup();

expect(screen.getByText(MESSAGE.FLAG_CARD_DROPPED_WARNING)).toBeVisible();
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ describe('MetricsStep', () => {

await userEvent.click(doneSelectTrigger as HTMLInputElement);

const noneOption = within(screen.getByRole('presentation')).getByText('----');
const noneOption = within(screen.getAllByRole('presentation')[1]).getByText('----');
await userEvent.click(noneOption);

expect(realDoneSettingSection).toHaveTextContent(SELECT_CONSIDER_AS_DONE_MESSAGE);
Expand Down
28 changes: 28 additions & 0 deletions frontend/__tests__/context/metricsSlice.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ const initState = {
classification: [],
treatFlagCardAsBlock: true,
assigneeFilter: ASSIGNEE_FILTER_TYPES.LAST_ASSIGNEE,
displayFlagCardDropWarning: true,
importedData: {
importedCrews: [],
importedAssigneeFilter: ASSIGNEE_FILTER_TYPES.LAST_ASSIGNEE,
Expand Down Expand Up @@ -304,6 +305,32 @@ describe('saveMetricsSetting reducer', () => {
expect(savedMetricsSetting.doneColumn).toEqual(['DONE']);
});

it('should not be able to show conflict warning and check the flag card as block', () => {
const mockUpdateMetricsStateArguments = {
...mockJiraResponse,
isProjectCreated: true,
};
const savedMetricsSetting = saveMetricsSettingReducer(
{
...initState,
cycleTimeSettingsType: CYCLE_TIME_SETTINGS_TYPES.BY_STATUS,
importedData: {
...initState.importedData,
importedCrews: ['User B', 'User C'],
importedClassification: ['issuetype'],
importedCycleTime: {
importedCycleTimeSettings: [{ DOING: 'Doing' }, { TESTING: 'Testing' }, { DONE: 'Done' }],
importedTreatFlagCardAsBlock: false,
},
importedDoneStatus: ['DONE'],
},
},
updateMetricsState(mockUpdateMetricsStateArguments),
);
expect(savedMetricsSetting.displayFlagCardDropWarning).toEqual(false);
expect(savedMetricsSetting.treatFlagCardAsBlock).toEqual(true);
});

it('should update metricsState given cycleTimeSettingsType is by status', () => {
const mockUpdateMetricsStateArguments = {
...mockJiraResponse,
Expand Down Expand Up @@ -336,6 +363,7 @@ describe('saveMetricsSetting reducer', () => {
{ column: 'Testing', status: 'TESTING', value: 'Testing' },
]);
expect(savedMetricsSetting.doneColumn).toEqual(['DONE']);
expect(savedMetricsSetting.displayFlagCardDropWarning).toEqual(true);
});

it('should update metricsState given its value changed given isProjectCreated is false and selectedDoneColumns and cycleTimeSettingsType is byStatus', () => {
Expand Down
1 change: 0 additions & 1 deletion frontend/__tests__/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,6 @@ export const MOCK_REPORT_RESPONSE: ReportResponseDTO = {
fromAnalysis: null,
fromInDev: null,
fromBlock: 111,
fromFlag: null,
fromReview: 111,
fromWaitingForTesting: 111,
fromTesting: null,
Expand Down
10 changes: 5 additions & 5 deletions frontend/__tests__/hooks/reportMapper/report.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ export const EXPECTED_REPORT_VALUES = {
],
},
{
id: 5,
id: 4,
name: (
<React.Fragment>
From <BoldText>review</BoldText> to<BoldText> in dev</BoldText>
Expand All @@ -185,7 +185,7 @@ export const EXPECTED_REPORT_VALUES = {
],
},
{
id: 6,
id: 5,
name: (
<React.Fragment>
From <BoldText>waiting for testing</BoldText> to<BoldText> in dev</BoldText>
Expand All @@ -199,7 +199,7 @@ export const EXPECTED_REPORT_VALUES = {
],
},
{
id: 8,
id: 7,
name: (
<React.Fragment>
From <BoldText>done</BoldText> to<BoldText> in dev</BoldText>
Expand All @@ -213,7 +213,7 @@ export const EXPECTED_REPORT_VALUES = {
],
},
{
id: 9,
id: 8,
name: <React.Fragment>Total rework cards</React.Fragment>,
valueList: [
{
Expand All @@ -223,7 +223,7 @@ export const EXPECTED_REPORT_VALUES = {
],
},
{
id: 10,
id: 9,
name: <React.Fragment>Rework cards ratio</React.Fragment>,
valueList: [
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
"Issue key","Summary","Issue Type","Status","Status Date","Story Points","assignee","Reporter","Project Key","Project Name","Priority","Parent Summary","Sprint","Labels","Cycle Time","Cycle Time / Story Points","Analysis Days","In Dev Days","Waiting Days","Testing Days","Block Days","Review Days","OriginCycleTime: TESTING","OriginCycleTime: WAITING FOR TESTING","OriginCycleTime: TO DO","OriginCycleTime: IN DEV","OriginCycleTime: REVIEW","OriginCycleTime: FLAG","Rework: total - In dev","Rework: from Block","Rework: from Waiting for testing","Rework: from Done"
"TNB-1","ADM-898-card1","Task","Done","2024-04-08","0.0","Shiqi Yuan","heartbeat user","TNB","Test-no-block","Medium",,,"","0","","0","0","0","0","0","0","0","0","0","0.01","0","0.01","1","1","0","0"
"TNB-2","ADM-898-card2","Task","Done","2024-04-08","0.0","Shiqi Yuan","heartbeat user","TNB","Test-no-block","Medium",,,"","0","","0","0","0","0","0","0","0","0","0","0.01","0","0.01","2","1","0","1"
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Loading
Loading