Пример #1
0
        public void TestDeleteUserPreference_ValidInput_True()
        {
            //Arrange
            DeleteUserPreferenceEvent deleteUser = new DeleteUserPreferenceEvent()
            {
                PreferenceKeyUID  = new Guid("85293f9c-b713-4e95-a5ed-b36beb2c4aa2"),
                PreferenceKeyName = "Key",
                UserUID           = new Guid("fd4b9a47-4b67-40b9-b106-89047c88fa43"),
                ActionUTC         = DateTime.UtcNow
            };
            var dbUserPreference = new DbUserPreference()
            {
                fk_PreferenceKeyID = 10,
                fk_UserUID         = deleteUser.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
                }); });

            //Act
            bool?result = preferenceService.DeleteUserPreference(deleteUser);

            //Assert
            Assert.True(result);
            transaction.Received(1).Get <DbUserPreference>(Arg.Any <string>());
            transaction.Received(1).Delete(Arg.Is <string>(x => x.Contains(deleteUser.UserUID.ToStringAndWrapWithUnhex()) && x.Contains(" = " + dbUserPreference.fk_PreferenceKeyID)));
            transaction.Received(1).Publish(Arg.Is <KafkaMessage>(x => x.Key == deleteUser.UserUID.ToString()));
            transaction.Received(1).Execute(Arg.Any <List <Action> >());
        }
Пример #2
0
        public ActionResult DeleteUserPreference(string preferencekeyname = null, Guid?preferencekeyuid = null,
                                                 Guid?userGuid            = null)
        {
            if (!userGuid.HasValue)
            {
                logger.LogError("UserUID has not been provided");
                return(BadRequest("UserUID has not been provided"));
            }

            if (!preferencekeyuid.HasValue && string.IsNullOrEmpty(preferencekeyname))
            {
                logger.LogError("preferenceKeyUID or preferenceKeyName should be given");
                return(BadRequest("preferenceKeyUID or preferenceKeyName should be given"));
            }

            try
            {
                var delEvent = new DeleteUserPreferenceEvent
                {
                    PreferenceKeyUID  = preferencekeyuid,
                    PreferenceKeyName = preferencekeyname,
                    ActionUTC         = DateTime.UtcNow,
                    UserUID           = userGuid.Value
                };

                bool?isSuccess = _preferenceService.DeleteUserPreference(delEvent);
                if (isSuccess.HasValue && isSuccess == true)
                {
                    return(Ok());
                }
                else if (isSuccess == null)
                {
                    logger.LogError("PreferenceKey does not exist");
                    return(BadRequest("PreferenceKey does not exist"));
                }

                logger.LogError("Unable to delete in db");
                return(BadRequest("Unable to delete in db"));
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message + ex.StackTrace);
                return(StatusCode(500, ex.Message));
            }
        }