def test_get_list_page_no_notes(self): '''User sees a message if they have no notes on record currently.''' get_request = self.factory.get('notes:index') get_request.user = self.user response = NoteList.as_view()(get_request) self.assertContains(response.content, ("You don't have any notes to display."))
def test_get_list_page(self): '''A user sees a page with all their notes together.''' # the user has already made notes first_note = Note.objects.create(title='Frogs', content='Why do frogs eat flies?', author=self.user, media=None) next_note = Note.objects.create(title='Storms', content='Storms bring precipitation', author=self.user, media=None) get_request = self.factory.get('notes:index') # there are multiple notes displayed response = NoteList.as_view()(get_request) self.assertEqual(response.status_code, 200) self.assertContains(response.content, first_note.title) self.assertContains(response.content, next_note.title)
from django.contrib import admin from django.urls import path from notes.views import Notes, NoteCreate, NoteDelete, NoteList, NoteUpdate urlpatterns = [ # User Admin path('admin/', admin.site.urls), # Add View path('add', NoteCreate.as_view(), name='note-add'), # Edit View path('<int:pk>/', NoteUpdate.as_view(), name='note-update'), # Delete View path('<int:pk>/delete/', NoteDelete.as_view(), name='note-delete'), # List View path('', NoteList.as_view(), name='note-list'), ]
from django.conf.urls.defaults import * from django.contrib.auth.decorators import login_required from django.views.generic import DetailView, ListView from django.views.generic.edit import CreateView, UpdateView from notes.models import Note, Topic from notes.views import NoteList, NoteDetail urlpatterns = patterns( '', url(r'^$', NoteList.as_view(), name='notes-index'), url('^topics/$', ListView.as_view(model=Topic), name='notes-topic-list'), url('^topics/(?P<slug>[+\w]+)/$', DetailView.as_view(model=Topic), name='notes-topic-detail'), url(r'^add/$', login_required(CreateView.as_view(model=Note)), name='notes-create'), url('^(?P<pk>\d+)/$', NoteDetail.as_view(), name='notes-view'), url('^(?P<pk>\d+)/edit/$', login_required(UpdateView.as_view(model=Note)), name='notes-edit'), )
from django.conf.urls.defaults import * from django.contrib.auth.decorators import login_required from django.views.generic import DetailView, ListView from django.views.generic.edit import CreateView, UpdateView from notes.models import Note, Topic from notes.views import NoteList, NoteDetail urlpatterns = patterns('', url(r'^$', NoteList.as_view(), name='notes-index'), url('^topics/$', ListView.as_view(model=Topic), name='notes-topic-list'), url('^topics/(?P<slug>[+\w]+)/$', DetailView.as_view(model=Topic), name='notes-topic-detail'), url(r'^add/$', login_required(CreateView.as_view(model=Note)), name='notes-create'), url('^(?P<pk>\d+)/$', NoteDetail.as_view(), name='notes-view'), url('^(?P<pk>\d+)/edit/$', login_required(UpdateView.as_view(model=Note)), name='notes-edit'), )
from django.urls import path from notes.views import (NoteList, NoteDetail, NoteCreate, NoteUpdate, NoteDelete, post_on_medium) from django.conf import settings from django.conf.urls.static import static app_name = 'notes' urlpatterns = ([ path('', NoteCreate.as_view(), name="create_note_form"), path('home/', NoteList.as_view(), name='index'), path('<slug:slug>/edit/', NoteUpdate.as_view(), name="edit_note_form"), path('<slug:slug>/delete/', NoteDelete.as_view(), name='delete_note'), path('<slug:slug>/', NoteDetail.as_view(), name='notes-detail-page'), path(('https://medium.com/m/oauth/authorize?' + 'client_id={{clientId}}' + '&scope=basicProfile,publishPost&state={{state}}' + '&response_type=code&redirect_uri={{redirectUri}}'), post_on_medium, name='post-to-medium'), ])
from django.conf.urls import url, include from . import views from notes.views import MovieList, NoteList, CalendarList app_name = 'notes' urlpatterns = [ url(r'^movies/$', MovieList.as_view()), url(r'^notes/$', NoteList.as_view()), url(r'^calendar/$', CalendarList.as_view()), url(r'^calendar/add/$', views.CalendarCreate.as_view(), name='calendar-add'), url(r'^$', views.IndexView.as_view(), name='index'), url(r'movies/add/$', views.MovieCreate.as_view(), name='movie-add'), url(r'notes/add/$', views.NoteCreate.as_view(), name='note-add'), url(r'movies/(?P<pk>[0-9]+)/$', views.MovieUpdate.as_view(), name='movie-update'), # music/album/2/delete url(r'movies/(?P<pk>[0-9]+)/delete/$', views.MovieDelete.as_view(), name='movie-delete'), ]