Пример #1
0
    def test_lists(self):
        """Filter form smoke test"""
        project = factories.ProjectFactory.create()
        user = factories.UserFactory.create()
        self.client.force_login(user)

        code = check_code(self, Project.urls["list"])
        code("")
        code("q=test")
        code("s=all")
        code("s=closed")
        code("s=no-invoices")
        code("s=accepted-offers")
        code("s=accepted-offers-no-invoices")
        code("s=solely-declined-offers")
        code("s=old-projects")
        code("s=invalid-customer-contact-combination")
        code("org={}".format(project.customer_id))
        code("type=internal")
        code("type=maintenance")
        code("owned_by={}".format(user.id))
        code("owned_by=-1")  # mine
        code("owned_by=0")  # only inactive

        code("invalid=3", 302)
Пример #2
0
    def test_logged_hours_list(self):
        """Filter form smoke test"""
        factories.LoggedHoursFactory.create()
        hours = factories.LoggedHoursFactory.create()
        user = factories.UserFactory.create()
        self.client.force_login(user)

        code = check_code(self, "/logbook/hours/")
        code("")
        code("q=test")
        code("rendered_by=-1")
        code("rendered_by=" + str(user.pk))
        code("project=" + str(hours.service.project.pk))
        code("date_from=2018-01-01")
        code("date_until=2018-01-01")
        code("service=" + str(hours.service.pk))
        code("campaign=" + str(factories.CampaignFactory.create().pk))
        code("offer={}".format(factories.OfferFactory.create().pk))
        code("offer=0")
        code("circle=0")
        code("circle=1")
        code("role=" + str(factories.RoleFactory.create().pk))
        code("organization=" + str(hours.service.project.customer.pk))
        code("not_archived=1")
        code("export=xlsx")
Пример #3
0
    def test_calendar(self):
        """The absence calendar report does not crash"""
        user = factories.UserFactory.create()
        self.client.force_login(user)

        Absence.objects.create(
            user=user,
            starts_on=dt.date.today(),
            days=0,
            description="Test",
            reason=Absence.VACATION,
        )
        Absence.objects.create(
            user=user,
            starts_on=in_days(10),
            ends_on=in_days(20),
            days=0,
            description="Test",
            reason=Absence.VACATION,
        )

        code = check_code(self, "/report/absence-calendar/")
        code("")

        team = factories.TeamFactory.create()
        user.teams.add(team)
        code(f"team={team.pk}")
        code("team=abc", status_code=302)
Пример #4
0
    def test_list(self):
        """Notes listing"""
        deal = factories.DealFactory.create()
        Note.objects.create(content_object=deal, created_by=deal.owned_by, title="Test")
        self.client.force_login(deal.owned_by)

        code = check_code(self, "/notes/")
        code("")
Пример #5
0
    def test_list(self):
        """Filter form validation"""
        self.client.force_login(factories.UserFactory.create())
        ledger = factories.LedgerFactory.create()

        code = check_code(self, "/credit-control/")
        code("")
        code("q=test")
        code("s=pending")
        code("s=processed")
        code(f"ledger={ledger.pk}")
Пример #6
0
    def test_list(self):
        """The absence list and its filters do not crash"""
        user = factories.UserFactory.create()
        self.client.force_login(user)

        code = check_code(self, "/absences/")
        code("")
        code("u=-1")
        code(f"u={user.pk}")
        code("reason=sickness")
        code("reason=nothing", 302)
        code("export=xlsx")
Пример #7
0
    def test_list(self):
        """Filter form smoke test"""
        offer = factories.OfferFactory.create()
        self.client.force_login(factories.UserFactory.create())

        code = check_code(self, Offer.urls["list"])
        code("")
        code("q=test")
        code("s=all")
        code("s=10")
        code("s=20")
        code("s=20")
        code(f"org={offer.project.customer_id}")
        code(f"owned_by={offer.owned_by_id}")
        code("owned_by=-1")  # mine
        code("owned_by=0")  # only inactive
Пример #8
0
    def test_list(self):
        """Filter form smoke test"""
        factories.RecurringInvoiceFactory.create()

        user = factories.UserFactory.create()
        self.client.force_login(user)

        code = check_code(self, "/recurring-invoices/")
        code("")
        code("q=test")
        code("s=all")
        code("s=closed")
        code(f"org={factories.OrganizationFactory.create().pk}")
        code(f"owned_by={user.id}")
        code("owned_by=-1")  # mine
        code("owned_by=0")  # only inactive
Пример #9
0
    def test_list(self):
        """Filter form smoke test"""
        factories.InvoiceFactory.create()
        user = factories.UserFactory.create()
        self.client.force_login(user)

        code = check_code(self, "/invoices/")
        code("")
        code("q=test")
        code("s=open")
        code("s=40")  # PAID
        code(f"org={factories.OrganizationFactory.create().pk}")
        code(f"owned_by={user.id}")
        code("owned_by=-1")  # mine
        code("owned_by=0")  # only inactive
        code("export=xlsx")
Пример #10
0
    def test_lists(self):
        """Filter form smoke test"""
        campaign = factories.CampaignFactory.create()
        self.client.force_login(campaign.owned_by)

        code = check_code(self, Campaign.urls["list"])
        code("")
        code("q=test")
        code("s=")
        code("s=open")
        code("s=closed")
        code("org={}".format(campaign.customer_id))
        code("owned_by={}".format(campaign.owned_by_id))
        code("owned_by=-1")  # mine
        code("owned_by=0")  # only inactive

        code("invalid=3", 302)
Пример #11
0
    def test_list(self):
        """Filter form smoke test"""
        user = factories.UserFactory.create()
        self.client.force_login(user)

        brk = Break.objects.create(
            user=factories.UserFactory.create(),
            starts_at=c(dt.date.today(), dt.time(12, 0)),
            ends_at=c(dt.date.today(), dt.time(13, 0)),
        )

        code = check_code(self, "/logbook/breaks/")
        code("")
        code("user=-1")
        code("user={}".format(user.pk))
        code("export=xlsx")

        response = self.client.get(brk.urls["detail"])
        self.assertContains(response, str(brk))
Пример #12
0
    def test_some_project_budget_statistics_view(self):
        """Project budget statistics filter form smoke test"""
        user = factories.UserFactory.create()
        self.client.force_login(user)

        factories.ProjectFactory.create()
        factories.ProjectFactory.create(closed_on=dt.date.today())

        response = self.client.get("/report/project-budget-statistics/")
        self.assertContains(response, "Project budget statistics")

        code = check_code(self, "/report/project-budget-statistics/")
        code("owned_by=-1")
        code("owned_by=0")
        code("owned_by={}".format(user.pk))
        code("owned_by=bla", 302)

        code("closed_during_the_last_year=on")
        code("internal=on")
        code("export=xlsx")
Пример #13
0
    def test_list(self):
        """Filter form smoke test"""
        user = factories.UserFactory.create()
        self.client.force_login(user)

        report = ExpenseReport.objects.create(created_by=user, owned_by=user)
        report.expenses.set(
            [
                factories.LoggedCostFactory.create(
                    rendered_by=user, are_expenses=True, third_party_costs=5
                )
            ]
        )

        code = check_code(self, "/expenses/")
        code("")
        code("s=in-preparation")
        code("s=closed")
        code(f"owned_by={user.id}")
        code("owned_by=-1")  # mine
        code("owned_by=0")  # only inactive
Пример #14
0
    def test_logged_cost_list(self):
        """Filter form smoke test"""
        cost = factories.LoggedCostFactory.create()
        service = factories.ServiceFactory.create()
        user = factories.UserFactory.create()
        self.client.force_login(user)

        code = check_code(self, "/logbook/costs/")
        code("")
        code("q=test")
        code("rendered_by=-1")
        code("rendered_by=" + str(user.pk))
        code("project=" + str(cost.service.project.pk))
        code("organization=" + str(cost.service.project.customer.pk))
        code("expenses=on")
        code("date_from=2018-01-01")
        code("date_until=2018-01-01")
        code("service=" + str(service.pk))
        code("campaign=" + str(factories.CampaignFactory.create().pk))
        code("offer={}".format(factories.OfferFactory.create().pk))
        code("offer=0")
        code("not_archived=1")
        code("export=xlsx")