Example #1
0
 def test_create_project_form_invalid(self):
     '''
     The UserStoy creating view function's test with invalid form data
     '''
     form = CreateProjectForm(data={})
     self.assertFalse(form.is_valid())
     self.assertEqual(len(form.errors), 2)
Example #2
0
    def test_required_fields(self):
        form = CreateProjectForm()

        self.assertTrue(form.fields['name'].required)
        self.assertTrue(form.fields['project_type'].required)
        self.assertFalse(form.fields['git_owner'].required)
        self.assertFalse(form.fields['git_name'].required)
        self.assertTrue(form.fields['owner_type'].required)
        self.assertTrue(form.fields['organization_owner'].required)
        self.assertFalse(form.fields['description'].required)
Example #3
0
def create_project(request):
    context = {'form': CreateProjectForm()}
    if request.method == 'GET':
        return render(request, 'projects/create-project.html', context)
    else:
        project_pk = request.POST.get('project_pk')
        try:
            project = Project.objects.get(pk=project_pk)
            form = CreateProjectForm(request.POST, instance=project)
            context['form'] = form
            if form.is_valid():
                project = form.save(commit=False)
                project.save()
                return JsonResponse({'pk': project.pk})
            else:
                return HttpResponse('error')
        except Project.DoesNotExist:
            project = Project.objects.create()
            return JsonResponse({'pk': project.pk})
Example #4
0
 def test_create_project_form_is_valid(self):
     '''
     The Project creating view function's test with valid form data
     '''
     form_data = {
         'name': 'New',
         'code': 'TEST',
         'release': '2020',
     }
     form = CreateProjectForm(data=form_data)
     self.assertTrue(form.is_valid())
Example #5
0
def project_create(request):
    """
    The view for creating a new project where the docs will be hosted
    as objects and edited through the site
    """
    form = CreateProjectForm(request.POST or None)

    if request.method == 'POST' and form.is_valid():
        form.instance.user = request.user
        project = form.save()
        project_manage = reverse('projects_manage', args=[project.slug])
        return HttpResponseRedirect(project_manage)

    return render_to_response('projects/project_create.html', {'form': form},
                              context_instance=RequestContext(request))
Example #6
0
    def test_field_labels(self):
        form = CreateProjectForm()

        self.assertTrue(form.fields['name'].label is None
                        or form.fields['name'].label == 'Name')
        self.assertTrue(form.fields['project_type'].label is None
                        or form.fields['project_type'].label == 'Project type')
        self.assertTrue(form.fields['git_owner'].label is None
                        or form.fields['git_owner'].label == 'Git owner')
        self.assertTrue(form.fields['git_name'].label is None
                        or form.fields['git_name'].label == 'Git name')
        self.assertTrue(form.fields['owner_type'].label is None
                        or form.fields['owner_type'].label == 'Owner')
        self.assertTrue(
            form.fields['organization_owner'].label is None
            or form.fields['organization_owner'].label == 'Organization')
        self.assertTrue(form.fields['description'].label is None
                        or form.fields['description'].label == 'Description')
Example #7
0
    def test_invalid_form(self):
        form_data = {'name': 'Project', 'description': 'opis projekta'}

        form = CreateProjectForm(data=form_data)
        self.assertFalse(form.is_valid())
Example #8
0
    def test_field_number(self):
        form = CreateProjectForm()

        self.assertEqual(len(form.fields), 7)
Example #9
0
    def test__initial_values(self):
        form = CreateProjectForm()

        self.assertEqual(form.fields['project_type'].initial, 'p')
        self.assertEqual(form.fields['owner_type'].initial, 'o')
Example #10
0
def create(request):
    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = CreateProjectForm(request.user, request.POST)
        # check whether it's valid:
        if form.is_valid():
            project = form.save(commit=False)
            project.user = request.user
            project.save()

            branch = Branch()
            branch.project = project
            branch.code = 'master'
            branch.name = 'Master'
            branch.save()

            project.active_branch = branch
            project.save()

            revision = Revision()
            revision.branch = branch
            revision.save()

            branch.head = revision
            branch.save()

            readme_file = File()
            readme_file.filename = 'README.md'
            readme_file.file = '# %s\n' % project.name
            readme_file.mime = 'text/markdown'
            readme_file.save()
            revision.files.add(readme_file)

            side_config_file = File()
            side_config_file.filename = '%s.side' % project.code
            side_config_file.file = '%s.c\n' % project.code
            side_config_file.mime = 'text/plain'
            side_config_file.save()
            revision.files.add(side_config_file)

            main_source_file = File()
            main_source_file.filename = '%s.c' % project.code
            main_source_file.file = """// ------ Libraries and Definitions ------
#include "simpletools.h"


// ------ Main Program ------
int main()
{
}
"""
            main_source_file.mime = 'text/x-c'
            main_source_file.save()
            revision.files.add(main_source_file)

            revision.save()

            return redirect('projects:project', project.user.username,
                            project.code, 'master')
    # if a GET (or any other method) we'll create a blank form
    else:
        form = CreateProjectForm(request.user)

    logger.error("Project already exists")
    return render(request, 'create.html', {'form': form})