コード例 #1
0
    def test_total_month_payment(self):
        month_payment = MonthPayment(project_id=1,
                                     rate=500,
                                     work_days=self.worked_days)

        self.assertEqual(month_payment.total, 5000)
        self.worked_days.append(
            WorkedDay(month_payment_id=1,
                      day=datetime.now().date() - timedelta(days=1),
                      paid=False))
        month_payment = MonthPayment(project_id=1,
                                     rate=500,
                                     work_days=self.worked_days)
        self.assertEqual(month_payment.total, 5000)
コード例 #2
0
    def test_method_update(self):
        month_payment = MonthPayment(
            project_id=self.project.id,
            rate=100,

        )
        month_payment_create = self.month_payment_repo.create(month_payment)
        month_payment_update_1 = MonthPayment(
            id=month_payment_create.id,
            rate=500
        )
        month_payment_update = self.month_payment_repo.update(month_payment_update_1)
        self.assertEqual(month_payment_update.id, month_payment_create.id)
        self.assertEqual(month_payment_update.rate, 500)
        self.assertEqual(month_payment_update.project_id, month_payment_create.project_id)
コード例 #3
0
    def test_method__get_worked_days_filter_paid(self):
        month_payment = MonthPayment(
            rate=100,
            project_id=self.project.id,
        )

        month_payment = self.month_payment_repo.create(month_payment)
        for i in range(self.COUNT_WORK_DAY):
            worked_day = WorkedDay(
                month_payment_id=month_payment.id,
                paid=i % 2 == 0,
                day=datetime.datetime.now().date() + timedelta(days=i)
            )

            self.worked_day_repo.create(worked_day)

        worked_days = self.month_payment_repo._get_worked_days(month_payment.id, paid=True)
        self.assertEqual(type(worked_days), list)
        self.assertEqual(len(worked_days), 5)
        for worked_day in worked_days:
            self.assertEqual(worked_day.paid, True)

        worked_days = self.month_payment_repo._get_worked_days(month_payment.id, paid=False)
        self.assertEqual(type(worked_days), list)
        self.assertEqual(len(worked_days), 5)
        for worked_day in worked_days:
            self.assertEqual(worked_day.paid, False)
コード例 #4
0
ファイル: repositories.py プロジェクト: Y16v/PayDevs
    def _decode_db_month_payment(self, db_month_payment):

        fileds = {
            'id': db_month_payment.id,
            'project_id': db_month_payment.project.id,
            'rate': db_month_payment.rate,
        }

        return MonthPayment(**fileds)
コード例 #5
0
    def test_method_create(self):
        month_payment = MonthPayment(
            project_id=self.project.id,
            rate=100,

        )


        month_payment_create = self.month_payment_repo.create(month_payment)
        db_month_payment = MonthPaymentORM.objects.get(id=month_payment_create.id)

        self.assertEqual(month_payment_create.id, db_month_payment.id)
        self.assertEqual(month_payment_create.project_id, db_month_payment.project.id)
        self.assertEqual(month_payment_create.rate, db_month_payment.rate)
コード例 #6
0
    def test_project_total_month_payment(self):
        month_payments = []
        for i in range(5):
            month_payment = MonthPayment(id=i,
                                         project_id=1,
                                         rate=1000,
                                         work_days=self.worked_days)
            month_payments.append(month_payment)

        project = Project(title="Test Project",
                          description="Testing project",
                          type_of_payment='M_P',
                          entity_type_list=month_payments)
        self.assertEqual(project.total, 50000)
コード例 #7
0
    def test_method_get(self):
        month_payment = MonthPayment(
            project_id=self.project.id,
            rate=100,

        )
        month_payment_create = self.month_payment_repo.create(month_payment)
        month_payment_get = self.month_payment_repo.get(month_payment_id=month_payment_create.id)

        with self.assertRaises(EntityDoesNotExistException):
            self.month_payment_repo.get(month_payment_id=month_payment_create.id+5665)

        self.assertEqual(month_payment_create.id, month_payment_get.id)
        self.assertEqual(month_payment_create.project_id, month_payment_get.project_id)
        self.assertEqual(month_payment_create.rate, month_payment_get.rate)
コード例 #8
0
    def test_get_all(self):
        for i in range(10):
            month_payment = MonthPayment(
                project_id=self.project.id,
                rate=100,

            )
            self.month_payment_repo.create(month_payment)


        month_payments = self.month_payment_repo.get_all(project_id=self.project.id)
        self.assertEqual(type(month_payments), list)
        self.assertEqual(len(month_payments), 10)
        for month_payment in month_payments:
            self.assertEqual(month_payment.project_id, self.project.id)
            self.assertEqual(month_payment.rate, 100)
コード例 #9
0
    def test_method__get_worked_days_filter_last_month_days(self):
        month_payment = MonthPayment(
            rate=100,
            project_id=self.project.id,
        )

        month_payment = self.month_payment_repo.create(month_payment)
        for i in range(20):
            worked_day = WorkedDay(
                month_payment_id=month_payment.id,
                paid=i % 2 == 0,
                day=datetime.datetime.now().date() - timedelta(days=(datetime.datetime.now().day - 10) - i + 30)
            )

            self.worked_day_repo.create(worked_day)

        worked_days = self.month_payment_repo._get_worked_days(month_payment.id,
                                                               last_month_days=timezone.now().replace(day=1).date())
        self.assertEqual(type(worked_days), list)
        self.assertEqual(len(worked_days), 10)

        worked_days = self.month_payment_repo._get_worked_days(month_payment.id,
                                                               last_month_days=timezone.now().replace(day=1).date(),
                                                               paid=True)
        self.assertEqual(type(worked_days), list)
        self.assertEqual(len(worked_days), 10)

        month_payment2 = self.month_payment_repo.create(month_payment)
        for i in range(20):
            worked_day = WorkedDay(
                month_payment_id=month_payment2.id,
                paid=i % 2 == 0,
                day=datetime.datetime.now().replace(day=1).date() + timedelta(days=i)
            )


            self.worked_day_repo.create(worked_day)

        worked_days = self.month_payment_repo._get_worked_days(month_payment2.id,
                                                               last_month_days=timezone.now().replace(day=1).date())
        self.assertEqual(type(worked_days), list)
        self.assertEqual(len(worked_days), 0)

        worked_days = self.month_payment_repo._get_worked_days(month_payment2.id,
                                                               last_month_days=timezone.now().date())
        self.assertEqual(type(worked_days), list)
        self.assertEqual(len(worked_days), 5)
コード例 #10
0
    def test_method_delete(self):
        month_payment = MonthPayment(
            project_id=self.project.id,
            rate=100,

        )
        month_payment_create = self.month_payment_repo.create(month_payment)
        id = month_payment_create.id
        self.assertIsNotNone(self.month_payment_repo.get(id))
        self.assertIsNotNone(MonthPaymentORM.objects.get(id=id))
        month_payment_delete = self.month_payment_repo.delete(id)
        with self.assertRaises(EntityDoesNotExistException):
            self.month_payment_repo.get(id)

        with self.assertRaises(MonthPaymentORM.DoesNotExist):
            MonthPaymentORM.objects.get(id=id)

        self.assertEqual(month_payment_delete.id, id)
コード例 #11
0
    def test_method___get_entity_type_list_month_of_payment(self):
        COUNT_MONTH_PAYMENT = 5
        COUNT_WORKED_DAY = 10
        project = Project(
            title='Test Project',
            description='My Test project',
            type_of_payment=''
                            'M_P',
            start_date=datetime.datetime.now(),
            user_id=self.user.id
        )

        project_create = self.project_repo.create(project)
        month_payment_repo = MonthPaymentRepo()
        for i in range(COUNT_MONTH_PAYMENT):
            month_payment = MonthPayment(
                project_id=project_create.id,
                rate=100,

            )

            month_payment = month_payment_repo.create(month_payment)
            for j in range(COUNT_WORKED_DAY):
                worked_day = WorkedDay(
                    month_payment_id=month_payment.id,
                    paid=False,
                    day=datetime.datetime.now().date()-timedelta(days=i)
                )
                WorkedDayRepo().create(worked_day)

        month_payments = self.project_repo._get_entity_type_list(project_id=project_create.id)

        self.assertEqual(type(month_payments), list)
        self.assertEqual(len(month_payments), COUNT_MONTH_PAYMENT)
        self.assertEqual(type(month_payments.pop()), MonthPayment)
        self.assertEqual(type(month_payments.pop()._work_days), list)
        self.assertEqual(len(month_payments.pop()._work_days), COUNT_WORKED_DAY)
        self.assertEqual(type(month_payments.pop()._work_days.pop()), WorkedDay)
コード例 #12
0
ファイル: entity_factory.py プロジェクト: Y16v/PayDevs
 def create(**kwargs):
     return MonthPayment(**kwargs)