public void AddSetGameAndRedirectToIndex()
        {
            //Arrange
            Game game = new TestContext().Games.FirstOrDefault();
            var  img  = new Mock <IFormFile>();

            img.Setup(m => m.OpenReadStream()).Returns(new FileStream("1.jpg", FileMode.Open));

            GameViewModel gv = new GameViewModel()
            {
                ID          = game.ID,
                Description = game.Description,
                Genre       = game.Genre,
                Name        = game.Name,
                Negative    = game.Negative,
                Positive    = game.Positive,
                Year        = game.Year,
                Img         = img.Object
            };

            var mock       = new Mock <IStore>();
            var controller = new StoreController(mock.Object);
            //Act
            var result = controller.Add(gv);
            //Assert
            var model = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Index", model.ActionName);
            mock.Verify(m => m.SetGame(It.IsAny <Game>()));
        }
        public void AddRedirectsToAdd()
        {
            //Arrange
            var mock       = new Mock <IStore>();
            var controller = new StoreController(mock.Object);

            //Act
            controller.ModelState.AddModelError("", "Wrong values");
            var result = controller.Add(new GameViewModel());
            //Assert
            var model = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Add", model.ActionName);
        }
Beispiel #3
0
        private void SecondStore(string connectionString, StoreModel storeModel, StoreModel storeModel2)
        {
            StoreController storeController = new StoreController();

            storeController.AndroAdminConnectionStringOverride = connectionString;

            // Add a second store
            ActionResult actionResult = storeController.Add(storeModel2);

            // Check for model errors
            string error = AndroAdminTestHelper.CheckForModelError(actionResult, storeController);

            if (error.Length > 0)
            {
                Assert.Fail(error);
            }

            // Check to see if the store exists
            error = AndroAdminTestHelper.CheckStores(storeController, new List <StoreModel> {
                storeModel, storeModel2
            });

            if (error.Length > 0)
            {
                Assert.Fail(error);
            }

            // Export to XML
            SyncHelper.ConnectionStringOverride = connectionString;
            string xml          = "";
            string errorMessage = AndroAdminSyncHelper.TryGetExportSyncXml(1, 2, out xml);

            Assert.AreEqual <string>("", errorMessage);

            string expectedXml2 =
                "<CloudSync>" +
                "<FromDataVersion>1</FromDataVersion>" +
                "<ToDataVersion>2</ToDataVersion>" +
                "<Stores>" +
                "<Store>" +
                "<ExternalSiteName>TestExternalSiteName2</ExternalSiteName>" +
                "<AndromedaSiteId>321</AndromedaSiteId>" +
                "<ExternalSiteId>TestExternalSiteId2</ExternalSiteId>" +
                "<StoreStatus>Live</StoreStatus>" +
                "<Phone>0987654321</Phone>" +
                "<TimeZone>GMT</TimeZone>" +
                "<Address>" +
                "<Id>2</Id>" +
                "<Org1>Test2_Org1</Org1>" +
                "<Org2>Test2_Org2</Org2>" +
                "<Org3>Test2_Org3</Org3>" +
                "<Prem1>Test2_Prem1</Prem1>" +
                "<Prem2>Test2_Prem2</Prem2>" +
                "<Prem3>Test2_Prem3</Prem3>" +
                "<Prem4>Test2_Prem4</Prem4>" +
                "<Prem5>Test2_Prem5</Prem5>" +
                "<Prem6>Test2_Prem6</Prem6>" +
                "<RoadNum>Test2_RoadNum</RoadNum>" +
                "<RoadName>Test2_RoadName</RoadName>" +
                "<Locality>Test2_Locality</Locality>" +
                "<Town>Test2_Town</Town>" +
                "<County>Test2_County</County>" +
                "<State>Test2_State</State>" +
                "<PostCode>Test2_PostCode</PostCode>" +
                "<DPS>DPS2</DPS>" +
                "<Lat>1.2</Lat>" +
                "<Long>3.4</Long>" +
                "<CountryId>234</CountryId>" +
                "</Address>" +
                "</Store>" +
                "</Stores>" +
                "<Partners />" +
                "</CloudSync>";

            Assert.AreEqual <string>(expectedXml2, xml, "Incorrect sync xml generated: " + xml);
        }
        public void Store()
        {
            // ARRANGE
            var handlerMock = new Mock <HttpMessageHandler>(MockBehavior.Strict);

            handlerMock
            .Protected()
            // Setup the PROTECTED method to mock
            .Setup <Task <HttpResponseMessage> >(
                "SendAsync",
                ItExpr.IsAny <HttpRequestMessage>(),
                ItExpr.IsAny <CancellationToken>()
                )
            // prepare the expected response of the mocked http call
            .ReturnsAsync(new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.OK,
                Content    = null,
            })
            .Verifiable();

            var httpClient = new HttpClient(handlerMock.Object)
            {
                BaseAddress = new Uri("http://test.com/"),
            };
            var subjectUnderTest = new StoreController(httpClient, new Web.MyConfiguration()
            {
                ServiceUrl = "http://test.com/"
            });

            var result  = subjectUnderTest.Index();
            var result2 = subjectUnderTest.Add(new Web.API_Models.EquipmentModel()
            {
                Difficulty = 2, EquipmentId = 1, Modifier = 1, Name = "a", PlayerEquipmentId = 1, Price = 1, Type = "Dunegon"
            });
            var result3 = subjectUnderTest.StoreIndex(1);
            var result4 = subjectUnderTest.StoreIndex(new StoreModel()
            {
                Flavors = new List <FlavorModel>()
                {
                    new FlavorModel()
                    {
                        Bonus = 1, Description = "a", FlavorId = 2, Name = "b"
                    }
                },
                Description = "b",
                Difficulty  = 1,
                Name        = "a",
                StoreId     = 1,
            }, new LootModel()
            {
                Description = "a",
                DropRate    = 1,
                Flavor      = new FlavorModel()
                {
                    Bonus       = 1,
                    Description = "a",
                    FlavorId    = 1,
                    Name        = "b"
                },
                FlavorLootId   = 1,
                LocationLootId = 1,
                LootId         = 1,
                Name           = "b",
                PlayerLootId   = 1,
                Price          = 1,
                Quantity       = 1,
            }, new PlayerModel()
            {
                Gold     = 1,
                Name     = "p",
                PlayerId = 1,
            });

            Assert.NotNull(result);
            Assert.NotNull(result2);
        }