def setUp(self): super(ReportsTestBase, self).setUp() self.user = factories.User() self.user2 = factories.User() self.superuser = factories.Superuser() self.devl_activity = factories.Activity(billable=True) self.activity = factories.Activity() self.sick = factories.Project() self.vacation = factories.Project() settings.TIMEPIECE_PAID_LEAVE_PROJECTS = { 'sick': self.sick.pk, 'vacation': self.vacation.pk, } self.leave = [self.sick.pk, self.vacation.pk] self.p1 = factories.BillableProject(name='1') self.p2 = factories.NonbillableProject(name='2') self.p4 = factories.BillableProject(name='4') self.p3 = factories.NonbillableProject(name='1') self.p5 = factories.BillableProject(name='3') self.default_projects = [self.p1, self.p2, self.p3, self.p4, self.p5] self.default_dates = [ utils.add_timezone(datetime.datetime(2011, 1, 3)), utils.add_timezone(datetime.datetime(2011, 1, 4)), utils.add_timezone(datetime.datetime(2011, 1, 10)), utils.add_timezone(datetime.datetime(2011, 1, 16)), utils.add_timezone(datetime.datetime(2011, 1, 17)), utils.add_timezone(datetime.datetime(2011, 1, 18)), ]
def setUp(self): super(PayrollTest, self).setUp() self.user = factories.User() self.user2 = factories.User() self.superuser = factories.Superuser() self.devl_activity = factories.Activity(billable=True) self.activity = factories.Activity() self.sick = factories.Project(name='sick') self.vacation = factories.Project(name='vacation') settings.TIMEPIECE_PAID_LEAVE_PROJECTS = { 'sick': self.sick.pk, 'vacation': self.vacation.pk } self.next = utils.add_timezone(datetime.datetime(2011, 6, 1)) self.overtime_before = utils.add_timezone( datetime.datetime(2011, 4, 29)) self.first = utils.add_timezone(datetime.datetime(2011, 5, 1)) self.first_week = utils.add_timezone(datetime.datetime(2011, 5, 2)) self.middle = utils.add_timezone(datetime.datetime(2011, 5, 18)) self.last_billable = utils.add_timezone(datetime.datetime(2011, 5, 28)) self.last = utils.add_timezone(datetime.datetime(2011, 5, 31)) self.dates = [ self.overtime_before, self.first, self.first_week, self.middle, self.last, self.last_billable, self.next ] self.url = reverse('report_payroll_summary') self.args = { 'year': self.first.year, 'month': self.first.month, }
def setUp(self): get_perm = lambda ct, n: Permission.objects.get( content_type__app_label=ct, codename=n) self.permissions = [get_perm(*perm) for perm in self.perm_names] self.user = factories.User() self.user.user_permissions.add(*self.permissions) self.login_user(self.user) self.project1 = factories.Project() self.project2 = factories.Project() self.projects = [self.project1, self.project2]
def test_get_query(self): """ Tests whether we get the right results with a non-empty query. """ activity1 = factories.Activity(name='foo') activity2 = factories.Activity(name='bar') activity3 = factories.Activity(name='baz') activity4 = factories.Activity(name='qux') activity_group = factories.ActivityGroup() activity_group.activities.add(activity1) activity_group.activities.add(activity2) activity_group.activities.add(activity3) activity_group.activities.add(activity4) project = factories.Project(activity_group=activity_group) request = RequestFactory().get('/selectable/entries-activitylookup', {'project': project.pk}) data = self.lookup.get_query(request, 'a') self.assertNotIn(activity1, data) self.assertIn(activity2, data) self.assertIn(activity3, data) self.assertNotIn(activity4, data)
def setUp(self): self.permissions = [Permission.objects.get(codename='delete_project')] self.user = factories.User(permissions=self.permissions) self.login_user(self.user) self.obj = factories.Project() self.url_kwargs = {'project_id': self.obj.pk}
def test_ordering(self): """Progress list should be ordered by project name.""" projects = [ factories.Project(name='a'), factories.Project(name='b'), factories.Project(name='c'), ] for i in range(3): start_time = datetime.datetime(2012, 11, 5 + i, 8, 0) end_time = datetime.datetime(2012, 11, 5 + i, 12, 0) entry = self._create_entry(start_time, end_time, projects[i]) assignment = self._create_hours(5 + 5 * i, projects[i]) progress = self._get_progress() self.assertEqual(len(progress), 3) self.assertEqual(progress[0]['project'], projects[0]) self.assertEqual(progress[1]['project'], projects[1]) self.assertEqual(progress[2]['project'], projects[2])
def setUp(self): self.user = factories.User() self.permissions = [ Permission.objects.get(codename=n) for n in self.perm_names ] self.user.user_permissions.add(*self.permissions) self.login_user(self.user) self.project = factories.Project()
def setUp(self): self.today = datetime.date(2012, 11, 7) self.this_week = utils.get_week_start(self.today) self.next_week = self.this_week + relativedelta(days=7) self.user = factories.User() self.project = factories.Project() self.activity = factories.Activity() self.location = factories.Location() self.status = Entry.UNVERIFIED
def test_clock_in_form_activity_lookup(self): """Create an ActivityGroup that includes the Activity, and associate it with the project. Add a second Activity that is not included. Ensure that the ActivityLookup disallows the second Activity. """ factory = RequestFactory() lookup = ActivityLookup() factories.Activity() activity_group = factories.ActivityGroup() activity_group.activities.add(self.activity) project2 = factories.Project(activity_group=activity_group) factories.ProjectRelationship(project=project2, user=self.user) request = factory.get("/entry/clock_in/", {'project': project2.pk}) response = lookup.results(request) data = json.loads(response.content.decode("utf-8"))['data'] self.assertEqual(1, len(data)) self.assertEqual(self.activity.pk, data[0]['id'])
def setUp(self): self.today = datetime.date(2012, 11, 7) self.this_week = utils.get_week_start(self.today) self.next_week = self.this_week + relativedelta(days=7) get_params = {'week_start': self.this_week.strftime('%Y-%m-%d')} self.url = reverse('dashboard') + '?' + urlencode(get_params) self.user = factories.User() self.permission = Permission.objects.get(codename='can_clock_in') self.user.user_permissions.add(self.permission) self.login_user(self.user) self.project = factories.Project() self.activity = factories.Activity() self.location = factories.Location() self.status = Entry.UNVERIFIED
def setUp(self): super(TestProductivityReport, self).setUp() self.user = factories.User() self.permission = Permission.objects.get(codename='view_entry_summary') self.user.user_permissions.add(self.permission) self.login_user(self.user) self.project = factories.Project() self.users = [] self.users.append(factories.User(first_name='User', last_name='1')) self.users.append(factories.User(first_name='User', last_name='2')) self.users.append(factories.User(first_name='User', last_name='3')) self.weeks = [] self.weeks.append(datetime.datetime(2012, 9, 24)) self.weeks.append(datetime.datetime(2012, 10, 1)) self.weeks.append(datetime.datetime(2012, 10, 8)) self.weeks.append(datetime.datetime(2012, 10, 15)) self._create_entries() self._create_assignments()
def test_search_project(self): project = factories.Project() response = self._post(data={ 'quick_search_1': 'project-{0}'.format(project.pk), }) self.assertRedirectsNoFollow(response, project.get_absolute_url())
def setUp(self): super(ProjectContractEntryTestCase, self).setUp() self.user_a = factories.User(username='******') self.user_b = factories.User(username='******') self.project_a = factories.Project(type__enable_timetracking=True, status__enable_timetracking=True, name='Project A') self.project_b = factories.Project(type__enable_timetracking=True, status__enable_timetracking=True, name='Project B') self.contract1 = factories.ProjectContract( name='Contract 1', projects=[self.project_a, self.project_b], status=ProjectContract.STATUS_CURRENT, start_date=timezone.now().replace( hour=0, minute=0, second=0, microsecond=0) - relativedelta(days=16), end_date=timezone.now().replace( hour=0, minute=0, second=0, microsecond=0) - relativedelta(days=12), ) self.contract2 = factories.ProjectContract( name='Contract 2', projects=[self.project_b], status=ProjectContract.STATUS_CURRENT, start_date=timezone.now().replace( hour=0, minute=0, second=0, microsecond=0) - relativedelta(days=8), end_date=timezone.now().replace( hour=0, minute=0, second=0, microsecond=0) - relativedelta(days=4), ) for x in range(20): factories.Entry( **{ 'user': self.user_a, 'project': self.project_a, 'start_time': timezone.now() - relativedelta(days=x), 'end_time': (timezone.now() - relativedelta(days=x)) + relativedelta(hours=1), 'seconds_paused': 0, 'status': Entry.UNVERIFIED, }) factories.Entry( **{ 'user': self.user_b, 'project': self.project_b, 'start_time': timezone.now() - relativedelta(days=x), 'end_time': (timezone.now() - relativedelta(days=x)) + relativedelta(hours=1), 'seconds_paused': 0, 'status': Entry.UNVERIFIED, })