예제 #1
0
        public void ReturnDefaultViewWithRespectiveModel()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            storeServiceMock.Setup(x => x.GetPagesCount(It.IsAny <string>())).Returns(1);
            utilsMock.Setup(x => x.GetPage(It.IsAny <int?>(), It.IsAny <int>())).Returns(1);

            var items = new List <StoreItem>();

            storeServiceMock.Setup(x => x.GetFilteredItemsByPage(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())).Returns(items);
            var mappedItems = new List <StoreItemViewModel>();

            mappingServiceMock.Setup(x => x.Map <IEnumerable <StoreItemViewModel> >(items)).Returns(mappedItems);
            var model = new StoreListViewModel();

            mappingServiceMock.Setup(x => x.Map <StoreListViewModel>(mappedItems)).Returns(model);
            utilsMock.Setup(x => x.AssignViewParams(model, It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())).Returns(model);

            // Act & Assert
            controller.WithCallTo(x => x.Index(null, null))
            .ShouldRenderDefaultView()
            .WithModel <StoreListViewModel>(x => x == model);
        }
        public void RedirectToIndexAction_WhenNoSuchItemIsFound()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            // Act & Assert
            controller.WithCallTo(x => x.Details(Guid.NewGuid()))
            .ShouldRedirectTo(x => x.Index(null, null));
        }
예제 #3
0
        public void ReturnCorrectInstance_WhenParamsAreValid()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            // Act
            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            // Assert
            Assert.IsInstanceOf <StoreItemsController>(controller);
        }
예제 #4
0
        public void RenderDefaultView()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            // Act & Assert
            controller.WithCallTo(x => x.Create())
            .ShouldRenderDefaultView();
        }
예제 #5
0
        public void RedirectToIndexAction_WhenParamsAreValid()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            var model = new CreateEditItemViewModel();

            // Act & Assert
            controller.WithCallTo(x => x.Create(model))
            .ShouldRedirectTo(x => x.Index(null, null));
        }
        public void RedirectToAction_WhenParamsAreValid()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            var model = new CreateEditItemViewModel();

            storeServiceMock.Setup(x => x.EditItem(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()));

            // Act & Assert
            controller.WithCallTo(x => x.Edit(model))
            .ShouldRedirectTo(x => x.Details(model.Id));
        }
예제 #7
0
        public void CallDeleteItemMethod_WhenParamsAreValid()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            storeServiceMock.Setup(x => x.DeleteItem(It.IsAny <Guid>()));

            // Act
            controller.Delete(Guid.NewGuid());

            // Assert
            storeServiceMock.Verify(x => x.DeleteItem(It.IsAny <Guid>()), Times.Once);
        }
예제 #8
0
        public void CallAddNewItemMethod_WhenParamsAreValid()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            storeServiceMock.Setup(x => x.AddNewItem(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()));
            var model = new CreateEditItemViewModel();

            // Act
            controller.Create(model);

            // Assert
            storeServiceMock.Verify(x => x.AddNewItem(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once);
        }
예제 #9
0
        public void ReturnDefaultView_WhenModelStateIsInvalid()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            controller.ViewData.ModelState.AddModelError("adasd", "asda");

            var model = new CreateEditItemViewModel();

            // Act & Assert
            controller.WithCallTo(x => x.Create(model))
            .ShouldRenderDefaultView()
            .WithModel <CreateEditItemViewModel>(x => x == model);
        }
        public void ReturnDefaultViewWithRespectiveModel_WhenParamsAreValid()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            var storeItem = new StoreItem();

            storeServiceMock.Setup(x => x.GetStoreItemById(It.IsAny <Guid>())).Returns(storeItem);

            // Act & Assert
            controller.WithCallTo(x => x.Details(Guid.NewGuid()))
            .ShouldRenderDefaultView()
            .WithModel <StoreItem>(x => x == storeItem);
        }
예제 #11
0
        public void RedirectToPartial_OnSuccessfullyChangedStatus()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            var model = new StoreItem();

            storeServiceMock.Setup(x => x.GetStoreItemById(It.IsAny <Guid>())).Returns(model);
            storeServiceMock.Setup(x => x.ChangeStatus(It.IsAny <Guid>(), It.IsAny <string>()));

            // Act & Assert
            controller.WithCallTo(x => x.ChangeStatus(Guid.NewGuid(), "string"))
            .ShouldRenderPartialView("_AddToCartPartial")
            .WithModel(model);
        }
예제 #12
0
        public void CallChangeStatusMethod_WhenParamsAreValid()
        {
            // Arrange
            var storeServiceMock   = new Mock <IStoreService>();
            var mappingServiceMock = new Mock <IMappingService>();
            var utilsMock          = new Mock <IUtilitiesService>();

            var controller = new StoreItemsController(storeServiceMock.Object, mappingServiceMock.Object, utilsMock.Object);

            var model = new StoreItem();

            storeServiceMock.Setup(x => x.GetStoreItemById(It.IsAny <Guid>())).Returns(model);
            storeServiceMock.Setup(x => x.ChangeStatus(It.IsAny <Guid>(), It.IsAny <string>()));

            // Act
            controller.ChangeStatus(Guid.NewGuid(), "string");

            // Assert
            storeServiceMock.Verify(x => x.ChangeStatus(It.IsAny <Guid>(), It.IsAny <string>()), Times.Once);
        }