public void SePerson_signin_sanctioned_worker_fails() { //Arrange var _per = (Web.ViewModel.Person)ViewModelRecords.person.Clone(); var _wkr = (Web.ViewModel.Worker)ViewModelRecords.worker.Clone(); _wkr.memberexpirationdate = DateTime.Now.AddYears(1); _wkr.dwccardnum = sharedUI.nextAvailableDwccardnum(frb.ToFactory()); var _san = (Web.ViewModel.Event)ViewModelRecords.event1.Clone(); _san.Person = _per; _san.eventTypeID = HttpClientUtil.GetLookup(LCategory.eventtype, "Sanction"); var _act = (Web.ViewModel.Activity)ViewModelRecords.activity.Clone(); //Act ui.personCreate(_per); _wkr.ID = _per.ID; ui.workerCreate(_wkr, testimagefile); // ui.workerSanction(_wkr); // _san.PersonID = _per.ID; ui.eventCreate(_san); ui.activityCreate(_act); // refactored other test to identify idPrefix-dwccardnum ui.activitySignIn(_act.idChild, _wkr.dwccardnum); //Assert Assert.IsTrue(ui.activitySignInIsSanctioned()); }
public void SeActivity_unauth_worker_signin() { // example from ActivityTests.cs -- SeActivity_Create_signin_simple() // Arrange // creates one activity within the hour frb.AddActivity(startTime: DateTime.Now, endTime: DateTime.Now.AddHours(1)); Random rand = new Random(); int rowcount = 1; var workers = frb.ToFactory().Workers; Activity _act = (Activity)Records.activity.Clone(); ActivitySignin _asi = (ActivitySignin)Records.activitysignin.Clone(); IEnumerable <int> cardlist = frb.ToFactory().Workers.Select(q => q.dwccardnum).Distinct(); int firstCardNum = workers.First().dwccardnum; // Act //ui.activityCreate(_act); ui.activityMenuLink(); //Find Activity menu link and click var activityRecord = ui.WaitForElement(By.XPath("//table[@id='activityTable']/tbody/tr[1]")); var activityRecordID = Convert.ToInt32(activityRecord.GetAttribute("recordid")); var idPrefix = "asi" + activityRecordID + "-"; ui.WaitAndDoubleClick(By.XPath("//table[@id='activityTable']/tbody/tr[1]")); // ui.activitySignIn("asi" + activityRecordID + "-dwccardnum", firstCardNum); ui.activitySignIn(idPrefix, firstCardNum); // Assert // borrowed from sharedUI.cs -- activitySignInValidate() Assert.IsNotNull(ui.WaitForElementValue(By.XPath("//table[@id='asi" + activityRecordID + "-asiTable']/tbody/tr[" + rowcount + "]/td[2]"), firstCardNum.ToString()), "Did not find added record number in signin table"); }
public void Create_random_class() { //Used once to create dummy data to support report creation // requires change in app.config to point test database to production IEnumerable <int> cardlist = frb.ToFactory().Workers.Select(q => q.dwccardnum).Distinct().ToList(); IEnumerable <int> classlist = frb.ToFactory().Lookups.Where(l => l.category == "activityName").Select(q => q.ID).ToList(); Activity a = new Activity(); //random date, within last 30 days Random rand = new Random(); DateTime today = DateTime.Today.AddDays(-rand.Next(40)); a.dateStart = today.AddHours(7 + rand.Next(5)); a.dateEnd = a.dateStart.AddHours(1.5); a.nameID = classlist.ElementAt(rand.Next(classlist.Count())); a.typeID = 101; //type==class a.teacher = "UnitTest script"; a.notes = "From Integration_Activity_Service"; frb.ToServ <IActivityService>().Create(a, "TestScript"); int rAttendance = rand.Next(cardlist.Count() / 10); for (var i = 0; i < rAttendance; i++) { ActivitySignin asi = (ActivitySignin)Records.activitysignin.Clone(); asi.dateforsignin = today; asi.activityID = a.ID; asi.dwccardnum = cardlist.ElementAt(rand.Next(cardlist.Count())); frb.ToServ <IActivitySigninService>().CreateSignin(asi, "TestScript"); } //a. }
public void getDynamicQuery_test_all_metadata() { // arrange var reports = frb.ToFactory().ReportDefinitions.AsQueryable(); foreach (var r in reports) { var result = MacheteAdoContext.getMetadata(r.sqlquery, connectionString); Assert.IsTrue(result.Count > 2); } // act // assert }
public void getDynamicQuery_test_all_metadata() { // arrange var context = frb.ToFactory().Get(); var reports = frb.ToRepoReports().GetAllQ(); foreach (var r in reports) { var result = SqlServerUtils.getMetadata(context, r.sqlquery); Assert.IsTrue(result.Count > 2); } // act // assert }
public void ExpireMembers_expires_1_active() { //Arrange frb.AddWorker(status: Worker.iActive, skill1: 62, memberexpirationdate: DateTime.Now.AddDays(-1)); var _w = frb.ToWorker(); //Act frb.ToServ <IWorkerService>().ExpireMembers(); IEnumerable <Worker> result = frb.ToFactory().Get().Workers.AsEnumerable() .Where(p => p.memberStatusID == Worker.iExpired && p.dwccardnum == _w.dwccardnum); //Assert Assert.AreEqual(1, result.Count(), "Failed to expire members"); Assert.AreEqual("Expired", result.First().memberStatusEN, "Failed to set expiration text"); }
public void SePerson_signin_sanctioned_worker_fails() { //Arrange Person _per = (Person)Records.person.Clone(); Worker _wkr = (Worker)Records.worker.Clone(); _wkr.memberexpirationdate = DateTime.Now.AddYears(1); _wkr.dwccardnum = sharedUI.nextAvailableDwccardnum(frb.ToFactory().Get()); Event _san = (Event)Records.event1.Clone(); _san.Person = _per; _san.eventTypeID = MacheteLookup.cache.First(x => x.category == "eventtype" && x.text_EN == "Sanction").ID; Activity _act = (Activity)Records.activity.Clone(); //Act ui.personCreate(_per); _wkr.ID = _per.ID; ui.workerCreate(_wkr, testimagefile); // ui.workerSanction(_wkr); // _san.PersonID = _per.ID; ui.eventCreate(_san); ui.activityCreate(_act); // refactored other test to identify idPrefix-dwccardnum ui.activitySignIn(_act.idChild, _wkr.dwccardnum); //Assert Assert.IsTrue(ui.activitySignInIsSanctioned()); }
public void Integration_Queryable_test() { // Arrange - load test records var worker = frb.AddWorkerSignin().ToWorker(); var signin = frb.ToWorkerSignin(); // Act var q = frb.ToFactory().Get().WorkerSignins.AsQueryable(); q = q.Where(r => r.dwccardnum == signin.dwccardnum && DbFunctions.DiffDays(r.dateforsignin, signin.dateforsignin) == 0 ? true : false); WorkerSignin result = q.FirstOrDefault(); // Assert Assert.IsNotNull(result.ID); Assert.AreEqual(result.WorkerID, worker.ID); Assert.AreEqual(result.dwccardnum, worker.dwccardnum); }
public void activity_getUnassociated() { //Arrange var worker = frb.ToWorker(); frb.AddActivity().AddActivity(); frb.AddActivitySignin(worker: worker); IQueryable <Activity> q = frb.ToFactory().Get().Activities; var count = q.Count(); //Act IndexViewBase.getUnassociated(worker.ID, ref q, frb.ToFactory().Get()); //Assert var result = q.ToList(); Assert.AreEqual(count - 1, result.Count()); }
public void MacheteReportDefinitions_Initialize_counts_match() { // Arrange - load test records var context = frb.ToFactory().Get(); context.Database.ExecuteSqlCommand("TRUNCATE TABLE ReportDefinitions"); var cache = Machete.Data.MacheteReportDefinitions.cache; var count = cache.Count(); // Act Machete.Data.MacheteReportDefinitions.Initialize(context); var result = frb.ToRepoReports().GetAllQ().Count(); // Assert Assert.AreEqual(count, result, "static cache and DB report definitions' count not equal"); }
public void TestInitialize() { frb = new FluentRecordBase(); frb.ToFactory(); dOptions = new viewOptions { CI = new CultureInfo("en-US", false), sSearch = "", date = DateTime.Today, dwccardnum = null, woid = null, orderDescending = false, sortColName = "WOID", displayStart = 0, displayLength = 20 }; }
public void TestInitialize() { frb = new FluentRecordBase(); // populates domain constants cache = new LookupCache(frb.ToFactory()); //Func<> to DB Factory }
public void SeActivity_Create_ManySignins() { //Arrange int rowcount = 1; Random rand = new Random(); if (frb.ToFactory().Workers.Select(q => q.dwccardnum).Distinct().Count() <= 10) { frb.AddWorker(); } // // IEnumerable <int> list = frb.ToFactory().Workers.Select(q => q.dwccardnum).Distinct().ToList(); var count = list.Count(); int numberOfSignins = rand.Next(count / 10) + 1; //+1 will never lead to zero here int numberSignedIn = numberOfSignins; IEnumerable <int> list1 = list.Take <int>(numberOfSignins); var _act = (Web.ViewModel.Activity)ViewModelRecords.activity.Clone(); //Act ui.activityCreate(_act); var idPrefix = "asi" + _act.ID + "-"; for (var i = 0; i < numberOfSignins; i++) { int cardNum = list1.ElementAt(i); ui.activitySignIn(idPrefix, cardNum); Thread.Sleep(1000);//prevent race condition if (ui.activitySignInIsSanctioned()) { --numberSignedIn; continue; } //Assert Thread.Sleep(1000);//prevent race condition Assert.IsTrue(ui.activitySignInValidate(idPrefix, cardNum, rowcount), "Sign in for worker " + i + " with cardNum " + cardNum + " failed!"); //This line ensures the test doesn't break if we try to sign in an ID that has multiple workers attached to it. //rowcount increments by the number of records found in the database matching that cardNum rowcount += frb.ToFactory().Workers.Where(q => q.dwccardnum == cardNum).Count(); } ui.WaitThenClickElement(By.Id("activityListTab")); //ui.SelectOption(By.XPath("//*[@id='activityTable_length']/label/select"), "100"); //Assert // Chaim 4/2/2014 // This isn't working because I disabled auto-reload. It was making // the table appear strangely when I disabled pagination. I did that // because pagination was unpopular with users. // Todo: Either make auto-reload work or find another way of reloading // the page. //Locate record within activitylist datatable and compare the count (column 4) with numberSignedIn Assert.AreEqual(numberSignedIn.ToString(), ui.WaitForElement(By.XPath("//table[@id='activityTable']/tbody/tr[@recordid='" + _act.ID + "']/td[4]")).Text); //walk through pagination to search for recordid //var activityRecordCount = "what"; //bool tableRecordMatch = false; //while (tableRecordMatch == false) { // if (ui.WaitForElementExists(By.XPath("//table[@id='activityTable']/tbody/tr[@recordid='" + _act.ID + "']"))) { // tableRecordMatch = true; // activityRecordCount = ui.WaitForElement(By.XPath("//table[@id='activityTable']/tbody/tr[@recordid='" + _act.ID + "']/td[4]")).Text; // } else { //check for #activityTable_next.paginate_disabled_next //Assert.IsTrue(ui.WaitThenClickElement(By.CssSelector("#activityTable_next.paginate_enabled_next")), "Could not locate record in table pagination"); //} //} //Assert.AreEqual(numberSignedIn.ToString(), activityRecordCount); }