示例#1
0
        public async void DeleteFinVizItem_NoDeleteItemNotFound()
        {
            await using var context = new FinVizContext(ContextOptions);
            var controller = new FinVizItemsController(context);

            var item = await controller.DeleteFinVizItem("AMZN");

            Assert.Equal("Microsoft.AspNetCore.Mvc.NotFoundResult", item.Result.ToString());
        }
示例#2
0
        public async void GetFinVizItem_ItemNotFound()
        {
            await using var context = new FinVizContext(ContextOptions);
            var controller = new FinVizItemsController(context);

            var item = await controller.GetFinVizItem("AMZN");

            Assert.Equal("AMZN", item.Value.Id);
        }
示例#3
0
        public async void PutFinVizItem_ShouldNotUpdateMismatchIds()
        {
            await using var context = new FinVizContext(ContextOptions);
            var controller = new FinVizItemsController(context);

            var mockItem = UnitTestHelper.GetFinVizItem(("TSLA"));
            var item     = await controller.PutFinVizItem("MSFT", mockItem);

            Assert.Equal("Microsoft.AspNetCore.Mvc.BadRequestResult", item.ToString());
        }
示例#4
0
        public async void GetFinVizItems_ShouldHaveCorrectNumberOfItems()
        {
            await using var context = new FinVizContext(ContextOptions);
            var controller = new FinVizItemsController(context);

            var items = await controller.GetFinVizItems();

            var itemList = items.Value.ToList();

            Assert.Equal(2, itemList.Count);
        }
示例#5
0
        public async void DeleteFinVizItem_ShouldDeleteItem()
        {
            await using var context = new FinVizContext(ContextOptions);
            var controller = new FinVizItemsController(context);

            var expectedItem = UnitTestHelper.GetFinVizItem("AAPL");

            var item = await controller.DeleteFinVizItem("AAPL");

            Assert.Equal(expectedItem.Id, item.Value.Id);
        }
示例#6
0
        public async void PutFinVizItem_ShouldNotUpdateItemNotFound()
        {
            await using var context = new FinVizContext(ContextOptions);
            var controller = new FinVizItemsController(context);

            var item = await controller.PutFinVizItem("MSFT", new FinVizItem()
            {
                Id = "MSFT"
            });

            Assert.Equal("Microsoft.AspNetCore.Mvc.NotFoundResult", item.ToString());
        }
示例#7
0
        public async void GetFinVizItems_ShouldReturnAllItems()
        {
            await using var context = new FinVizContext(ContextOptions);
            var controller = new FinVizItemsController(context);

            var items = await controller.GetFinVizItems();

            var itemList = items.Value.ToList();

            Assert.Contains(itemList, (item) => "TSLA" == item.Id);
            Assert.Contains(itemList, (item) => "AAPL" == item.Id);
        }
示例#8
0
        public async void PostFinVizItem_NotCreateItemConflict()
        {
            await using var context = new FinVizContext(ContextOptions);
            var controller = new FinVizItemsController(context);

            var item = await controller.PostFinVizItem(new FinVizItem()
            {
                Id = "TSLA"
            });

            Assert.Equal("Microsoft.AspNetCore.Mvc.ConflictResult", item.Result.ToString());
        }
示例#9
0
        public async void PostFinVizItem_ShouldCreateItem()
        {
            await using var context = new FinVizContext(ContextOptions);
            var controller = new FinVizItemsController(context);

            var stockScreener  = new StockScreenerApi.Logic.StockScreener("MSFT");
            var expectedObject = stockScreener.ScrapeWeb();

            var item = await controller.PostFinVizItem(expectedObject);

            Assert.Equal("Microsoft.AspNetCore.Mvc.CreatedAtActionResult", item.Result.ToString());
        }
示例#10
0
        public async void GetFinVizItem_ShouldReturnSelectedItem()
        {
            await using var context = new FinVizContext(ContextOptions);
            var controller = new FinVizItemsController(context);


            var item = await controller.GetFinVizItem("TSLA");

            var properties     = UnitTestHelper.GetFinVizProperties("TSLA");
            var stockScreener  = new StockScreenerApi.Logic.StockScreener("TSLA");
            var expectedObject = stockScreener.ScrapeWeb();

            Assert.All(properties, (prop) => Assert.Equal(prop.GetValue(expectedObject), prop.GetValue(item.Value)));
        }