Exemplo n.º 1
0
        public void ToUsersPromocodesCanAddFalseTest()
        {
            var usersPromocodes = new DbUserPromocodes
            {
                UserId     = "adcd6b85-e7af-4041-99a0-2ba0209edf90",
                Promocodes = new List <DbPromocode>
                {
                    new()
                    {
                        Id             = "20469015-0023-4771-9726-cea30e4740ac",
                        CreateDate     = "10.10.2020 10:10:10".GetUtcDateTime(),
                        EndDate        = "10.10.2021 10:10:10".GetUtcDateTime(),
                        Deleted        = false,
                        PromocodeValue = "LKJ"
                    }
                }
            };

            var options = new DbPromocodeOptions()
            {
                EnabledPromocodes           = true,
                CountActivePromocodePerUser = 2,
                DaysDurationPromocode       = 1,
                CountSymbolsPromocode       = 4,
                TimeLimitAddingInSeconds    = 1
            };

            usersPromocodes.CanAdd(options, DateTime.UtcNow).Should().BeTrue();
        }
Exemplo n.º 2
0
 /// <summary>
 /// Gets PromocodeOptions from DbPromocodeOptions.
 /// </summary>
 /// <param name="dbPromocodeOptions"></param>
 /// <returns></returns>
 public static PromocodeOptions ToPromocodeOptions(this DbPromocodeOptions dbPromocodeOptions) =>
 dbPromocodeOptions.IsEmpty() ? null : new PromocodeOptions
 {
     EnabledPromocodes           = dbPromocodeOptions.EnabledPromocodes,
     CountActivePromocodePerUser = dbPromocodeOptions.CountActivePromocodePerUser,
     CountSymbolsPromocode       = dbPromocodeOptions.CountSymbolsPromocode,
     DaysDurationPromocode       = dbPromocodeOptions.DaysDurationPromocode,
     TimeLimitAddingInSeconds    = dbPromocodeOptions.TimeLimitAddingInSeconds
 };
Exemplo n.º 3
0
 /// <summary>
 /// Gets true when the DbPromocodeOptions entity or all property is Null otherwise false.
 /// </summary>
 /// <param name="dbPromocodeOptions"></param>
 /// <returns></returns>
 public static bool IsEmpty(this DbPromocodeOptions dbPromocodeOptions) =>
 dbPromocodeOptions == null ||
 (dbPromocodeOptions.CountSymbolsPromocode == null &&
  dbPromocodeOptions.TimeLimitAddingInSeconds == null &&
  dbPromocodeOptions.CountActivePromocodePerUser == null &&
  dbPromocodeOptions.DaysDurationPromocode == null);
Exemplo n.º 4
0
        public void ToUsersPromocodesCanAddTest(
            int?time,
            int?count,
            bool deleted,
            bool expectedValue
            )
        {
            var usersPromocodes = new DbUserPromocodes
            {
                UserId     = "adcd6b85-e7af-4041-99a0-2ba0209edf90",
                Promocodes = new List <DbPromocode>
                {
                    new()
                    {
                        Id             = "20469015-0023-4771-9726-cea30e4740ac",
                        CreateDate     = "10.10.2021 10:10:10".GetUtcDateTime(),
                        EndDate        = "10.10.2021 10:10:20".GetUtcDateTime(),
                        Deleted        = deleted,
                        PromocodeValue = "LKJ"
                    }
                    ,
                    new()
                    {
                        Id             = "1d168959-0966-4e48-a67a-61131ab5debc",
                        CreateDate     = "10.10.2021 10:10:10".GetUtcDateTime(),
                        EndDate        = "10.10.2021 10:10:40".GetUtcDateTime(),
                        Deleted        = deleted,
                        PromocodeValue = "LKJ"
                    },
                    new()
                    {
                        Id             = "f5b4dd52-0224-4838-8022-75acc8f6dfd7",
                        CreateDate     = "10.10.2021 10:10:10".GetUtcDateTime(),
                        EndDate        = "10.10.2021 10:12:40".GetUtcDateTime(),
                        Deleted        = true,
                        PromocodeValue = "LKJ"
                    },
                    new()
                    {
                        Id             = "8e414090-8243-4dd4-8825-1aab5386203c",
                        CreateDate     = "10.10.2021 10:10:10".GetUtcDateTime(),
                        EndDate        = "10.10.2021 12:10:40".GetUtcDateTime(),
                        Deleted        = false,
                        PromocodeValue = "LKJ"
                    }
                }
            };

            var options = new DbPromocodeOptions()
            {
                EnabledPromocodes           = true,
                CountActivePromocodePerUser = count,
                DaysDurationPromocode       = time,
                CountSymbolsPromocode       = 4,
                TimeLimitAddingInSeconds    = 1
            };

            var timeNow = "10.10.2021 10:10:35".GetUtcDateTime();

            usersPromocodes.CanAdd(options, timeNow).Should().Be(expectedValue);
        }