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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)