public void Controller_AvatarSelectShop_Select_Data_Invalid_ItemId_Bogus_Should_Fail() { // Arrange var controller = new AvatarSelectController(); var data = new ShopBuyViewModel { StudentId = DataSourceBackend.Instance.StudentBackend.GetDefault().Id, ItemId = "bogus" }; // Act var result = (RedirectToRouteResult)controller.Select(data); // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.AreEqual("Select", result.RouteValues["action"], TestContext.TestName); }
public void Controller_AvatarSelectShop_Select_Get_myDataIsNull_ShouldReturnErrorPage() { // Arrange var controller = new AvatarSelectController(); var id = DataSourceBackend.Instance.StudentBackend.GetDefault().Id; // Reset DataSourceBackend DataSourceBackend.Instance.Reset(); DataSourceBackend.SetTestingMode(true); // Act var result = (RedirectToRouteResult)controller.Select(id); // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.AreEqual("Error", result.RouteValues["action"], TestContext.TestName); Assert.AreEqual("Home", result.RouteValues["controller"], TestContext.TestName); }
public void Controller_AvatarSelectShop_Edit_Data_Invalid_StudentId_Bogus_Should_Fail() { // Arrange var controller = new AvatarSelectController(); var data = new AvatarItemInputModel { StudentId = "bogus", ItemId = "itemID" }; // Act var result = (RedirectToRouteResult)controller.Edit(data); // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.AreEqual("Index", result.RouteValues["action"], TestContext.TestName); }
public void Controller_AvatarSelectShop_Select_Data_Valid_Limited_Should_Pass() { // Arrange var controller = new AvatarSelectController(); var data = new ShopBuyViewModel { StudentId = DataSourceBackend.Instance.StudentBackend.GetDefault().Id, ItemId = DataSourceBackend.Instance.AvatarItemBackend.GetFirstAvatarItemId() }; // Get the Student Record and Add some Tokens to it. var myStudent = DataSourceBackend.Instance.StudentBackend.Read(data.StudentId); myStudent.Tokens = 1000; // Clear the Student AvatarInventory, so one can be purchanged. myStudent.AvatarInventory.Clear(); DataSourceBackend.Instance.StudentBackend.Update(myStudent); // Get the Item Record and Set the Token Value var myInventory = DataSourceBackend.Instance.AvatarItemBackend.Read(data.ItemId); myInventory.Tokens = 10; myInventory.IsLimitSupply = true; DataSourceBackend.Instance.AvatarItemBackend.Update(myInventory); var expect = myStudent.Tokens - myInventory.Tokens; // Act ViewResult result = controller.Select(data) as ViewResult; var myStudent2 = DataSourceBackend.Instance.StudentBackend.Read(data.StudentId); // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.AreEqual(expect, myStudent2.Tokens, TestContext.TestName); }
public void Controller_AvatarSelectShop_Edit_InValid_AvatarComposite_Null_Should_Fail() { // Arrange var controller = new AvatarSelectController(); var data = DataSourceBackend.Instance.StudentBackend.GetDefault(); data.AvatarComposite = null; DataSourceBackend.Instance.StudentBackend.Update(data); var item = DataSourceBackend.Instance.AvatarItemBackend.GetDefault(AvatarItemCategoryEnum.Accessory); // Act var result = controller.Edit(data.Id, item.Id) as RedirectToRouteResult; // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.AreEqual("Error", result.RouteValues["action"], TestContext.TestName); Assert.AreEqual("Home", result.RouteValues["controller"], TestContext.TestName); }
public void Controller_AvatarSelectShop_Inventory_ItemIsNotNull_Should_Pass() { // Arrange var controller = new AvatarSelectController(); var student = new StudentModel(); var InventoryList = DataSourceBackend.Instance.AvatarItemBackend.Index(); student.Id = DataSourceBackend.Instance.StudentBackend.GetDefault().Id; // Act student.AvatarInventory = InventoryList; DataSourceBackend.Instance.StudentBackend.Update(student); ViewResult result = controller.Inventory(student.Id) as ViewResult; // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.IsNotNull(result, TestContext.TestName); }
public void Controller_AvatarSelectShop_Select_Data_InValid_Tokens_Less_Than_One_Should_Fail() { // Arrange var controller = new AvatarSelectController(); var data = new ShopBuyViewModel { StudentId = DataSourceBackend.Instance.StudentBackend.GetDefault().Id, ItemId = DataSourceBackend.Instance.AvatarItemBackend.GetFirstAvatarItemId() }; // Get the Student Record and Add some Tokens to it. var myStudent = DataSourceBackend.Instance.StudentBackend.Read(data.StudentId); myStudent.Tokens = 0; DataSourceBackend.Instance.StudentBackend.Update(myStudent); // Get the Item Record and Set the Token Value var myInventory = DataSourceBackend.Instance.AvatarItemBackend.Read(data.ItemId); myInventory.Tokens = 0; DataSourceBackend.Instance.AvatarItemBackend.Update(myInventory); // No Purchase, so tokens stay the same var expect = myStudent.Tokens; var expectCount = myStudent.AvatarInventory.Count(); // Act var result = (RedirectToRouteResult)controller.Select(data); var myStudent2 = DataSourceBackend.Instance.StudentBackend.Read(data.StudentId); // Reset DataSourceBackend.Instance.Reset(); // Assert Assert.AreEqual("Select", result.RouteValues["action"], TestContext.TestName); Assert.AreEqual(expect, myStudent2.Tokens, TestContext.TestName); Assert.AreEqual(expectCount, myStudent2.AvatarInventory.Count(), TestContext.TestName); }
public void Controller_AvatarSelectShop_Index_With_Empty_List_Should_Return_Error_Page() { // Arrange var controller = new AvatarSelectController(); // Set unitesting backend data DataSourceBackend.Instance.SetDataSourceDataSet(DataSourceDataSetEnum.UnitTest); // Make empty StudentList while (DataSourceBackend.Instance.StudentBackend.Index().Count != 0) { var first = DataSourceBackend.Instance.StudentBackend.GetDefault(); DataSourceBackend.Instance.StudentBackend.Delete(first.Id); } // Act var result = (RedirectToRouteResult)controller.Index(); // Reset DataSourceBackend DataSourceBackend.Instance.Reset(); // Assert Assert.AreEqual("Error", result.RouteValues["action"], TestContext.TestName); }