public async Task PostCreateCategory_CallEffectService()
        {
            var request           = CreateEffectSubCategoryRequest();
            var effectSubCategory = new EffectSubCategory();
            var expectedEffectSubCategoryResponse = new EffectSubCategoryResponse();

            _effectService.CreateEffectSubCategoryAsync(_executionContext, request)
            .Returns(effectSubCategory);
            _mapper.Map <EffectSubCategoryResponse>(effectSubCategory)
            .Returns(expectedEffectSubCategoryResponse);

            var result = await _effectSubCategoriesController.PostCreateEffectSubCategoryAsync(_executionContext, request);

            result.StatusCode.Should().Be(201);
            result.Value.Should().Be(expectedEffectSubCategoryResponse);
        }
Exemplo n.º 2
0
        public async Task <EffectSubCategory> CreateEffectSubCategoryAsync(NaheulbookExecutionContext executionContext, CreateEffectSubCategoryRequest request)
        {
            await _authorizationUtil.EnsureAdminAccessAsync(executionContext);

            var effectSubCategory = new EffectSubCategory
            {
                Name      = request.Name,
                TypeId    = request.TypeId,
                DiceSize  = request.DiceSize,
                DiceCount = request.DiceCount,
                Note      = request.Note,
                Effects   = new List <Effect>()
            };

            using (var uow = _unitOfWorkFactory.CreateUnitOfWork())
            {
                uow.EffectSubCategories.Add(effectSubCategory);
                await uow.SaveChangesAsync();
            }

            return(effectSubCategory);
        }
        public Effect CreateEffect(EffectSubCategory subCategory, string suffix = null)
        {
            if (suffix == null)
            {
                suffix = RngUtil.GetRandomHexString(8);
            }

            return(new Effect
            {
                SubCategory = subCategory,
                Description = $"some-description-{suffix}",
                Dice = 4,
                Name = $"some-effect-name-{suffix}",
                DurationType = "combat",
                CombatCount = 2,
                Modifiers = new List <EffectModifier>
                {
                    new EffectModifier
                    {
                        StatName = "CHA",
                        Value = 1,
                        Type = "ADD"
                    },
                    new EffectModifier
                    {
                        StatName = "FO",
                        Value = 4,
                        Type = "ADD"
                    },
                    new EffectModifier
                    {
                        StatName = "INT",
                        Value = -2,
                        Type = "ADD"
                    },
                }
            });
        }