Пример #1
0
 def testStockOnHand(self):
     translation.activate("sw")
     contact = register_user(self, "778", "someone")
     add_products(contact, ["id", "dp", "ip"])
     
     script = """
         778 > Hmk Id 400 Dp 569 Ip 678
         778 < %(soh_confirm)s
     """ % {"soh_confirm": _(config.Messages.SOH_CONFIRM)}
     self.runScript(script)
     self.assertEqual(3, ProductReport.objects.count())
     self.assertEqual(3, ProductStock.objects.count())
     
     # check created statuses
     self.assertEqual(2, SupplyPointStatus.objects.count())
     soh_status = SupplyPointStatus.objects.get(status_type=SupplyPointStatusTypes.SOH_FACILITY)
     self.assertEqual(contact.supply_point, soh_status.supply_point)
     self.assertEqual(SupplyPointStatusValues.SUBMITTED, soh_status.status_value)
     la_status = SupplyPointStatus.objects.get(status_type=SupplyPointStatusTypes.LOSS_ADJUSTMENT_FACILITY)
     self.assertEqual(contact.supply_point, la_status.supply_point)
     self.assertEqual(SupplyPointStatusValues.REMINDER_SENT, la_status.status_value)
     
     for ps in ProductStock.objects.all():
         self.assertEqual(contact.supply_point, ps.supply_point)
         self.assertTrue(0 != ps.quantity)
Пример #2
0
    def testStockOnHand(self):
        translation.activate("sw")
        contact = register_user(self, "778", "someone")
        add_products(contact, ["id", "dp", "ip"])

        script = """
            778 > Hmk Id 400 Dp 569 Ip 678
            778 < %(soh_confirm)s
        """ % {
            "soh_confirm": _(config.Messages.SOH_CONFIRM)
        }
        self.runScript(script)
        self.assertEqual(3, ProductReport.objects.count())
        self.assertEqual(3, ProductStock.objects.count())

        # check created statuses
        self.assertEqual(2, SupplyPointStatus.objects.count())
        soh_status = SupplyPointStatus.objects.get(
            status_type=SupplyPointStatusTypes.SOH_FACILITY)
        self.assertEqual(contact.supply_point, soh_status.supply_point)
        self.assertEqual(SupplyPointStatusValues.SUBMITTED,
                         soh_status.status_value)
        la_status = SupplyPointStatus.objects.get(
            status_type=SupplyPointStatusTypes.LOSS_ADJUSTMENT_FACILITY)
        self.assertEqual(contact.supply_point, la_status.supply_point)
        self.assertEqual(SupplyPointStatusValues.REMINDER_SENT,
                         la_status.status_value)

        for ps in ProductStock.objects.all():
            self.assertEqual(contact.supply_point, ps.supply_point)
            self.assertTrue(0 != ps.quantity)
Пример #3
0
    def testLossesAdjustmentsLAKeyword(self):
        translation.activate("sw")

        contact = register_user(self, "778", "someone")
        add_products(contact, ["id", "dp", "ip"])

        script = """
            778 > Hmk Id 400 Dp 569 Ip 678
            778 < %(soh_confirm)s
        """ % {"soh_confirm": _(config.Messages.SOH_CONFIRM)}
        self.runScript(script)

        self.assertEqual(3, ProductStock.objects.count())
        for ps in ProductStock.objects.all():
            self.assertEqual(contact.supply_point, ps.supply_point)
            self.assertTrue(0 != ps.quantity)

        script = """
            778 > la id -3 dp -5 ip 13
            778 < %(loss_adjust_confirm)s
        """ % {"loss_adjust_confirm": _(config.Messages.LOSS_ADJUST_CONFIRM)}
        self.runScript(script)

        self.assertEqual(397, ProductStock.objects.get(product__sms_code="id").quantity)
        self.assertEqual(564, ProductStock.objects.get(product__sms_code="dp").quantity)
        self.assertEqual(691, ProductStock.objects.get(product__sms_code="ip").quantity)
Пример #4
0
    def testStockInquiry(self):

        contact = register_user(self, "778", "someone")
        add_products(contact, ["id"])
        p = Product.objects.get(sms_code__iexact="id")
        p.product_code = 'm11111'
        p.save()

        translation.activate("sw")

        script = """
            778 > si m11111 100
            778 < %(stock_inquiry_confirm)s
        """ % {
            "stock_inquiry_confirm":
            _(config.Messages.STOCK_INQUIRY_CONFIRM) % {
                "quantity": "100",
                "product_name": p.name
            }
        }
        self.runScript(script)

        self.assertEqual(1, ProductStock.objects.count())
        for ps in ProductStock.objects.all():
            self.assertEqual(contact.supply_point, ps.supply_point)
            self.assertEqual(100, ps.quantity)
Пример #5
0
    def testStockout(self):
        translation.activate("sw")
        contact = register_user(self, "778", "someone")
        add_products(contact, ["id", "dp", "ip"])
        script = """
            778 > Hmk Id 400 Dp 569 Ip 678
            778 < %(soh_confirm)s
            """ % {
            "soh_confirm": _(config.Messages.SOH_CONFIRM)
        }
        self.runScript(script)

        self.assertEqual(3, ProductStock.objects.count())
        for ps in ProductStock.objects.all():
            self.assertEqual(contact.supply_point, ps.supply_point)
            self.assertTrue(0 != ps.quantity)

        script = """
            778 > stockout id dp ip
            """ % {
            "stockout_confirm": _(config.Messages.STOCKOUT_CONFIRM) % {
                "contact_name": "changeme",
                "product_names": "changeme",
                "facility_name": "changeme"
            }
        }
        self.runScript(script)
        for ps in ProductStock.objects.all():
            self.assertEqual(contact.supply_point, ps.supply_point)
            self.assertEqual(0, ps.quantity)
Пример #6
0
    def testDeliveryFacilityReportProductError(self):
        translation.activate("sw")
        contact = register_user(self, "778", "someone", "d10001")
        add_products(contact, ["id", "dp", "ip"])

        script = """
            778 > nimepokea Ig 400 Dp 569 Ip 678
            778 < %(error_message)s
            """ % {'error_message': _(config.Messages.INVALID_PRODUCT_CODE) % {"product_code":"ig"}}
        self.runScript(script)
Пример #7
0
    def testStockOnHandKeywordsandLanguageSwahili(self):
        translation.activate("sw")
        contact = register_user(self, "+255714774042", "someone")
        product_codes = ["fs", "md"]
        add_products(contact, product_codes)

        script = """
            +255714774042 > hmk fs100md100
            +255714774042 < %(soh_confirm)s
        """ % {"soh_confirm": _(config.Messages.SOH_CONFIRM)}
        self.runScript(script)
Пример #8
0
    def testStockOnHandDelimitersStandard(self):
        translation.activate("sw")
        contact = register_user(self, "+255714774042", "someone")
        product_codes = ["fs", "md", "ff", "dx", "bp", "pc", "qi"]
        add_products(contact, product_codes)

        #standard spacing
        script = """
            +255714774042 > hmk fs100 md100 ff100 dx100 bp100 pc100 qi100
            +255714774042 < %(soh_confirm)s
        """ % {"soh_confirm": _(config.Messages.SOH_CONFIRM)}
        self.runScript(script)
Пример #9
0
    def testStockOnHandMixedDelimitersAndSpacing(self):
        translation.activate("sw")
        contact = register_user(self, "+255714774042", "someone")
        product_codes = ["fs", "md", "ff", "pc", "qi", "bp", "dx"]
        add_products(contact, product_codes)

        #mixed - commas, spacing
        script = """
            +255714774042 > hmk fs100 , md100,ff 100 pc  100  qi,       1000,bp, 100, dx,100
            +255714774042 < %(soh_confirm)s
        """ % {"soh_confirm": _(config.Messages.SOH_PARTIAL_CONFIRM) % {"contact_name": "someone", "facility_name": "VETA 1", "product_list": "bp dx qi"}}
        self.runScript(script)
Пример #10
0
    def testStockOnHandDelimitersExtraSpaces(self):
        translation.activate("sw")
        contact = register_user(self, "+255714774042", "someone")
        product_codes = ["fs", "md", "ff", "pc"]
        add_products(contact, product_codes)

        #extra spaces
        script = """
            +255714774042 > hmk fs  100   md    100     ff      100       pc        100
            +255714774042 < %(soh_confirm)s
        """ % {"soh_confirm": _(config.Messages.SOH_CONFIRM)}
        self.runScript(script)
Пример #11
0
    def testStockOnHandKeywordsandLanguageSwahili(self):
        translation.activate("sw")
        contact = register_user(self, "+255714774042", "someone")
        product_codes = ["fs", "md"]
        add_products(contact, product_codes)

        script = """
            +255714774042 > hmk fs100md100
            +255714774042 < %(soh_confirm)s
        """ % {
            "soh_confirm": _(config.Messages.SOH_CONFIRM)
        }
        self.runScript(script)
Пример #12
0
 def testDeliveryFacilityReceivedQuantitiesReported(self):
     translation.activate("sw")
     contact = register_user(self, "778", "someone", "d10001")
     add_products(contact, ["id", "dp", "ip"])
     
     script = """
         778 > nimepokea Id 400 Dp 569 Ip 678
         778 < %(received_message)s
         """ % {'received_message': _(config.Messages.DELIVERED_CONFIRM) % {"reply_list":"dp,id,ip"}}
     self.runScript(script)
     self.assertEqual(3, ProductStock.objects.count())
     for ps in ProductStock.objects.all():
         self.assertEqual(contact.supply_point, ps.supply_point)
         self.assertTrue(0 != ps.quantity)
Пример #13
0
    def testStockOnHandDelimitersStandard(self):
        translation.activate("sw")
        contact = register_user(self, "+255714774042", "someone")
        product_codes = ["fs", "md", "ff", "dx", "bp", "pc", "qi"]
        add_products(contact, product_codes)

        #standard spacing
        script = """
            +255714774042 > hmk fs100 md100 ff100 dx100 bp100 pc100 qi100
            +255714774042 < %(soh_confirm)s
        """ % {
            "soh_confirm": _(config.Messages.SOH_CONFIRM)
        }
        self.runScript(script)
Пример #14
0
    def testStockOnHandDelimitersExtraSpaces(self):
        translation.activate("sw")
        contact = register_user(self, "+255714774042", "someone")
        product_codes = ["fs", "md", "ff", "pc"]
        add_products(contact, product_codes)

        #extra spaces
        script = """
            +255714774042 > hmk fs  100   md    100     ff      100       pc        100
            +255714774042 < %(soh_confirm)s
        """ % {
            "soh_confirm": _(config.Messages.SOH_CONFIRM)
        }
        self.runScript(script)
Пример #15
0
    def testDeliveryFacilityReportProductError(self):
        translation.activate("sw")
        contact = register_user(self, "778", "someone", "d10001")
        add_products(contact, ["id", "dp", "ip"])

        script = """
            778 > nimepokea Ig 400 Dp 569 Ip 678
            778 < %(error_message)s
            """ % {
            'error_message': _(config.Messages.INVALID_PRODUCT_CODE) % {
                "product_code": "ig"
            }
        }
        self.runScript(script)
Пример #16
0
    def testStockOnHandMixedDelimitersAndSpacing(self):
        translation.activate("sw")
        contact = register_user(self, "+255714774042", "someone")
        product_codes = ["fs", "md", "ff", "pc", "qi", "bp", "dx"]
        add_products(contact, product_codes)

        #mixed - commas, spacing
        script = """
            +255714774042 > hmk fs100 , md100,ff 100 pc  100  qi,       1000,bp, 100, dx,100
            +255714774042 < %(soh_confirm)s
        """ % {
            "soh_confirm": _(config.Messages.SOH_PARTIAL_CONFIRM) % {
                "contact_name": "someone",
                "facility_name": "VETA 1",
                "product_list": "bp dx qi"
            }
        }
        self.runScript(script)
Пример #17
0
    def testStockOnHandKeywordsandLanguageEnglish(self):
        translation.activate("en")
        contact = register_user(self, "+255714774042", "someone")
        product_codes = ["fs", "md"]
        add_products(contact, product_codes)

        script = """
            +255714774042 > language en
            +255714774042 < %(language_confirm)s
        """ % {'language_confirm': _(config.Messages.LANGUAGE_CONFIRM) % {"language": "English"}}
        self.runScript(script)
        
        """
            +255714774042 > soh fs100md100
            +255714774042 < %(soh_confirm)s
        """ % {"soh_confirm": _(config.Messages.SOH_CONFIRM)}

        self.runScript(script)
Пример #18
0
    def testDeliveryFacilityReceivedQuantitiesReported(self):
        translation.activate("sw")
        contact = register_user(self, "778", "someone", "d10001")
        add_products(contact, ["id", "dp", "ip"])

        script = """
            778 > nimepokea Id 400 Dp 569 Ip 678
            778 < %(received_message)s
            """ % {
            'received_message': _(config.Messages.DELIVERED_CONFIRM) % {
                "reply_list": "dp,id,ip"
            }
        }
        self.runScript(script)
        self.assertEqual(3, ProductStock.objects.count())
        for ps in ProductStock.objects.all():
            self.assertEqual(contact.supply_point, ps.supply_point)
            self.assertTrue(0 != ps.quantity)
Пример #19
0
    def testStockInquiry(self):

        contact = register_user(self, "778", "someone")
        add_products(contact, ["id"])
        p = Product.objects.get(sms_code__iexact="id")
        p.product_code = 'm11111'
        p.save()

        translation.activate("sw")

        script = """
            778 > si m11111 100
            778 < %(stock_inquiry_confirm)s
        """ % {"stock_inquiry_confirm": _(config.Messages.STOCK_INQUIRY_CONFIRM) % {"quantity": "100", "product_name": p.name}}
        self.runScript(script)

        self.assertEqual(1, ProductStock.objects.count())
        for ps in ProductStock.objects.all():
            self.assertEqual(contact.supply_point, ps.supply_point)
            self.assertEqual(100, ps.quantity)
Пример #20
0
    def testStockOnHandPartialReport(self):
        translation.activate("sw")
        contact = register_user(self, "778", "someone")
        add_products(contact, ["id", "dp", "fs", "md", "ff", "dx", "bp", "pc", "qi"])
        script = """
            778 > Hmk Id 400 
            778 < Asante someone kwa kutuma taarifa za akiba ya vifaa vilivyopo vya VETA 1, bado taarifa za bp dp dx ff fs md pc qi
        """
        self.runScript(script)
        
        script = """
            778 > Hmk Dp 569 ip 454 ff 5655
            778 < Asante someone kwa kutuma taarifa za akiba ya vifaa vilivyopo vya VETA 1, bado taarifa za bp dx fs md pc qi
        """
        self.runScript(script)

        script = """
            778 > Hmk Bp 343 Dx 565 Fs 2322 Md 100 Pc 8778 Qi 34
            778 < %(soh_confirm)s
        """ % {"soh_confirm": _(config.Messages.SOH_CONFIRM)}
        self.runScript(script)
Пример #21
0
    def testProductAliases(self):
        translation.activate("sw")

        contact = register_user(self, "778", "someone")
        add_products(contact, ["id", "dp", "ip"])
        script = """
            778 > Hmk iucd 400 
            778 < Asante someone kwa kutuma taarifa za akiba ya vifaa vilivyopo vya VETA 1, bado taarifa za dp ip
        """
        self.runScript(script)
        script = """
            778 > Hmk Depo 569
            778 < Asante someone kwa kutuma taarifa za akiba ya vifaa vilivyopo vya VETA 1, bado taarifa za ip
        """
        self.runScript(script)
        
        script = """
            778 > Hmk IMPL 678
            778 < %(soh_confirm)s
        """ % {"soh_confirm": _(config.Messages.SOH_CONFIRM)}
        self.runScript(script)
Пример #22
0
    def testProductAliases(self):
        translation.activate("sw")

        contact = register_user(self, "778", "someone")
        add_products(contact, ["id", "dp", "ip"])
        script = """
            778 > Hmk iucd 400 
            778 < Asante someone kwa kutuma taarifa za akiba ya vifaa vilivyopo vya VETA 1, bado taarifa za dp ip
        """
        self.runScript(script)
        script = """
            778 > Hmk Depo 569
            778 < Asante someone kwa kutuma taarifa za akiba ya vifaa vilivyopo vya VETA 1, bado taarifa za ip
        """
        self.runScript(script)

        script = """
            778 > Hmk IMPL 678
            778 < %(soh_confirm)s
        """ % {
            "soh_confirm": _(config.Messages.SOH_CONFIRM)
        }
        self.runScript(script)
Пример #23
0
    def testStockOnHandKeywordsandLanguageEnglish(self):
        translation.activate("en")
        contact = register_user(self, "+255714774042", "someone")
        product_codes = ["fs", "md"]
        add_products(contact, product_codes)

        script = """
            +255714774042 > language en
            +255714774042 < %(language_confirm)s
        """ % {
            'language_confirm': _(config.Messages.LANGUAGE_CONFIRM) % {
                "language": "English"
            }
        }
        self.runScript(script)
        """
            +255714774042 > soh fs100md100
            +255714774042 < %(soh_confirm)s
        """ % {
            "soh_confirm": _(config.Messages.SOH_CONFIRM)
        }

        self.runScript(script)
Пример #24
0
 def testStockout(self):
     translation.activate("sw")
     contact = register_user(self, "778", "someone")
     add_products(contact, ["id", "dp", "ip"])
     script = """
         778 > Hmk Id 400 Dp 569 Ip 678
         778 < %(soh_confirm)s
         """ % {"soh_confirm": _(config.Messages.SOH_CONFIRM)}
     self.runScript(script)
     
     self.assertEqual(3, ProductStock.objects.count())
     for ps in ProductStock.objects.all():
         self.assertEqual(contact.supply_point, ps.supply_point)
         self.assertTrue(0 != ps.quantity)
     
     script = """
         778 > stockout id dp ip
         """ % {"stockout_confirm": _(config.Messages.STOCKOUT_CONFIRM) % {"contact_name":"changeme",
                                                                           "product_names":"changeme",
                                                                           "facility_name":"changeme"}}
     self.runScript(script)
     for ps in ProductStock.objects.all():
         self.assertEqual(contact.supply_point, ps.supply_point)
         self.assertEqual(0, ps.quantity)
Пример #25
0
    def testStockOnHandPartialReport(self):
        translation.activate("sw")
        contact = register_user(self, "778", "someone")
        add_products(contact,
                     ["id", "dp", "fs", "md", "ff", "dx", "bp", "pc", "qi"])
        script = """
            778 > Hmk Id 400 
            778 < Asante someone kwa kutuma taarifa za akiba ya vifaa vilivyopo vya VETA 1, bado taarifa za bp dp dx ff fs md pc qi
        """
        self.runScript(script)

        script = """
            778 > Hmk Dp 569 ip 454 ff 5655
            778 < Asante someone kwa kutuma taarifa za akiba ya vifaa vilivyopo vya VETA 1, bado taarifa za bp dx fs md pc qi
        """
        self.runScript(script)

        script = """
            778 > Hmk Bp 343 Dx 565 Fs 2322 Md 100 Pc 8778 Qi 34
            778 < %(soh_confirm)s
        """ % {
            "soh_confirm": _(config.Messages.SOH_CONFIRM)
        }
        self.runScript(script)