public void Create() { //Arrange var userData = new List <User> { new User { Email = "[email protected]", Name = "IhaveName1", Password = "******", UserId = 1 }, new User { Email = "[email protected]", Name = "IhaveName2", Password = "******", UserId = 2 }, new User { Email = "[email protected]", Name = "IhaveName3", Password = "******", UserId = 3 }, new User { Email = "[email protected]", Name = "IhaveName4", Password = "******", UserId = 4 } }.AsQueryable(); var mockUserSet = new Mock <DbSet <User> >(); mockUserSet.SetupData(userData); var mockContext = new Mock <IBoardGameDbContext>(); mockContext.Setup(s => s.Users).Returns(mockUserSet.Object); IMatchServiceValidation serviceValidation = new MatchServiceValidation(new MatchValidation(), mockContext.Object); CreateMatch createMatchOk = new CreateMatch { GameType = (int)GameTypes.Chess, UserIdList = new List <int> { 1, 2 } }; CreateMatch createMatchOkMultipleUser = new CreateMatch { GameType = (int)GameTypes.Chess, UserIdList = new List <int> { 1, 2, 3, 4 } }; CreateMatch createMatchNoGameData = new CreateMatch { GameType = (int)GameTypes.Chess, UserIdList = new List <int> { 1, 2 } }; CreateMatch createMatchNoUserList = new CreateMatch { GameType = (int)GameTypes.Chess, UserIdList = null }; CreateMatch createMatchNoUserInDB = new CreateMatch { GameType = (int)GameTypes.Chess, UserIdList = new List <int> { 1, 6 } }; //Act var resultOk = serviceValidation.Create(createMatchOk); var resultOkMultipleUser = serviceValidation.Create(createMatchOk); var resultNoGameData = serviceValidation.Create(createMatchNoGameData); var resultNoUserList = serviceValidation.Create(createMatchNoUserList); var resultMatchNoUserInDB = serviceValidation.Create(createMatchNoUserInDB); //Assert Assert.AreEqual(resultOk.IsSucces, true); Assert.AreEqual(resultOk.ErrorList.Count, 0); Assert.AreEqual(resultOkMultipleUser.IsSucces, true); Assert.AreEqual(resultOkMultipleUser.ErrorList.Count, 0); /* * Assert.AreEqual(resultNoGameData.IsSucces, false); * Assert.AreEqual(resultNoGameData.ErrorList.Any(a=> a.Key == ValidationKey.MatchNoJsonFormatGameData.ToString()), true); * Assert.AreEqual(resultNoGameData.ErrorList.Count, 1); */ Assert.AreEqual(resultNoUserList.IsSucces, false); Assert.AreEqual(resultNoUserList.ErrorList.Any(a => a.Key == ValidationKey.MatchNoUsers.ToString()), true); Assert.AreEqual(resultNoUserList.ErrorList.Count, 1); Assert.AreEqual(resultMatchNoUserInDB.IsSucces, false); Assert.AreEqual(resultMatchNoUserInDB.ErrorList.Any(a => a.Key == ValidationKey.MatchNoUser.ToString() && a.Value.Contains("6")), true); Assert.AreEqual(resultMatchNoUserInDB.ErrorList.Count, 1); }
public void Update() { //Arrange var mockContext = new Mock <IBoardGameDbContext>(); IMatchServiceValidation serviceValidation = new MatchServiceValidation(new MatchValidation(), mockContext.Object); Match matchOk = new Match() { MatchId = 1, DateStart = DateTime.Now, GameTypeId = (int)GameTypes.Chess, GameData = "{\"variable3\": 200,\"variable4\": 2}" }; Match matchOkDataEnd = new Match() { MatchId = 1, DateStart = DateTime.Now, DateEnd = DateTime.Now.AddDays(1), GameTypeId = (int)GameTypes.Chess, GameData = "{\"variable3\": 200,\"variable4\": 2}" }; Match matchNoMatchId = new Match() { DateStart = DateTime.Now, GameTypeId = (int)GameTypes.Chess, GameData = "{\"variable3\": 200,\"variable4\": 2}" }; Match matchNull = null; Match matchNoGameData = new Match() { MatchId = 1, DateStart = DateTime.Now, GameTypeId = (int)GameTypes.Chess }; Match matchIncorrectGameData = new Match() { MatchId = 1, DateStart = DateTime.Now, GameTypeId = (int)GameTypes.Chess, GameData = "{\"variable3\": 200,\"variable4" }; Match matchNoDateStart = new Match() { MatchId = 1, GameTypeId = (int)GameTypes.Chess, GameData = "{\"variable3\": 200,\"variable4\": 2}" }; Match matchBadEndData = new Match() { MatchId = 1, DateStart = DateTime.Now, DateEnd = DateTime.Now.AddDays(-1), GameTypeId = (int)GameTypes.Chess, GameData = "{\"variable3\": 200,\"variable4\": 2}" }; Match matchIncorrect = new Match() { MatchId = 1, DateEnd = DateTime.Now.AddDays(-1), GameTypeId = (int)GameTypes.Chess, GameData = "{\"variable3\": 200,\"variable4\"" }; //Act var resultOk = serviceValidation.Update(matchOk); var resultOkDataEnd = serviceValidation.Update(matchOkDataEnd); var resultNoMatchId = serviceValidation.Update(matchNoMatchId); var resultNull = serviceValidation.Update(matchNull); var resultNoGameData = serviceValidation.Update(matchNoGameData); var resultIncorrectGameData = serviceValidation.Update(matchIncorrectGameData); var resultNoDateStart = serviceValidation.Update(matchNoDateStart); var resultBadEndData = serviceValidation.Update(matchBadEndData); var resultIncorrect = serviceValidation.Update(matchIncorrect); //Assert Assert.AreEqual(resultOk.IsSucces, true); Assert.AreEqual(resultOk.ErrorList.Count, 0); Assert.AreEqual(resultOkDataEnd.IsSucces, true); Assert.AreEqual(resultOkDataEnd.ErrorList.Count, 0); Assert.AreEqual(resultNoMatchId.IsSucces, false); Assert.AreEqual(resultNoMatchId.ErrorList.Any(a => a.Key == ValidationKey.MatchNoId.ToString()), true); Assert.AreEqual(resultNoMatchId.ErrorList.Count, 1); Assert.AreEqual(resultNull.IsSucces, false); Assert.AreEqual(resultNull.ErrorList.Any(a => a.Key == ValidationKey.IsNull.ToString()), true); Assert.AreEqual(resultNull.ErrorList.Count, 1); /* * Assert.AreEqual(resultNoGameData.IsSucces, false); * Assert.AreEqual(resultNoGameData.ErrorList.Any(a => a.Key == ValidationKey.MatchNoJsonFormatGameData.ToString()), true); * Assert.AreEqual(resultNoGameData.ErrorList.Count, 1); */ Assert.AreEqual(resultIncorrectGameData.IsSucces, false); Assert.AreEqual(resultIncorrectGameData.ErrorList.Any(a => a.Key == ValidationKey.MatchNoJsonFormatGameData.ToString()), true); Assert.AreEqual(resultIncorrectGameData.ErrorList.Count, 1); Assert.AreEqual(resultNoDateStart.IsSucces, false); Assert.AreEqual(resultNoDateStart.ErrorList.Any(a => a.Key == ValidationKey.MatchNullDateStart.ToString()), true); Assert.AreEqual(resultNoDateStart.ErrorList.Count, 1); Assert.AreEqual(resultBadEndData.IsSucces, false); Assert.AreEqual(resultBadEndData.ErrorList.Any(a => a.Key == ValidationKey.MatchIncorectDateEnd.ToString()), true); Assert.AreEqual(resultBadEndData.ErrorList.Count, 1); Assert.AreEqual(resultIncorrect.IsSucces, false); Assert.AreEqual(resultIncorrect.ErrorList.Any(a => a.Key == ValidationKey.MatchNoJsonFormatGameData.ToString()), true); Assert.AreEqual(resultIncorrect.ErrorList.Any(a => a.Key == ValidationKey.MatchNullDateStart.ToString()), true); Assert.AreEqual(resultIncorrect.ErrorList.Count, 2); }