コード例 #1
0
    public async Task service_should_add_item()
    {
        var testItem = new AddItemRequest
        {
            Name        = "Test Album",
            Description = "Description",
            LabelName   = "Label Name",
            Price       = new Price {
                Amount = 13, Currency = "CAD"
            },
            PictureUri     = "http://localhost:test/image1",
            ReleaseDate    = DateTimeOffset.Now,
            AvailableStock = 6,
            GenreId        = new Guid("c04f05c0-f6ad-44d1-a400-3375bfb5dfd6"),
            ArtistId       = new Guid("f08a333d-30db-4dd1-b8ba-3b0473c7cdab")
        };

        IItemService sut    = new ItemService(_itemRepository, _mapper);
        var          result = await sut.AddItemAsync(testItem);

        result.Name.ShouldBe(testItem.Name);
        result.Description.ShouldBe(testItem.Description);
        result.GenreId.ShouldBe(testItem.GenreId);
        result.ArtistId.ShouldBe(testItem.ArtistId);
        result.Price.Amount.ShouldBe(testItem.Price.Amount);
        result.Price.Currency.ShouldBe(testItem.Price.Currency);
    }
コード例 #2
0
ファイル: ItemServiceTests.cs プロジェクト: jc184/Catalog.API
        public async Task additem_should_add_right_entity()
        {
            var testItem = new AddItemRequest
            {
                Name        = "Test album",
                Description = "Description",
                LabelName   = "Label name",
                Price       = new Price {
                    Amount = 13, Currency = "EUR"
                },
                PictureUrl     = "https://mycdn.com/pictures/32423423",
                ReleaseDate    = DateTimeOffset.Now,
                Format         = "Vinyl 33g",
                AvailableStock = 6,
                GenreId        = new Guid("c04f05c0-f6ad-44d1-a400-3375bfb5dfd6"),
                ArtistId       = new Guid("f08a333d-30db-4dd1-b8ba-3b0473c7cdab")
            };

            IItemService sut = new ItemService(_itemRepository, _mapper);

            var result =
                await sut.AddItemAsync(testItem);

            result.Name.ShouldBe(testItem.Name);
            result.Description.ShouldBe(testItem.Description);
            result.GenreId.ShouldBe(testItem.GenreId);
            result.ArtistId.ShouldBe(testItem.ArtistId);
            result.Price.Amount.ShouldBe(testItem.Price.Amount);
            result.Price.Currency.ShouldBe(testItem.Price.Currency);
        }
コード例 #3
0
        public async Task additem_should_log_information(AddItemRequest request)
        {
            var sut = new ItemService(_itemRepository, _mapper, _logger.Object, new ConnectionFactory(), new EventBusSettings());
            await sut.AddItemAsync(request);

            _logger
            .Verify(x => x.Log(It.IsAny <LogLevel>(), It.IsAny <Exception>(), It.IsAny <string>()), Times.AtMost(2));
        }
        public async Task additem_should_log_information(AddItemRequest request)
        {
            var sut = new ItemService(_itemRepository, _mapper, _logger.Object);
            await sut.AddItemAsync(request, CancellationToken.None);

            _logger
            .Verify(x => x.Log(It.IsAny <LogLevel>(), It.IsAny <Exception>(), It.IsAny <string>()), Times.AtMost(2));
        }
コード例 #5
0
        public async Task Additem_should_log_information(AddItemRequest request)
        {
            ItemService sut = new ItemService(_itemRespository, _genreRespository, _artistRespository, _itemMapper, _logger.Object);

            await sut.AddItemAsync(request);

            _logger
            .Verify(x => x.Log(It.IsAny <LogLevel>(), It.IsAny <Exception>(), It.IsAny <string>()), Times.AtMost(2));
        }
        public async Task additem_should_add_right_entity(AddItemRequest request)
        {
            var sut = new ItemService(_itemRepository, _mapper, _logger.Object, new ConnectionFactory(), new EventBusSettings());

            var result =
                await sut.AddItemAsync(request);

            result.Name.ShouldBe(request.Name);
            result.Description.ShouldBe(request.Description);
            result.GenreId.ShouldBe(request.GenreId);
            result.ArtistId.ShouldBe(request.ArtistId);
            result.Price.Amount.ShouldBe(request.Price.Amount);
            result.Price.Currency.ShouldBe(request.Price.Currency);
        }
        public async Task additem_should_add_right_entity(AddItemRequest request)
        {
            var sut = new ItemService(_itemRepository, _mapper, _logger.Object);

            var result =
                await sut.AddItemAsync(request, CancellationToken.None);

            result.Name.ShouldBe(request.Name);
            result.Description.ShouldBe(request.Description);
            result.GenreId.ShouldBe(request.GenreId);
            result.ArtistId.ShouldBe(request.ArtistId);
            result.Price.Amount.ShouldBe(request.Price.Amount);
            result.Price.Currency.ShouldBe(request.Price.Currency);
        }
コード例 #8
0
        public async Task additem_should_add_right_entity()
        {
            var testItem = new AddItemRequest
            {
                Name     = "Test album",
                GenreId  = new Guid("c04f05c0-f6ad-44d1-a400-3375bfb5dfd6"),
                ArtistId = new Guid("f08a333d-30db-4dd1-b8ba-3b0473c7cdab"),
                Price    = new Price {
                    Amount = 13, Currency = "EUR"
                },
            };

            IItemService stu    = new ItemService(_itemRepository, _mapper);
            var          result = await stu.AddItemAsync(testItem);

            result.Name.ShouldBe(testItem.Name);
            result.Description.ShouldBe(testItem.Description);
            result.GenreId.ShouldBe(testItem.GenreId);
            result.ArtistId.ShouldBe(testItem.ArtistId);
            result.Price.Amount.ShouldBe(testItem.Price.Amount);
            result.Price.Currency.ShouldBe(testItem.Price.Currency);
        }
コード例 #9
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                if (CategoryId == 0)
                {
                    return(await OnGetAsync());
                }
                return(await OnGetFilterByCategoryAsync(CategoryId));
            }

            await itemService.AddItemAsync(Item);

            Item item = (await itemService.GetAllItems()).Last();

            if (FileUpload != null)
            {
                var fileName   = item.Id + "." + FileUpload.ContentType.TrimStart('i', 'm', 'a', 'g', 'e', '/');
                var fileUpload = Path.Combine(_webHostEnvironment.WebRootPath, "images/ItemImages", fileName);
                using (var Fs = new FileStream(fileUpload, FileMode.Create))
                {
                    await FileUpload.CopyToAsync(Fs);
                }

                item.ImageName = fileName;
            }

            await itemService.UpdateItemAsync(item.Id, item);

            if (CategoryId == 0)
            {
                return(RedirectToPage("AllItems"));
            }
            if (Item.CategoryId != CategoryId)
            {
                return(RedirectToPage("AllItems", "FilterByCategory", new { category = Item.CategoryId }));
            }
            return(RedirectToPage("AllItems", "FilterByCategory", new { category = CategoryId }));
        }