Пример #1
0
        private ActionResult PerformUpdateUserPreference(UpdateUserPreferenceEvent userPreferenceEvent)
        {
            try
            {
                bool?isSuccess = _preferenceService.UpdateUserPreference(userPreferenceEvent);
                if (isSuccess.HasValue && isSuccess.Value)
                {
                    return(Ok());
                }
                else if (isSuccess == null)
                {
                    logger.LogError("PreferenceKey does not Exist");
                    return(BadRequest("PreferenceKey does not Exist"));
                }

                logger.LogError("Unable to save row to database");
                return(BadRequest("Unable to save row to database"));
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("UserPreference does not Exist"))
                {
                    return(BadRequest("UserPreference does not Exist"));
                }

                logger.LogError(ex.Message + ex.StackTrace);
                return(StatusCode(500));
            }
        }
Пример #2
0
        public void TestUpdateUserPreference_ValidInput_True()
        {
            //Arrange
            UpdateUserPreferenceEvent updateUser = new UpdateUserPreferenceEvent()
            {
                PreferenceKeyUID  = new Guid("194a92e4-7ec9-45b6-b34d-c62bde33b381"),
                PreferenceKeyName = "Key",
                UserUID           = new Guid("fd4b9a47-4b67-40b9-b106-89047c88fa43"),
                PreferenceJson    = "Json",
                SchemaVersion     = "2.0",
                ActionUTC         = DateTime.UtcNow
            };
            var dbUserPreference = new DbUserPreference()
            {
                fk_PreferenceKeyID = 10,
                fk_UserUID         = updateUser.UserUID,
                PreferenceValue    = "Json",
                SchemaVersion      = "1.0",
                InsertUTC          = DateTime.UtcNow.AddDays(-1),
                UpdateUTC          = DateTime.UtcNow
            };

            transaction.Get <DbUserPreference>(Arg.Any <string>()).Returns(x => { return(new List <DbUserPreference>()
                {
                    dbUserPreference
                }); });
            transaction.Get <PreferenceKeyDto>(Arg.Any <string>()).Returns(x => { return(new List <PreferenceKeyDto>()
                {
                    new PreferenceKeyDto()
                    {
                        PreferenceKeyName = "Key", PreferenceKeyUID = updateUser.PreferenceKeyUID.Value
                    }
                }); });

            //Act
            bool?result = preferenceService.UpdateUserPreference(updateUser);

            //Assert
            Assert.True(result);
            transaction.Received(1).Get <PreferenceKeyDto>(Arg.Any <string>());
            transaction.Received(1).Get <DbUserPreference>(Arg.Any <string>());
            transaction.Received(1).Upsert(Arg.Is <DbUserPreference>(x => x.fk_UserUID == updateUser.UserUID && x.SchemaVersion == updateUser.SchemaVersion && x.PreferenceValue == updateUser.PreferenceJson));
            transaction.Received(1).Publish(Arg.Is <KafkaMessage>(x => x.Key == updateUser.UserUID.ToString()));
            transaction.Received(1).Execute(Arg.Any <List <Action> >());
        }