public async Task CreateCraftableTest()
        {
            // Arrange
            var client = SetupMock_Craftable();
            var config = new Mock <IConfiguration>();

            client.BaseAddress = new Uri("https://localhost:1111/");
            config.SetupGet(s => s["ItemsURL"]).Returns("https://localhost:1111/");
            var service = new CraftableService(null, config.Object, new NullLogger <CraftableService>())
            {
                Client = client
            };

            // Act
            var newItem = new CraftableDTO
            {
                Id          = 12,
                Name        = "NEW",
                Requirement = "NEW",
                Materials   = "NEW",
                Effect      = "NEW",
                Form        = "NEW"
            };
            var result = await service.CreateCraftable(newItem);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(newItem.Id, result.Id);
            Assert.AreEqual(newItem.Name, result.Name);
            Assert.AreEqual(newItem.Requirement, result.Requirement);
            Assert.AreEqual(newItem.Form, result.Form);
            Assert.AreEqual(newItem.Effect, result.Effect);
            Assert.AreEqual(newItem.Materials, result.Materials);
        }
예제 #2
0
        public async Task <CraftableDTO> CreateCraftable(CraftableDTO craftable)
        {
            var client = GetHttpClient("StandardRequest");
            var resp   = await client.PostAsync("api/craftables/", craftable, new JsonMediaTypeFormatter());

            if (resp.IsSuccessStatusCode)
            {
                return(craftable);
            }

            return(null);
        }
예제 #3
0
        public async Task <CraftableDTO> UpdateCraftable(Craftable craftable)
        {
            var dto = new CraftableDTO
            {
                Effect      = craftable.Effect,
                Form        = craftable.Form,
                Id          = craftable.Id,
                Materials   = craftable.Materials,
                Name        = craftable.Name,
                Requirement = craftable.Requirement
            };

            return(await UpdateCraftable(dto));
        }
        public async Task <ActionResult <CraftableDTO> > GetCraftable(int id)
        {
            var craftable = await _craftRepository.GetCraftable(id);

            var dto = new CraftableDTO
            {
                Id          = craftable.Id,
                Effect      = craftable.Effect,
                Form        = craftable.Form,
                Materials   = craftable.Materials,
                Name        = craftable.Name,
                Requirement = craftable.Requirement
            };

            if (craftable == null)
            {
                return(NotFound());
            }

            return(Ok(dto));
        }