public void Can_persist()
        {
            var userGroup = new UserGroup
                                {Name = "user group"};
            var conference = new Conference
                             	{
                             		Name = "sdf",
                             		Description = "description",
                             		StartDate = new DateTime(2008, 12, 2),
                             		EndDate = new DateTime(2008, 12, 3),
                             		TimeZone = "CST",
                             		LocationName = "St Edwards Professional Education Center",
                             		Address = "12343 Research Blvd",
                             		City = "Austin",
                             		Region = "Tx",
                             		PostalCode = "78234",
                             		PhoneNumber = "512-555-1234",
                             		HtmlContent = "<h1>This is some markup about sponsors.</h1>",
                             		UserGroup = userGroup,
                             		HasRegistration = true,
                             		LocationUrl = "http://foobar"
                             	};

            AssertObjectCanBePersisted(userGroup);
            AssertObjectCanBePersisted(conference);
        }
		public void Should_render_conference_announcement_for_conference()
		{
			var conference = new Conference();
			var controller = new EventController(null);
			AutoMappedViewResult result = (AutoMappedViewResult) controller.Announcement(conference);
			result.ViewName.ShouldEqual("Conference" + EventController.ANNOUNCEMENT_PARTIAL_SUFFIX);
			result.ViewData.Model.ShouldEqual(conference);
			result.ViewModelType.ShouldEqual(typeof(ConferenceInput));
		}
示例#3
0
        public ActionResult Index(Conference conference)
        {
            var user = _repository.GetByUserName("admin");
            if (user == null)
            {
                return RedirectToAction<UserController>(c => c.Edit((User) null));
            }
            var model = new AdminInput {ConferenceIsSelected = conference != null};

            return View(model);
        }
		public void Should_list_all_events_for_usergroup()
		{
			var repository = S<IEventRepository>();
			var usergroup = new UserGroup();
			var meeting = new Meeting {Key = "meeting1"};
			var conference = new Conference {Key = "conference1"};
			repository.Stub(s => s.GetAllForUserGroup(usergroup)).Return(new Event[] {meeting, conference});

			var controller = new EventController(repository);
			ViewResult result = controller.List(usergroup);
			result.ViewName.ShouldEqual("list");
			result.ViewData.Model.ShouldEqual(new[] {"meeting1", "conference1"});
		}
        public void Should_retrieve_all_upcoming_events()
        {
            SystemClockFactory.Default = () => new Clock(new DateTime(2009, 5, 5));
            var usergroup = new UserGroup();
            var usergroup1 = new UserGroup();
            var event1 = new Conference
                              	{
                              		UserGroup = usergroup1,
                              		StartDate = new DateTime(2000, 1, 2),
                              		EndDate = new DateTime(2009, 4, 6)
                              	};
            var event4 = new Meeting
                              	{
                              		UserGroup = usergroup,
                              		StartDate = new DateTime(2000, 1, 3),
                              		EndDate = new DateTime(2009, 5, 4, 20, 0, 0)
                              	};
            var event2 = new Conference
                              	{
                              		UserGroup = usergroup1,
                              		StartDate = new DateTime(2000, 1, 4),
                              		EndDate = new DateTime(2009, 5, 5, 20, 0, 0)
                              	};
            var event3 = new Meeting
                              	{
                              		UserGroup = usergroup,
                              		StartDate = new DateTime(2000, 1, 5),
                              		EndDate = new DateTime(2009, 5, 7)
                              	};

            using (ISession session = GetSession())
            {
                session.SaveOrUpdate(usergroup);
                session.SaveOrUpdate(usergroup1);
                session.SaveOrUpdate(event1);
                session.SaveOrUpdate(event2);
                session.SaveOrUpdate(event3);
                session.SaveOrUpdate(event4);
                session.Flush();
            }

            IEventRepository repository = GetInstance<EventRepository>();
            Event[] events = repository.GetAllFutureEvents();

            events.Length.ShouldEqual(2);
            events[0].ShouldEqual(event2);
        }
		public void Should_tag_created_and_updated_info_when_no_created_date_exists()
		{
			var userSession = S<IUserSession>();
			var currentUser = new User {Username = "******"};
			userSession.Stub(us => us.GetCurrentUser()).Return(currentUser);

			var conference = new Conference();

			var interceptor = new ChangeAuditInfoInterceptor(userSession, new Clock(new DateTime(2008, 10, 20)));

			interceptor.OnSave(conference, null, new[] {new ChangeAuditInfo()}, new[] {"ChangeAuditInfo"}, null);

			conference.ChangeAuditInfo.Created.ShouldEqual(new DateTime(2008, 10, 20));
			conference.ChangeAuditInfo.CreatedBy.ShouldEqual(currentUser.Username);
			conference.ChangeAuditInfo.Updated.ShouldEqual(new DateTime(2008, 10, 20));
			conference.ChangeAuditInfo.UpdatedBy.ShouldEqual(currentUser.Username);
		}
		public void Should_list_all_future_events()
		{
			var repository = S<IEventRepository>();
			var userGroup1 = new UserGroup {Name = "foo", DomainName = "bar"};
			var meeting = new Meeting
			              	{
			              		Key = "meeting1",
			              		Name = "monthly meeting",
			              		Topic = "Visual Studio Tips and Tricks",
			              		UserGroup = userGroup1
			              	};
			var conference = new Conference {Key = "conference1", Name = "Austin Code Camp", UserGroup = userGroup1};
			repository.Stub(s => s.GetAllFutureEvents()).Return(new Event[] {meeting, conference});

			var controller = new EventController(repository);
			ViewResult result = controller.AllUpcomingEvents();
			result.ViewName.ShouldEqual("");
			result.ViewData.Model.ShouldBeInstanceOf<EventList[]>();
		}
        public void should_retrieve_events_for_a_usergroup()
        {
            var usergroup = new UserGroup();
            var conference1 = new Conference {UserGroup = usergroup};
            var meeting1 = new Meeting {UserGroup = usergroup};
            var meeting2 = new Meeting();

            using (ISession session = GetSession())
            {
                session.SaveOrUpdate(usergroup);
                session.SaveOrUpdate(conference1);
                session.SaveOrUpdate(meeting1);
                session.SaveOrUpdate(meeting2);
                session.Flush();
            }

            IEventRepository repository = GetInstance<EventRepository>();
            Event[] events = repository.GetAllForUserGroup(usergroup);

            events.Length.ShouldEqual(2);
        }
		public void Should_tag_updated_info_when_created_info_exists()
		{
			var userSession = S<IUserSession>();
			var createdUser = new User {Username = "******"};
			var currentUser = new User {Username = "******"};
			userSession.Stub(us => us.GetCurrentUser()).Return(currentUser);

			var conference = new Conference
			                 	{
			                 		ChangeAuditInfo =
			                 			new ChangeAuditInfo {Created = new DateTime(2008, 10, 1), CreatedBy = createdUser.Username}
			                 	};

			var interceptor = new ChangeAuditInfoInterceptor(userSession, new Clock(new DateTime(2008, 10, 20)));

			interceptor.OnFlushDirty(conference, null, new[] {conference.ChangeAuditInfo}, null, new[] {"ChangeAuditInfo"}, null);

			conference.ChangeAuditInfo.Created.ShouldEqual(new DateTime(2008, 10, 1));
			conference.ChangeAuditInfo.CreatedBy.ShouldEqual(createdUser.Username);
			conference.ChangeAuditInfo.Updated.ShouldEqual(new DateTime(2008, 10, 20));
			conference.ChangeAuditInfo.UpdatedBy.ShouldEqual(currentUser.Username);
		}
示例#10
0
        private void LoadData()
        {
            var userGroup = new UserGroup
                                {
                                    Name = "Austin .Net Users Group",
                                    City = "Austin",
                                    Region = "Texas",
                                    Country = "USA",
                                    Key = "default",
                                    HomepageHTML = "Austin .Net Users Group",
                                };
            userGroup.Add(new Sponsor
                          	{
                          		Level = SponsorLevel.Platinum,
                          		Name = "Microsoft",
                          		Url = "http://microsoft.com/",
                          		BannerUrl = "http://www.microsoft.com/presspass/images/gallery/logos/web/net_v_web.jpg"
                          	});
            var conference = new Conference
                             	{
                             		Address = "123 Guadalupe Street",
                             		City = "Austin",
                             		Description = "Texas' Premier Software Community Event",
                             		EndDate = new DateTime(2009, 5, 10),
                             		StartDate = new DateTime(2009, 5, 9),
                             		Key = "austincodecamp",
                             		LocationName = "St. Edward's Professional Education Center",
                             		Name = "Austin Code Camp",
                             		PhoneNumber = "(512) 555-1212",
                             		PostalCode = "78787",
                             		Region = "Texas",
                             		UserGroup = userGroup,
                             		HtmlContent =
                             			@"
                                    <p>
            <script type=""text/javascript"" src=""http://feeds2.feedburner.com/AustinCodeCamp?format=sigpro""></script>
            </p>
            <noscript></noscript>
            <p><iframe marginwidth=""0"" marginheight=""0""
            src=""http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=9420+Research+Blvd,+Austin,+TX+78759+(St+Edward's+PEC)&amp;sll=30.384022,-97.743998&amp;sspn=0.006858,0.013626&amp;ie=UTF8&amp;ll=30.397013,-97.74004&amp;spn=0.025911,0.036478&amp;z=14&amp;iwloc=addr&amp;output=embed""
            frameborder=""0"" width=""425"" scrolling=""no"" height=""350""></iframe><br /><small>
            <a style=""color:#0000FF;text-align:left""
            href=""http://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=9420+Research+Blvd,+Austin,+TX+78759+(St+Edward's+PEC)&amp;sll=30.384022,-97.743998&amp;sspn=0.006858,0.013626&amp;ie=UTF8&amp;ll=30.397013,-97.74004&amp;spn=0.025911,0.036478&amp;z=14&amp;iwloc=addr"">
            View Larger Map</a></small></p>"
                             	};

            var list = new List<PersistentObject>();
            User[] users = CreateUsers();
            list.AddRange(users);
            userGroup.Add(users[0]);
            list.Add(userGroup.GetSponsors()[0]);
            list.Add(userGroup);
            list.Add(conference);

            IEnumerable<Conference> conferences = CreateConferences(userGroup);
            IEnumerable<Meeting> meetings = CreateMeetings(userGroup);
            list.AddRange(conferences.ToArray());
            list.AddRange(meetings.ToArray());

            PersistEntities(list.ToArray());
        }