From b8b24604a603b6c000882865247c206304ce9c49 Mon Sep 17 00:00:00 2001 From: Trisha Anand Date: Fri, 4 Dec 2020 13:07:34 +0530 Subject: [PATCH] [Bug] Update of an action leads to userSetOnLoad getting reset. (#2023) * Update of an action leads to userSetOnLoad getting reset. * Added test case to assert the same. --- .../server/services/NewActionServiceImpl.java | 4 ++ .../server/services/ActionServiceTest.java | 51 ++++++++++++++++++- 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/NewActionServiceImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/NewActionServiceImpl.java index 2c26be706c..a670852efe 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/NewActionServiceImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/NewActionServiceImpl.java @@ -387,6 +387,10 @@ public class NewActionServiceImpl extends BaseService newActionMono = newActionService + .createAction(action) + .cache(); + + Mono setExecuteOnLoadMono = newActionMono + .flatMap(savedAction -> layoutActionService.setExecuteOnLoad(savedAction.getId(), true)); + + Mono updateActionMono = newActionMono + .flatMap(preUpdateAction -> { + ActionDTO actionUpdate = action; + actionUpdate.getActionConfiguration().setBody("New Body"); + return actionCollectionService.updateAction(preUpdateAction.getId(), actionUpdate); + }); + + StepVerifier + .create(setExecuteOnLoadMono.then(updateActionMono)) + .assertNext(updatedAction -> { + assertThat(updatedAction).isNotNull(); + assertThat(updatedAction.getActionConfiguration().getBody()).isEqualTo("New Body"); + assertThat(updatedAction.getUserSetOnLoad()).isTrue(); + }) + .verifyComplete(); + } }