@Test public void testRegistrations() throws Exception { DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); Date startDate = dateFormat.parse("03/25/2014"); Date endDate = dateFormat.parse("03/26/2014"); List<String> topics = new ArrayList<>(); topics.add("Google"); topics.add("Cloud"); topics.add("Platform"); ConferenceForm conferenceForm = new ConferenceForm(NAME, DESCRIPTION, topics, CITY, startDate, endDate, CAP); Conference conference = conferenceApi.createConference(user, conferenceForm); Long conferenceId = conference.getId(); // Registration Boolean result = conferenceApi.registerForConference(user, conference.getWebsafeKey()).getResult(); conference = conferenceApi.getConference(conference.getWebsafeKey()); Profile profile = ofy().load().key(Key.create(Profile.class, user.getUserId())).now(); assertTrue("registerForConference should succeed.", result); assertEquals(CAP - 1, conference.getSeatsAvailable()); assertTrue( "Profile should have the conferenceId in conferenceIdsToAttend.", profile.getConferenceKeysToAttend().contains(conference.getWebsafeKey())); // Unregister result = conferenceApi.unregisterFromConference(user, conference.getWebsafeKey()).getResult(); conference = conferenceApi.getConference(conference.getWebsafeKey()); profile = ofy().load().key(Key.create(Profile.class, user.getUserId())).now(); assertTrue("unregisterFromConference should succeed.", result); assertEquals(CAP, conference.getSeatsAvailable()); assertFalse( "Profile shouldn't have the conferenceId in conferenceIdsToAttend.", profile.getConferenceKeysToAttend().contains(conference.getWebsafeKey())); }
@Test public void testCreateConference() throws Exception { DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); Date startDate = dateFormat.parse("03/25/2014"); Date endDate = dateFormat.parse("03/26/2014"); List<String> topics = new ArrayList<>(); topics.add("Google"); topics.add("Cloud"); topics.add("Platform"); ConferenceForm conferenceForm = new ConferenceForm(NAME, DESCRIPTION, topics, CITY, startDate, endDate, CAP); Conference conference = conferenceApi.createConference(user, conferenceForm); // Check the return value. assertEquals(NAME, conference.getName()); assertEquals(DESCRIPTION, conference.getDescription()); assertEquals(topics, conference.getTopics()); // assertEquals(USER_ID, conference.getOrganizerGplusId()); assertEquals(CITY, conference.getCity()); assertEquals(startDate, conference.getStartDate()); assertEquals(endDate, conference.getEndDate()); assertEquals(CAP, conference.getMaxAttendees()); assertEquals(CAP, conference.getSeatsAvailable()); assertEquals(MONTH, conference.getMonth()); // Check if a new Profile is created Profile profile = ofy().load().key(Key.create(Profile.class, user.getUserId())).now(); assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); String displayName = EMAIL.substring(0, EMAIL.indexOf("@")); assertEquals(displayName, profile.getDisplayName()); }
@Test public void testGetProfile() throws Exception { conferenceApi.saveProfile(user, new ProfileForm(DISPLAY_NAME, TEE_SHIRT_SIZE)); // Fetch the Profile via the API. Profile profile = conferenceApi.getProfile(user); assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(DISPLAY_NAME, profile.getDisplayName()); }
@Test public void testSaveProfile() throws Exception { // Save the profile for the first time. Profile profile = conferenceApi.saveProfile(user, new ProfileForm(DISPLAY_NAME, TEE_SHIRT_SIZE)); // Check the return value first. assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(DISPLAY_NAME, profile.getDisplayName()); // Fetch the Profile via Objectify. profile = ofy().load().key(Key.create(Profile.class, user.getUserId())).now(); assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(DISPLAY_NAME, profile.getDisplayName()); }
@Test public void testSaveProfileWithNull() throws Exception { // Save the profile for the first time with null values. Profile profile = conferenceApi.saveProfile(user, new ProfileForm(null, null)); String displayName = EMAIL.substring(0, EMAIL.indexOf("@")); // Check the return value first. assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(displayName, profile.getDisplayName()); // Fetch the Profile via Objectify. profile = ofy().load().key(Key.create(Profile.class, user.getUserId())).now(); assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(displayName, profile.getDisplayName()); }
@Test public void testUpdateProfileWithNulls() throws Exception { conferenceApi.saveProfile(user, new ProfileForm(DISPLAY_NAME, TEE_SHIRT_SIZE)); // Update the Profile with null values. Profile profile = conferenceApi.saveProfile(user, new ProfileForm(null, null)); // Expected behavior is that the existing properties do not get overwritten // Check the return value first. assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(DISPLAY_NAME, profile.getDisplayName()); // Fetch the Profile via Objectify. profile = ofy().load().key(Key.create(Profile.class, user.getUserId())).now(); assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(DISPLAY_NAME, profile.getDisplayName()); }
@Test public void testUpdateProfile() throws Exception { // Save for the first time. conferenceApi.saveProfile(user, new ProfileForm(DISPLAY_NAME, TEE_SHIRT_SIZE)); Profile profile = ofy().load().key(Key.create(Profile.class, user.getUserId())).now(); assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(DISPLAY_NAME, profile.getDisplayName()); // Then try to update it. String newDisplayName = "New Name"; TeeShirtSize newTeeShirtSize = TeeShirtSize.L; conferenceApi.saveProfile(user, new ProfileForm(newDisplayName, newTeeShirtSize)); profile = ofy().load().key(Key.create(Profile.class, user.getUserId())).now(); assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(newTeeShirtSize, profile.getTeeShirtSize()); assertEquals(newDisplayName, profile.getDisplayName()); }