Example #1
0
        public async Task GetAllStocksInDateRange()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stocks = new List <StockResponse>()
            {
                new StockResponse()
                {
                    Id = Guid.NewGuid(), AsxCode = "ABC"
                },
                new StockResponse()
                {
                    Id = Guid.NewGuid(), AsxCode = "AYZ"
                }
            };

            var messageHandler = mockRepository.Create <IRestClientMessageHandler>();

            messageHandler.Setup(x => x.GetAsync <List <StockResponse> >(It.Is <string>(x => x == "stocks?fromdate=2000-01-02&todate=2010-05-06")))
            .Returns(Task <List <StockResponse> > .FromResult(stocks))
            .Verifiable();

            var resource = new StockResource(messageHandler.Object);

            var result = await resource.Get(new DateRange(new Date(2000, 01, 02), new Date(2010, 05, 06)));

            result.Should().BeEquivalentTo(stocks);

            mockRepository.Verify();
        }
Example #2
0
        public async Task ChangeDividendRules()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId = Guid.NewGuid();

            var messageHandler = mockRepository.Create <IRestClientMessageHandler>();

            messageHandler.Setup(x => x.PostAsync <ChangeDividendRulesCommand>(
                                     It.Is <string>(x => x == "stocks/" + stockId + "/changedividendrules"),
                                     It.Is <ChangeDividendRulesCommand>(x => x.Id == stockId && x.CompanyTaxRate == 0.45m)))
            .Returns(Task.CompletedTask)
            .Verifiable();

            var resource = new StockResource(messageHandler.Object);

            var change = new ChangeDividendRulesCommand()
            {
                Id             = stockId,
                CompanyTaxRate = 0.45m
            };
            await resource.ChangeDividendRules(change);

            mockRepository.Verify();
        }
Example #3
0
        public async Task ChangeReleativeNTAs()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId = Guid.NewGuid();

            var messageHandler = mockRepository.Create <IRestClientMessageHandler>();

            messageHandler.Setup(x => x.PostAsync <ChangeRelativeNtaCommand>(
                                     It.Is <string>(x => x == "stocks/" + stockId + "/changerelativenta"),
                                     It.Is <ChangeRelativeNtaCommand>(x => x.Id == stockId && x.RelativeNtas.Count == 1)))
            .Returns(Task.CompletedTask)
            .Verifiable();

            var resource = new StockResource(messageHandler.Object);

            var change = new ChangeRelativeNtaCommand()
            {
                Id = stockId,
            };

            change.AddRelativeNta("XYZ", 0.50m);

            await resource.ChangeRelativeNTAs(change);

            mockRepository.Verify();
        }
Example #4
0
        public async Task UpdateClosingPrices()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId = Guid.NewGuid();

            var messageHandler = mockRepository.Create <IRestClientMessageHandler>();

            messageHandler.Setup(x => x.PostAsync <UpdateClosingPricesCommand>(
                                     It.Is <string>(x => x == "stocks/" + stockId + "/closingprices"),
                                     It.Is <UpdateClosingPricesCommand>(x => x.Id == stockId && x.ClosingPrices.Count == 1)))
            .Returns(Task.CompletedTask)
            .Verifiable();

            var resource = new StockResource(messageHandler.Object);

            var update = new UpdateClosingPricesCommand()
            {
                Id = stockId
            };

            update.AddClosingPrice(new Date(2000, 01, 02), 12.00m);
            await resource.UpdateClosingPrices(update);

            mockRepository.Verify();
        }
Example #5
0
        public async Task DelistStock()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId = Guid.NewGuid();

            var messageHandler = mockRepository.Create <IRestClientMessageHandler>();

            messageHandler.Setup(x => x.PostAsync <DelistStockCommand>(
                                     It.Is <string>(x => x == "stocks/" + stockId + "/delist"),
                                     It.Is <DelistStockCommand>(x => x.Id == stockId && x.DelistingDate == new Date(2000, 01, 02))))
            .Returns(Task.CompletedTask)
            .Verifiable();

            var resource = new StockResource(messageHandler.Object);

            var delist = new DelistStockCommand()
            {
                Id            = stockId,
                DelistingDate = new Date(2000, 01, 02),
            };
            await resource.DelistStock(delist);

            mockRepository.Verify();
        }
Example #6
0
        public async Task ChangeStock()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stockId = Guid.NewGuid();

            var messageHandler = mockRepository.Create <IRestClientMessageHandler>();

            messageHandler.Setup(x => x.PostAsync <ChangeStockCommand>(
                                     It.Is <string>(x => x == "stocks/" + stockId + "/change"),
                                     It.Is <ChangeStockCommand>(x => x.Id == stockId && x.AsxCode == "ABC")))
            .Returns(Task.CompletedTask)
            .Verifiable();

            var resource = new StockResource(messageHandler.Object);

            var change = new ChangeStockCommand()
            {
                Id      = stockId,
                AsxCode = "ABC",
            };
            await resource.ChangeStock(change);

            mockRepository.Verify();
        }
Example #7
0
        public async Task Find()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stocks = new List <StockResponse>()
            {
                new StockResponse()
                {
                    Id = Guid.NewGuid(), AsxCode = "ABC"
                },
                new StockResponse()
                {
                    Id = Guid.NewGuid(), AsxCode = "AYZ"
                }
            };


            var messageHandler = mockRepository.Create <IRestClientMessageHandler>();

            messageHandler.Setup(x => x.GetAsync <List <StockResponse> >(It.Is <string>(x => x == "stocks?query=ABC")))
            .Returns(Task <List <StockResponse> > .FromResult(stocks))
            .Verifiable();

            var resource = new StockResource(messageHandler.Object);

            var result = await resource.Find("ABC");

            result.Should().BeEquivalentTo(stocks);

            mockRepository.Verify();
        }
        public void MapFile_ReturnsCorrectFileInfo(string urlPath, string name)
        {
            var info = _fileProvider.MapUrlPath(urlPath, _mimeTypeProvider);

            Assert.IsNotNull(info, "info != null");
            Assert.IsTrue(info.IsFile, "info.IsFile == true");
            Assert.AreEqual(name, info.Name, "info.Name has the correct value");
            Assert.AreEqual(StockResource.GetLength(urlPath), info.Length, "info.Length has the correct value");
        }
        public void OpenFile_ReturnsCorrectContent(string urlPath)
        {
            var info         = _fileProvider.MapUrlPath(urlPath, _mimeTypeProvider);
            var expectedText = StockResource.GetText(urlPath, Encoding.UTF8);

            using var stream = _fileProvider.OpenFile(info.Path);
            using var reader = new StreamReader(stream, Encoding.UTF8, false, WebServer.StreamCopyBufferSize, true);
            var actualText = reader.ReadToEnd();

            Assert.AreEqual(expectedText, actualText, "Content is the same as embedded resource");
        }
Example #10
0
        public IActionResult StockUpdate(StockResource stockResouce)
        {   //map stockResource to Stock
            //map stockResource to stock transction

            if (stockResouce.Acion == "BUY")
            {
            }
            if (stockResouce.Acion == "SELL")
            {
            }
            if (stockResouce.Acion == "UPDATE")
            {
            }
            else
            {
                return(BadRequest("Action Not Found."));
            }
            //update to stock table;
            //add to transction table;
            return(Ok(stockResouce));
        }
Example #11
0
        public async Task GetHistory()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var stock = new StockHistoryResponse()
            {
                Id = Guid.NewGuid(), AsxCode = "ABC"
            };

            var messageHandler = mockRepository.Create <IRestClientMessageHandler>();

            messageHandler.Setup(x => x.GetAsync <StockHistoryResponse>(It.Is <string>(x => x == "stocks/" + stock.Id + "/history")))
            .Returns(Task <StockHistoryResponse> .FromResult(stock))
            .Verifiable();

            var resource = new StockResource(messageHandler.Object);

            var result = await resource.GetHistory(stock.Id);

            result.Should().BeEquivalentTo(stock);

            mockRepository.Verify();
        }