def test_past(self): last_year = PastGigFactory.create(date=from_today(-365)) yesterday = PastGigFactory.create(date=from_today(-1)) last_month = PastGigFactory.create(date=from_today(-30)) UpcomingGigFactory.create_batch(5) GigFactory.create_batch(5) self.assertEqual(list(Gig.objects.past().published()), [yesterday, last_month, last_year])
def test_upcoming(self): next_year = UpcomingGigFactory.create(date=from_today(365)) tomorrow = UpcomingGigFactory.create(date=from_today(1)) next_month = UpcomingGigFactory.create(date=from_today(30)) today = UpcomingGigFactory.create(date=from_today()) PastGigFactory.create_batch(5) GigFactory.create_batch(5) self.assertEqual(list(Gig.objects.upcoming().published()), [today, tomorrow, next_month, next_year])
def test_can_create_quote(self): # Ryan logs into the admin self.adminLogin() # He adds a published quote self.find_link('Press').click() self.find_link('ADD PRESS').click() self.find_name('title').send_keys('First source') self.find_name('source_url').send_keys('http://example.com') self.find_name('date').send_keys(date_format(from_today(-30))) self.find_name('body').send_keys('First quote') self.find_name('publish').click() self.find_name('_save').click() self.assertIn('First source', self.find_tag('body').text) # He adds an unpublished quote self.find_link('ADD PRESS').click() self.find_name('title').send_keys('Second source') self.find_name('source_url').send_keys('http://foo.com') self.find_name('date').send_keys(date_format(from_today(-30))) self.find_name('_save').click() self.assertIn('Second source', self.find_tag('body').text) # He verifies that only the published quote is on the site self.get_url('/press') self.assertIn('Press', self.browser.title) self.assertIn('First source', self.find_tag('body').text) self.assertIn('First quote', self.find_tag('body').text) self.assertNotIn('Second source', self.find_tag('body').text) self.assertNotIn('Second quote', self.find_tag('body').text) # He adds the quotes to the release self.get_url('/admin') self.find_link('Press').click() self.find_link('First source').click() self.find_select('release').select_by_visible_text('First release') self.find_name('_save').click() self.find_link('Second source').click() self.find_select('release').select_by_visible_text('First release') self.find_name('_save').click() # He verifies that only the published quote is shown on the release self.get_url('/music/first-release') self.assertIn('First source', self.find_tag('body').text) self.assertNotIn('Second source', self.find_tag('body').text)
def test_can_create_gig(self): # Ryan logs into the admin self.adminLogin() # He publishes an upcoming gig self.find_link('Gigs').click() self.find_link('ADD GIG').click() self.find_name('date').send_keys(date_format(from_today(1))) self.find_name('venue').send_keys(self.venue1.id) self.find_name('description').send_keys('with Tallahassee') self.find_name('details').send_keys('$5, 21+, Doors at 9pm') self.find_name('publish').click() self.find_name('_save').click() self.assertIn('Great Scott', self.find_tag('body').text) # He publishes a past gig self.find_link('ADD GIG').click() self.find_name('date').send_keys(date_format(from_today(-30))) self.find_name('venue').send_keys(self.venue2.id) self.find_name('description').send_keys('with Thick Wild') self.find_name('details').send_keys('$10, 18+, Doors at 8pm') self.find_name('publish').click() self.find_name('_save').click() self.assertIn('Middle East Upstairs', self.find_tag('body').text) # He drafts a future gig self.get_url('/admin') self.find_link('Gigs').click() self.find_link('ADD GIG').click() self.find_name('date').send_keys(date_format(from_today(30))) self.find_name('venue').send_keys(self.venue3.id) self.find_name('_save').click() self.assertIn('Red Star Union', self.find_tag('body').text) # He verifies that only the published gigs are visible self.get_url('/live') self.assertIn('Live', self.browser.title) self.assertIn('Great Scott', self.find_tag('body').text) self.assertIn('Middle East', self.find_tag('body').text) self.assertNotIn('Red Star Union', self.find_tag('body').text)
def test_can_create_release(self): # Ryan logs into the admin self.adminLogin() # He creates an unpublished release self.find_link('Releases').click() self.find_link('ADD RELEASE').click() self.find_name('title').send_keys('First release') self.find_name('date').send_keys(date_format(from_today(1))) self.find_name('cover_url').send_keys('http://localhost/cover.jpg') self.find_name('player_code').send_keys('<iframe></iframe>') self.find_name('description').send_keys('Release description') self.find_name('credits').send_keys('Release credits') self.find_name('_save').click() self.assertIn('First release', self.find_tag('body').text) # He verifies that it's not published self.get_url('/music') self.assertIn('Music', self.browser.title) self.assertNotIn('First release', self.find_tag('body').text) self.get_url('/music/first-release') self.assertNotIn('First release', self.browser.title) # He publishes the release self.get_url('/admin') self.find_link('Releases').click() self.find_link('First release').click() self.find_name('publish').click() self.find_name('_save').click() self.assertIn('First release', self.find_tag('body').text) # He verifies that it was published self.get_url('/music') self.find_link('First release').click() self.assertIn('First release', self.browser.title)
def test_can_create_post(self): # Ryan logs into the admin self.adminLogin() # He adds a published press post self.find_link('Press').click() self.find_link('ADD PRESS').click() self.find_name('title').send_keys('Post title') self.find_name('body').send_keys('Post body') self.find_name('date').send_keys(date_format(from_today(-30))) self.find_name('quote').click() self.find_name('publish').click() self.find_name('_save').click() self.assertIn('Post title', self.find_tag('body').text) # He verifies that the post is on the site self.get_url('/press') self.assertIn('Press', self.browser.title) self.assertIn('Post title', self.find_tag('body').text) self.assertIn('Post body', self.find_tag('body').text) # He adds the post to the release self.get_url('/admin') self.find_link('Press').click() self.find_link('Post title').click() self.find_select('release').select_by_visible_text('First release') self.find_name('_save').click() # He verifies that post is shown on the release self.get_url('/music/first-release') self.assertIn('Post title', self.find_tag('body').text)