示例#1
0
        public async Task Put_UpdateLastHourlySharePrice_NotExist_NotFoundResult()
        {
            // Arrange
            var hourRate = new HourlyShareRateModel
            {
                Symbol    = "CBI",
                Rate      = 330.0M,
                TimeStamp = new DateTime(2019, 04, 07, 5, 0, 0)
            };

            HourlyShareRate ret = null;

            _shareServiceMock.Setup(t => t.UpdateLastPriceAsync(hourRate.Symbol, hourRate.Rate))
            .Returns(Task.FromResult(ret));

            // Act
            var result = await _shareController.UpdateLastPrice(hourRate.Symbol, hourRate.Rate);

            // Assert
            Assert.NotNull(result);

            var notFoundResult = result as NotFoundResult;

            Assert.AreEqual(404, notFoundResult.StatusCode);
        }
示例#2
0
        public async Task UpdateLastPrice_SymbolOrRateSupplied_ShouldReturnNotFound()
        {
            _shareServiceMock.Setup(e => e.UpdateLastPriceAsync("AS", 1.23m))
            .Returns(Task.FromResult <HourlyShareRate>(null));


            var act = await _shareController.UpdateLastPrice("AS", 2.45m);

            var result = act as NotFoundResult;

            Assert.IsNotNull(result);
            Assert.That(result.StatusCode, Is.EqualTo(404));
        }
示例#3
0
        public async Task put_shouldUpdateSharePrice()
        {
            string  symbol    = "CBI";
            decimal listprice = 899.9M;

            var result = await _shareController.UpdateLastPrice(symbol, listprice);
        }
        public async Task PostUpdateLastPrice()
        {
            string symbol = "REL";
            var    result = await _shareController.UpdateLastPrice(symbol);

            Assert.AreEqual(result, true);
        }
        public async Task Post_ShouldUpdateLastPrice()
        {
            string symbol = "CBI";

            await _shareController.UpdateLastPrice(symbol);

            var result = _shareController.GetLatestPrice(symbol);

            Assert.NotNull(result);

            var obteainedResult = result?.Result as HourlyShareRate;

            Assert.NotNull(obteainedResult);
        }
示例#6
0
        public void UpdateLastPrice()
        {
            _shareRepositoryMock.Setup(x => x.GetShareBySymbol(It.Is <string>(s => s.Equals("REL"))))
            .Returns(Task.FromResult(
                         new HourlyShareRate()
            {
                Symbol = "REL", Rate = 50, TimeStamp = DateTime.Now.AddDays(-1)
            }
                         )
                     );

            _shareController.UpdateLastPrice("REL");

            Assert.IsTrue(true);
        }
示例#7
0
        public async Task Put_ShouldUpdateLastPrice()
        {
            // Arrange
            var shareDbSetMock = Builder <HourlyShareRate> .CreateListOfSize(3)
                                 .All()
                                 .With(c => c.Rate   = Faker.RandomNumber.Next(20, 100))
                                 .With(c => c.Symbol = "REL")
                                 .Build().ToAsyncDbSetMock();

            _shareRepositoryMock.Setup(m => m.Query()).Returns(shareDbSetMock.Object);

            // Act
            await _shareController.UpdateLastPrice("REL");

            // Assert
        }
        public async Task UpdateLatestPrice_ShouldUpdateMostRecentPrice()
        {
            // Arrange
            var hourRates = new List <HourlyShareRate>()
            {
                new HourlyShareRate {
                    Symbol    = "CBI",
                    Rate      = 330.0M,
                    TimeStamp = new DateTime(2019, 08, 17, 5, 0, 0)
                },
                new HourlyShareRate {
                    Symbol    = "CBI",
                    Rate      = 130.0M,
                    TimeStamp = new DateTime(2020, 08, 17, 5, 0, 0)
                },
                new HourlyShareRate {
                    Symbol    = "CBI",
                    Rate      = 430.0M,
                    TimeStamp = new DateTime(2018, 08, 17, 5, 0, 0)
                }
            };
            var mockSet = new Mock <DbSet <HourlyShareRate> >();

            mockSet.MockDbSet <HourlyShareRate>(hourRates);

            HourlyShareRate share           = null;
            var             mockContext     = new Mock <ExchangeContext>();
            var             mockRepository  = new Mock <ShareRepository>(mockContext.Object);
            var             shareController = new ShareController(mockRepository.Object);

            mockContext.Setup(i => i.Set <HourlyShareRate>()).Returns(mockSet.Object);
            mockRepository.Setup(i => i.UpdateAsync(It.IsAny <HourlyShareRate>())).Returns(Task.FromResult <object>(null)).Callback <HourlyShareRate>((p) => { share = p; });
            // Act

            shareController.UpdateLastPrice("CBI");

            // Assert
            Assert.AreEqual(new DateTime(2020, 08, 17, 5, 0, 0), share.TimeStamp);
            Assert.AreEqual(10.0M, share.Rate);
        }