using umbraco.BusinessLogic; using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using umbraco.interfaces; using System.Collections.Generic; using umbraco.DataLayer; using System.Linq; namespace umbraco.Test { /// ///This is a test class for ApplicationTest and is intended ///to contain all ApplicationTest Unit Tests /// [TestClass()] public class ApplicationTest { /// /// Create a new application and delete it /// [TestMethod()] public void Application_Make_New() { var name = Guid.NewGuid().ToString("N"); Application.MakeNew(name, name, "icon.jpg"); //check if it exists var app = Application.getByAlias(name); Assert.IsNotNull(app); //now remove it app.Delete(); Assert.IsNull(Application.getByAlias(name)); } /// /// Creates a new user, assigns the user to existing application, /// then deletes the user /// [TestMethod()] public void Application_Create_New_User_Assign_Application_And_Delete_User() { var name = Guid.NewGuid().ToString("N"); //new user var ut = UserType.GetAllUserTypes().First(); var user = User.MakeNew(name, name, name, ut); //get application var app = Application.getAll().First(); //assign the app user.addApplication(app.alias); //ensure it's added Assert.AreEqual(1, user.Applications.Where(x => x.alias == app.alias).Count()); //delete the user user.delete(); //make sure the assigned applications are gone Assert.AreEqual(0, user.Applications.Where(x => x.alias == name).Count()); } /// /// create a new application and assigne an new user and deletes the application making sure the assignments are removed /// [TestMethod()] public void Application_Make_New_Assign_User_And_Delete() { var name = Guid.NewGuid().ToString("N"); //new user var ut = UserType.GetAllUserTypes().First(); var user = User.MakeNew(name, name, name, ut); Application.MakeNew(name, name, "icon.jpg"); //check if it exists var app = Application.getByAlias(name); Assert.IsNotNull(app); //assign the app user.addApplication(app.alias); //ensure it's added Assert.AreEqual(1, user.Applications.Where(x => x.alias == app.alias).Count()); //delete the app app.Delete(); //make sure the assigned applications are gone Assert.AreEqual(0, user.Applications.Where(x => x.alias == name).Count()); } #region Tests to write ///// /////A test for Application Constructor ///// //[TestMethod()] //public void ApplicationConstructorTest() //{ // string name = string.Empty; // TODO: Initialize to an appropriate value // string alias = string.Empty; // TODO: Initialize to an appropriate value // string icon = string.Empty; // TODO: Initialize to an appropriate value // Application target = new Application(name, alias, icon); // Assert.Inconclusive("TODO: Implement code to verify target"); //} ///// /////A test for Application Constructor ///// //[TestMethod()] //public void ApplicationConstructorTest1() //{ // Application target = new Application(); // Assert.Inconclusive("TODO: Implement code to verify target"); //} ///// /////A test for Delete ///// //[TestMethod()] //public void DeleteTest() //{ // Application target = new Application(); // TODO: Initialize to an appropriate value // target.Delete(); // Assert.Inconclusive("A method that does not return a value cannot be verified."); //} ///// /////A test for MakeNew ///// //[TestMethod()] //public void MakeNewTest1() //{ // string name = string.Empty; // TODO: Initialize to an appropriate value // string alias = string.Empty; // TODO: Initialize to an appropriate value // string icon = string.Empty; // TODO: Initialize to an appropriate value // Application.MakeNew(name, alias, icon); // Assert.Inconclusive("A method that does not return a value cannot be verified."); //} ///// /////A test for RegisterIApplications ///// //[TestMethod()] //public void RegisterIApplicationsTest() //{ // Application.RegisterIApplications(); // Assert.Inconclusive("A method that does not return a value cannot be verified."); //} ///// /////A test for getAll ///// //[TestMethod()] //public void getAllTest() //{ // List expected = null; // TODO: Initialize to an appropriate value // List actual; // actual = Application.getAll(); // Assert.AreEqual(expected, actual); // Assert.Inconclusive("Verify the correctness of this test method."); //} ///// /////A test for getByAlias ///// //[TestMethod()] //public void getByAliasTest() //{ // string appAlias = string.Empty; // TODO: Initialize to an appropriate value // Application expected = null; // TODO: Initialize to an appropriate value // Application actual; // actual = Application.getByAlias(appAlias); // Assert.AreEqual(expected, actual); // Assert.Inconclusive("Verify the correctness of this test method."); //} ///// /////A test for SqlHelper ///// //[TestMethod()] //public void SqlHelperTest() //{ // ISqlHelper actual; // actual = Application.SqlHelper; // Assert.Inconclusive("Verify the correctness of this test method."); //} ///// /////A test for alias ///// //[TestMethod()] //public void aliasTest() //{ // Application target = new Application(); // TODO: Initialize to an appropriate value // string expected = string.Empty; // TODO: Initialize to an appropriate value // string actual; // target.alias = expected; // actual = target.alias; // Assert.AreEqual(expected, actual); // Assert.Inconclusive("Verify the correctness of this test method."); //} ///// /////A test for icon ///// //[TestMethod()] //public void iconTest() //{ // Application target = new Application(); // TODO: Initialize to an appropriate value // string expected = string.Empty; // TODO: Initialize to an appropriate value // string actual; // target.icon = expected; // actual = target.icon; // Assert.AreEqual(expected, actual); // Assert.Inconclusive("Verify the correctness of this test method."); //} ///// /////A test for name ///// //[TestMethod()] //public void nameTest() //{ // Application target = new Application(); // TODO: Initialize to an appropriate value // string expected = string.Empty; // TODO: Initialize to an appropriate value // string actual; // target.name = expected; // actual = target.name; // Assert.AreEqual(expected, actual); // Assert.Inconclusive("Verify the correctness of this test method."); //} #endregion #region Additional test attributes // //You can use the following additional attributes as you write your tests: // //Use ClassInitialize to run code before running the first test in the class //[ClassInitialize()] //public static void MyClassInitialize(TestContext testContext) //{ //} // //Use ClassCleanup to run code after all tests in a class have run //[ClassCleanup()] //public static void MyClassCleanup() //{ //} // //Use TestInitialize to run code before running each test //[TestInitialize()] //public void MyTestInitialize() //{ //} // //Use TestCleanup to run code after each test has run //[TestCleanup()] //public void MyTestCleanup() //{ //} // #endregion } }