Exemple #1
0
        public async Task GetLatestPrice_SupplySymbolNotInTheDatabase_ShouldReturnNotFound()
        {
            _shareServiceMock.Setup(e => e.GetLastPriceAsync("DER")).Returns(Task.FromResult <HourlyShareRate>(null));


            var act = await _shareController.GetLatestPrice("DER");

            var result = act as NotFoundResult;

            Assert.IsNotNull(result);
            Assert.That(result.StatusCode, Is.EqualTo(404));
        }
Exemple #2
0
        public async Task GetLatestPrice_ShouldReturnNotFound()
        {
            string symbol = "REL";
            // Arrange

            // Act
            var result = await _shareController.GetLatestPrice(symbol);

            // Assert
            var returnResult = result as NotFoundResult;

            Assert.IsInstanceOf(typeof(NotFoundResult), returnResult);
        }
        public async Task Post_GetLastestPrice()
        {
            string symbol = "CBI";


            var result = await _shareController.GetLatestPrice(symbol);

            Assert.NotNull(result);
            var obteainedResult = Task.FromResult(result);

            //var obteainedResult = result as HourlyShareRate;

            Assert.NotNull(obteainedResult);
        }
Exemple #4
0
        public void Get_GetLatestPrice()
        {
            string symbol = "CBI";
            var    result = _shareController.GetLatestPrice(symbol);

            Assert.NotNull(result);
        }
        public async Task Search_Returns_Shares_BySymbol()
        {
            // 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
            var result = await _shareController.GetLatestPrice("REL");

            // Assert
            Assert.NotNull(result);

            var objectResult = result as OkObjectResult;

            Assert.NotNull(objectResult);

            var content = Convert.ToDecimal(objectResult.Value);

            Assert.NotNull(content);
        }
        public async Task Get_latestHourlyShare_Valid_Value()
        {
            string symbol   = "REL";
            var    hourRate = new[]
            {
                new HourlyShareRate()
                {
                    Id = 1, Symbol = symbol, Rate = 10, TimeStamp = DateTime.Now.AddDays(-1)
                },
                new HourlyShareRate()
                {
                    Id = 1, Symbol = symbol, Rate = 20, TimeStamp = DateTime.Now
                }
            };

            _shareRepositoryMock.Setup(x => x.GetBySymbol(It.Is <string>(s => s.Equals(symbol))))
            .Returns(Task.FromResult(new List <HourlyShareRate>(hourRate)));

            var result = await _shareController.GetLatestPrice(symbol);

            Assert.NotNull(result);

            var okResult = result as OkObjectResult;

            Assert.NotNull(okResult.Value);

            Assert.AreEqual(20, okResult.Value);
        }
        public async Task GetShareLastestBySymbol()
        {
            var result = _shareController.GetLatestPrice("REL");

            // Assert
            Assert.NotNull(result);
        }
        public void Get_LatestPrice_should_Return_Ok(string symbol, bool expectedResult)
        {
            //Arrange
            IQueryable <HourlyShareRate> share = new List <HourlyShareRate>()
            {
                new HourlyShareRate()
                {
                    Symbol    = "CBI",
                    Rate      = 30.0M,
                    TimeStamp = new DateTime(2018, 08, 17, 5, 0, 0)
                }, new HourlyShareRate()
                {
                    Symbol    = "DBI",
                    Rate      = 330.0M,
                    TimeStamp = new DateTime(2018, 08, 17, 5, 0, 0)
                }
            }.AsQueryable();

            _shareRepositoryMock.Setup(x => x.Query()).Returns(share);
            //Act
            var result = _shareController.GetLatestPrice(symbol).Result as ObjectResult;

            //Assert
            Assert.AreEqual(200, result.StatusCode);
        }
        public async Task Get_LatestPrice()
        {
            string symbol = "REL";
            var    result = await _shareController.GetLatestPrice(symbol);

            OkObjectResult okResult = result as OkObjectResult;

            Assert.NotNull(okResult.Value);
        }
Exemple #10
0
        public async Task Get_ShouldGetSharePricesLatest()
        {
            var result = await _shareController.GetLatestPrice("A");

            Assert.NotNull(result);
            var okResult = result as OkObjectResult;

            Assert.NotNull(okResult);
            Assert.NotNull(okResult.Value);
            Assert.AreEqual(1.5m, okResult.Value);
            Assert.AreEqual(200, okResult.StatusCode);
        }
        public async Task CanReturnLatestPriceBySymbol()
        {
            // Arrege
            _shareRepositoryMock
            .Setup(m => m.FindLastBySymbolAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(new Share()
            {
                Rate = 100.0M
            }));

            // Act
            var result = await _shareController.GetLatestPrice("REL");

            // Assert
            var okResult    = result.Should().BeOfType <OkObjectResult>().Subject;
            var lastetPrice = okResult.Value;

            Assert.AreEqual(100.0M, lastetPrice);
            _shareRepositoryMock.Verify(mock => mock.FindLastBySymbolAsync(It.IsAny <string>()));
        }
Exemple #12
0
        public async Task GetLatestPrice_ShouldReturnLastRate()
        {
            // Arrange
            _shareRepositoryMock.Setup(p => p.GetLatestPrice(It.IsIn <String>("CBI"))).Returns(new HourlyShareRate
            {
                Symbol    = "CBI",
                Rate      = 333.0M,
                TimeStamp = new DateTime(2018, 08, 17, 5, 1, 0)
            });

            // Act
            var result = await _shareController.GetLatestPrice("CBI");

            // Assert
            Assert.NotNull(result);

            OkObjectResult okResult = result as OkObjectResult;

            Assert.NotNull(okResult);
            Assert.AreEqual(200, okResult.StatusCode);
            Assert.AreEqual(decimal.Parse(okResult.Value.ToString()), 333.0M);
        }
        public async Task GetLatestPrice_ShouldReturnMostRecentPrice()
        {
            // 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      = 530.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);

            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);

            // Act
            var result = shareController.GetLatestPrice("CBI").GetAwaiter().GetResult() as OkObjectResult;

            // Assert
            Assert.NotNull(result);
            Assert.AreEqual(200, result.StatusCode);
            Assert.AreEqual(530.0M, (decimal)result.Value);
        }
        public async Task GetLatestPrice_ShouldReturnLastPrice()
        {
            _shareRepositoryMock.Setup(x => x.GetBySymbol(It.Is <string>(s => s.Equals("REL"))))
            .Returns(Task.FromResult(new List <HourlyShareRate>(new[]
            {
                new HourlyShareRate()
                {
                    Symbol = "REL", Rate = 50, TimeStamp = DateTime.Now.AddDays(-1)
                },
                new HourlyShareRate()
                {
                    Symbol = "REL", Rate = 100, TimeStamp = DateTime.Now
                },
                new HourlyShareRate()
                {
                    Symbol = "REL", Rate = 150, TimeStamp = DateTime.Now.AddDays(-2)
                },
            }))
                     );

            var result = await _shareController.GetLatestPrice("REL") as OkObjectResult;

            Assert.AreEqual(100, result.Value);
        }