public void User_Can_View_Patient_Treatments()
        {
            // find a unique count of treatments
            var counts =
                new LinqMetaData().Patient
                .Where(x => x.Location.Organization.Users.Any())
                .Select(x => new { Patient = x, Count = x.Treatments.Count() }).ToList();
            var patientCount = counts.FirstOrDefault(x => counts.Count(y => y.Count == x.Count) == 1);

            Assert.IsNotNull(patientCount);
            var patient = patientCount.Patient;

            // make sure search is accessible
            var controller = Mock();

            controller.HttpContext.User = new RolePrincipal(new GenericIdentity(patient.Location.Organization.Users.First().Username));
            controller.Invoke(x => x.Index(null, patient.PatientId, null));

            // get user from controller
            var user = new LinqMetaData().User.SingleOrDefault(x => x.Username == controller.HttpContext.User.Identity.Name);

            Assert.IsNotNull(user);
            Assert.IsFalse(user.Username == "");

            // make sure the data table information was added to view data properly
            Assert.IsNotNull(controller.ViewData["DataTablesModels"] as Dictionary <string, object>);
            Assert.IsNotNull(((Dictionary <string, object>)
                              controller.ViewData["DataTablesModels"]).FirstOrDefault());

            var id = ((IDataTablesInitializationModel)
                      ((Dictionary <string, object>)
                       controller.ViewData["DataTablesModels"]).First().Value).ID;

            // do a search for that patient id
            controller = Mock();
            controller.HttpContext.User = new RolePrincipal(new GenericIdentity(patient.Location.Organization.Users.First().Username));
            controller.Invoke(x => x.Index(null, patient.PatientId, new DataTablesRequestModel
            {
                sEcho       = 1,
                epicTableId = id
            }));

            // look for count of records
            Assert.IsTrue(controller.Response.Output.ToString().Contains("\"iTotalRecords\":" + patient.Treatments.Count()));
        }