public async void Get_valid_Store_returns_Store_details()
        {
            // Act
            var actual = await _controller.Get(1);

            // Assert
            Assert.IsType <StoreDetailsDTO>(actual.Value);
        }
        public void GetStoreTest(GetTestValue testValue)
        {
            var controller     = new StoreController(this.GetContextWithData());
            var retrievedStore = controller.Get(testValue.Id);

            Assert.That(JsonConvert.SerializeObject(testValue.ReferenceStore), Is.EqualTo(retrievedStore));
        }
        public void DeleteStoreTest(string id)
        {
            var controller = new StoreController(this.GetContextWithData());

            controller.Delete(id);
            Assert.That("null", Is.EqualTo(controller.Get(id)));
        }
        public void Test_Store_Controller_NoStock_Cannot_Buy_AnItem()
        {
            // Arrange
            var inventory       = MockRepository.Mock <IInventory>();
            var purchaseHistory = MockRepository.Mock <IPurchaseHistory>();
            var items           = new List <Item>()
            {
                new Item {
                    Name = "1", Quantity = 0
                }, new Item {
                    Name = "2"
                }
            };
            var firstItem = items.FirstOrDefault();

            Assert.IsNotNull(firstItem);

            inventory.Expect(i => i.Items).Return(items).Repeat.Any();
            Item itm;

            inventory.Expect(i => i.BuyItem(firstItem.Id, out itm)).OutRef(firstItem).Return(false).Repeat.Any();

            // Arrange
            StoreController controller = new StoreController(inventory, purchaseHistory);

            // Act
            var result = controller.Get(firstItem.Id);

            // Assert
            Assert.IsFalse(result);

            //insure there is no history when the item was not succesfully bought
            purchaseHistory.AssertWasNotCalled(p => p.AddEntry(Arg <string> .Is.Anything, Arg <Item> .Is.Anything));
        }
        public void Test_Store_Controller_GetInventory()
        {
            // Arrange
            var inventory       = MockRepository.Mock <IInventory>();
            var purchaseHistory = MockRepository.Mock <IPurchaseHistory>();
            var items           = new List <Item>()
            {
                new Item {
                    Name = "1"
                }, new Item {
                    Name = "2"
                }
            };

            inventory.Expect(i => i.Items).Return(items).Repeat.Any();

            StoreController controller = new StoreController(inventory, purchaseHistory);

            // Act
            IEnumerable <Item> result = controller.Get();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(2, result.Count());
            Assert.AreEqual("1", result.ElementAt(0).Name);
            Assert.AreEqual("2", result.ElementAt(1).Name);

            purchaseHistory.AssertWasNotCalled(p => p.AddEntry(null, null));
        }
        public void GetTest([Values(1)] int id)
        {
            _controller.Request.Method = HttpMethod.Get;
            var actual = _controller.Get(id, new UserProfile()) as OkNegotiatedContentResult <StoreDto>;
            var dto    = actual.Content;

            Assert.IsNotNull(actual);
            Assert.IsTrue(dto != null);
        }
        public void PostStoreTest(PostTestValue testValue)
        {
            var controller     = new StoreController(this.GetContextWithData());
            var storeId        = controller.Post(testValue.Body.ToString());
            var expectedStore  = new Store(storeId, testValue.Body["Body"].ToObject <List <Book> >());
            var retrievedStore = controller.Get(storeId);

            Assert.That(JsonConvert.SerializeObject(expectedStore), Is.EqualTo(retrievedStore));
        }
        public async Task StoreController_GetAllItemsFail()
        {
            // arrange
            var _mockRepo       = new Mock <IStoreRepo>();
            var storeController = new StoreController(_mockRepo.Object);

            _mockRepo.Setup(x => x.GetAllStoreItems()).ReturnsAsync((IEnumerable <AppStoreItem>)null);
            // act
            var actionResult = await storeController.Get();

            // assert
            var result = Assert.IsAssignableFrom <NotFoundResult>(actionResult.Result);

            Assert.Equal(404, result.StatusCode);
        }
        public async void Get_Not_Exists()
        {
            StoreControllerMockFacade mock = new StoreControllerMockFacade();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiStoreResponseModel>(null));
            StoreController controller = new StoreController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Get(default(int));

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
        public async Task StoreController_GetAllItemsSuccess()
        {
            // arrange
            var _mockRepo       = new Mock <IStoreRepo>();
            var storeController = new StoreController(_mockRepo.Object);

            _mockRepo.Setup(x => x.GetAllStoreItems()).ReturnsAsync(Test.Items());

            // act
            var actionResult = await storeController.Get();

            // assert
            var result = Assert.IsAssignableFrom <ObjectResult>(actionResult.Result);

            Assert.Equal(200, result.StatusCode);
        }
        public void Get_Store_from_city_returns_Store_list()
        {
            // Arrange
            var city = new CityDTO
            {
                Name   = "TestCity",
                Postal = 6969
            };

            mockStoreRepository.Setup(m => m.ReadStoresCity(city)).Returns(new List <StoreListDTO>().AsQueryable());
            var controller = new StoreController(mockStoreRepository.Object);

            // Act
            var actual = controller.Get(city);

            // Assert
            Assert.IsType <List <StoreListDTO> >(actual.Value);
        }
        public void Test_Store_Controller_Buy_AnItem()
        {
            // Arrange
            var inventory       = MockRepository.Mock <IInventory>();
            var purchaseHistory = MockRepository.Mock <IPurchaseHistory>();
            var items           = new List <Item>()
            {
                new Item {
                    Name = "1", Quantity = 1
                }, new Item {
                    Name = "2"
                }
            };
            var firstItem = items.FirstOrDefault();

            Assert.IsNotNull(firstItem);

            inventory.Expect(i => i.Items).Return(items).Repeat.Any();
            Item itm;

            inventory.Expect(i => i.BuyItem(firstItem.Id, out itm)).OutRef(firstItem).Return(true).Repeat.Any();

            StoreController controller = new StoreController(inventory, purchaseHistory);

            // Act
            var result = controller.Get(firstItem.Id);

            // Assert
            Assert.IsTrue(result);

            //insure that the purchase history was called and for the very item that was purchased
            purchaseHistory.AssertWasCalled(p => p.AddEntry(Arg <string> .Is.Anything, Arg <Item> .Is.Anything));
            var args = purchaseHistory.GetArgumentsForCallsMadeOn <IPurchaseHistory>(p => p.AddEntry(Arg <string> .Is.Anything, Arg <Item> .Is.Anything));

            Assert.IsTrue(args[0].Arguments[1] is Item);
            Assert.AreEqual(((Item)args[0].Arguments[1]).Id, firstItem.Id);
        }
Beispiel #13
0
        public void StoreController_Get_ReturnOkResponse()
        {
            var okResult = _controller.Get();

            Assert.IsType <OkObjectResult>(okResult.Result);
        }
Beispiel #14
0
        public void StoreControllerTest_GetAll()
        {
            var stores = controller.Get();

            Assert.AreNotEqual(0, stores.ToList().Count);
        }