Skip to content

Commit de7d85d

Browse files
authored
Modify delivery delay parser to include days and remove unused message url link (#2378)
1 parent effcd73 commit de7d85d

File tree

5 files changed

+16
-44
lines changed

5 files changed

+16
-44
lines changed

src/Frontend/src/components/messages2/SagaDiagram.spec.ts

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -77,35 +77,6 @@ describe("Feature: Detecting no Audited Saga Data Available", () => {
7777
});
7878

7979
describe("Feature: Navigation and Contextual Information", () => {
80-
describe("Rule: Provide clear navigational elements to move between the message flow diagram and the saga view.", () => {
81-
test("EXAMPLE: A message record with id '123' and with a saga Id '88878' gets selected", () => {
82-
//A "← Back to Messages" link allows users to easily navigate back to the flow diagram.
83-
const storedMessageRecordId = "123";
84-
const message_id = "456";
85-
86-
const messageStore = {} as MessageStore;
87-
messageStore.state = {} as MessageStore["state"];
88-
messageStore.state.data = {} as MessageStore["state"]["data"];
89-
messageStore.state.data.message_id = message_id;
90-
messageStore.state.data.id = storedMessageRecordId;
91-
messageStore.state.data.invoked_saga = {
92-
has_saga: true,
93-
saga_id: "saga-id-123",
94-
saga_type: "Shipping.ShipOrderWorkflow",
95-
};
96-
97-
// Set initial state with sample saga history
98-
const componentDriver = rendercomponent({
99-
initialState: {
100-
MessageStore: messageStore,
101-
SagaDiagramStore: { sagaHistory: sampleSagaHistory },
102-
},
103-
});
104-
105-
componentDriver.assert.linkIsShown({ withText: "← Back to Messages", withHref: `#/messages/${message_id}/${storedMessageRecordId}` });
106-
});
107-
});
108-
10980
describe("Rule: Clearly indicate contextual information like Saga ID and Saga Type.", () => {
11081
test("EXAMPLE: A message with a Saga Id '123' and a Saga Type 'ServiceControl.SmokeTest.AuditingSaga' gets selected", () => {
11182
const messageStore = {} as MessageStore;

src/Frontend/src/components/messages2/SagaDiagram.vue

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<script setup lang="ts">
22
import { computed, onUnmounted, watch } from "vue";
3-
import routeLinks from "@/router/routeLinks";
43
import { useSagaDiagramStore } from "@/stores/SagaDiagramStore";
54
import { useMessageStore } from "@/stores/MessageStore";
65
import { storeToRefs } from "pinia";
@@ -50,9 +49,6 @@ const vm = computed<SagaViewModel>(() => {
5049
SagaTitle: typeToName(saga.saga_type) || "Unknown saga",
5150
SagaGuid: saga.saga_id || "Missing guid",
5251
53-
// Navigation
54-
MessageIdUrl: routeLinks.messages.successMessage.link(data.message_id || "", data.id || ""),
55-
5652
// Status flags
5753
ParticipatedInSaga: saga.has_saga || false,
5854
HasSagaData: !!sagaHistory,
@@ -89,7 +85,7 @@ const vm = computed<SagaViewModel>(() => {
8985
<div v-else-if="vm.HasSagaData" role="table" aria-label="saga-sequence-list" class="body" style="display: flex">
9086
<div class="container">
9187
<!-- Saga header with title and navigation -->
92-
<SagaHeader :saga-title="vm.SagaTitle" :saga-guid="vm.SagaGuid" :message-id-url="vm.MessageIdUrl" />
88+
<SagaHeader :saga-title="vm.SagaTitle" :saga-guid="vm.SagaGuid" />
9389

9490
<!-- Iterate through each saga update -->
9591
<SagaUpdateNode v-for="(update, index) in vm.SagaUpdates" :key="index" :update="update" :show-message-data="vm.ShowMessageData" />

src/Frontend/src/components/messages2/SagaDiagram/SagaDiagramParser.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ export interface SagaUpdateViewModel {
4444
export interface SagaViewModel {
4545
SagaTitle: string;
4646
SagaGuid: string;
47-
MessageIdUrl: string;
4847
ParticipatedInSaga: boolean;
4948
HasSagaData: boolean;
5049
ShowNoPluginActiveLegend: boolean;

src/Frontend/src/components/messages2/SagaDiagram/SagaHeader.vue

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
<script setup lang="ts">
2-
import { RouterLink } from "vue-router";
3-
42
defineProps<{
53
sagaTitle: string;
64
sagaGuid: string;
7-
messageIdUrl: string;
85
}>();
96
</script>
107

@@ -13,7 +10,6 @@ defineProps<{
1310
<div class="row row--center">
1411
<div class="cell cell--center">
1512
<div class="cell-inner cell-inner-center">
16-
<RouterLink :to="messageIdUrl">← Back to Messages</RouterLink>
1713
<h1 aria-label="saga name" class="main-title">{{ sagaTitle }}</h1>
1814
<div>
1915
<b>guid</b> <span role="note" aria-label="saga guid">{{ sagaGuid }}</span>
Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
1-
export function parseDeliveryDelay(delay: string): { hours: number; minutes: number; seconds: number } {
2-
const [hours, minutes, seconds] = delay.split(":").map(Number);
3-
return { hours, minutes, seconds };
1+
export function parseDeliveryDelay(delay: string): { days: number; hours: number; minutes: number; seconds: number } {
2+
// Split on period first to handle multi-digit days
3+
const parts = delay.split(".");
4+
let days = 0;
5+
let timeComponent = delay;
6+
7+
if (parts.length > 1) {
8+
days = parseInt(parts[0], 10);
9+
timeComponent = parts[1];
10+
}
11+
12+
const [hours, minutes, seconds] = timeComponent.split(":").map(Number);
13+
return { days, hours, minutes, seconds };
414
}
515

616
function getFriendly(time: number, text: string): string {
717
return time > 0 ? `${time}${text}` : "";
818
}
919

1020
export function getTimeoutFriendly(delivery_delay: string): string {
11-
const { hours, minutes, seconds } = parseDeliveryDelay(delivery_delay);
21+
const { days, hours, minutes, seconds } = parseDeliveryDelay(delivery_delay);
1222

13-
return `${getFriendly(hours, "h")}${getFriendly(minutes, "m")}${getFriendly(seconds, "s")}`;
23+
return `${getFriendly(days, "d")}${getFriendly(hours, "h")}${getFriendly(minutes, "m")}${getFriendly(seconds, "s")}`;
1424
}

0 commit comments

Comments
 (0)