def test_is_num_attribute(self): ''' 数値型のレコード(価格と在庫数)に文字列型の数字を入れた場合のチェック ''' # 各マスタのレコード追加準備 high_cate = HighCategoryTBL(highcategoryid='category01') cate = CategoryTBL(categoryid='category01A01', highcategoryid=high_cate) goods = GoodsTBL(goodsid='product01S001', productno='product01', sizename='S', colorname='黒', categoryid=cate, price='4500', goodsstocks='50', salesstartdate='2019-07-29', deleteflag='0') # 各マスタのレコード追加 high_cate.save() cate.save() goods.save() # 全件取得 saved_goodstbl = GoodsTBL.objects.all() actual_goods = saved_goodstbl[0] # 価格、在庫数の属性判定 self.assertEqual(actual_goods.price, int(4500), '価格の属性が想定(数値)と異なっています。') self.assertEqual(actual_goods.goodsstocks, int(50), '在庫数の属性が想定(数値)と異なっています。') self.assertNotEqual(actual_goods.price, '4500', '価格の属性は文字列ではありません') self.assertNotEqual(actual_goods.goodsstocks, '50', '在庫数の属性は文字列ではありません')
def test_is_not_empty(self): ''' 1件登録した場合、保存されたレコード数は1件 ''' # 各マスタのレコード追加準備 HighCate = HighCategoryTBL(highcategoryid='category01') Cate = CategoryTBL(categoryid='category01A01', highcategoryid=HighCate) Goods = GoodsTBL(goodsid='product01S001', productno='product01', sizename='S', colorname='黒', categoryid=Cate, price='4500', goodsstocks='50', salesstartdate='2019-07-29', deleteflag='0') # 各マスタのレコード追加 HighCate.save() Cate.save() Goods.save() # 全件取得 saved_HighCate = HighCategoryTBL.objects.all() saved_Cate = CategoryTBL.objects.all() saved_GoodsTBL = GoodsTBL.objects.all() # 取得した件数が1件か判定 self.assertEqual(saved_HighCate.count(), 1) self.assertEqual(saved_Cate.count(), 1) self.assertEqual(saved_GoodsTBL.count(), 1)
def test_is_not_empty(self): ''' 1件登録した場合、保存されたレコード数は1件 ''' #上位カテゴリIDの外部キーである、上位カテゴリマスタを追加 HighCate = HighCategoryTBL(highcategoryid='category01') HighCate.save() Cate = CategoryTBL(categoryid='category01A01', highcategoryid=HighCate) Cate.save() saved_CategoryTBL = CategoryTBL.objects.all() # 1件登録したら、レコード数は1件であることを確認する。 self.assertEqual(saved_CategoryTBL.count(), 1)
def test_is_duplicate(self): ''' 商品IDは異なるが、製品番号、サイズ、色が全て一緒のデータが 登録できないことを確認 ''' # 各マスタのレコード追加準備 high_cate = HighCategoryTBL(highcategoryid='category01') cate = CategoryTBL(categoryid='category01A01', highcategoryid=high_cate) goods1 = GoodsTBL(goodsid='product01S001', productno='product01', sizename='S', colorname='黒', categoryid=cate, price='4500', goodsstocks='50', salesstartdate='2019-07-29', deleteflag='0') goods2 = GoodsTBL(goodsid='product10S001', productno='product01', sizename='S', colorname='黒', categoryid=cate, price='4500', goodsstocks='50', salesstartdate='2019-07-29', deleteflag='0') # 各マスタのレコード追加 high_cate.save() cate.save() goods1.save() # 商品マスタで、製品番号、サイズ、色がGoods1で定義した値と同等であり、 # 商品IDのみ異なる場合、レコード作成できるかチェックする。(出来ない想定) try: with transaction.atomic(): goods2.save() except IntegrityError: # 重複エラーとなった場合の処理 pass # 何もしない # 全件取得 saved_highcate = HighCategoryTBL.objects.all() saved_cate = CategoryTBL.objects.all() saved_goodstbl = GoodsTBL.objects.all() # 取得した件数が1件か判定 self.assertEqual(saved_highcate.count(), 1, '格納件数が想定と異なっています。') self.assertEqual(saved_cate.count(), 1, '格納件数が想定と異なっています。') # 重複したデータを追加し用としているが、エラーで追加されていないことをレコード数で確認する。 self.assertEqual(saved_goodstbl.count(), 1, '格納件数が想定と異なっています。')
def RecordAdd(): ''' 各TBLに1件ずつデータを追加する。 サイズ(S) 、色(黒) ''' Hcate = HighCategoryTBL(highcategoryid='category01', highcategoryname='衣類') Cate = CategoryTBL(categoryid='category01A01', categoryname='スカート', highcategoryid=Hcate) Goods1 = GoodsTBL(goodsid='product01S001', categoryid=Cate, productno='product01', sizename='S', colorname='黒', price='4500', goodsstocks='50', salesstartdate='2019-07-29', deleteflag='0') Hcate.save() Cate.save() Goods1.save()
def RecordAdd3(): ''' 商品マスタに1件データを追加する。(論理削除フラグ=1) サイズ(L) 、色(赤) ''' Hcate = HighCategoryTBL(highcategoryid='category01', highcategoryname='衣類') Cate = CategoryTBL(categoryid='category01A01', categoryname='スカート', highcategoryid=Hcate) Goods3 = GoodsTBL(goodsid='product01L003', categoryid=Cate, productno='product01', sizename='L', colorname='赤', price='4500', goodsstocks='0', salesstartdate='2019-07-29', deleteflag='1') Goods3.save()
def RecordAdd4(): ''' 商品マスタに1件データを追加する。(販売終了年月日が7月末(終わっている)) サイズ(S) 、色(赤) ''' Hcate = HighCategoryTBL(highcategoryid='category01', highcategoryname='衣類') Cate = CategoryTBL(categoryid='category01A01', categoryname='スカート', highcategoryid=Hcate) Goods4 = GoodsTBL(goodsid='product01S003', categoryid=Cate, productno='product01', sizename='S', colorname='赤', price='4500', goodsstocks='0', salesstartdate='2019-07-29', salesenddate='2019-07-31', deleteflag='0') Goods4.save()
def RecordAdd2(): ''' 商品マスタに1件データを追加する。 サイズ(M) 、色(黒) ''' Hcate = HighCategoryTBL(highcategoryid='category01', highcategoryname='衣類') Cate = CategoryTBL(categoryid='category01A01', categoryname='スカート', highcategoryid=Hcate) Goods2 = GoodsTBL(goodsid='product01M001', categoryid=Cate, productno='product01', sizename='M', colorname='黒', price='4500', goodsstocks='0', salesstartdate='2019-07-29', salesenddate='2020-07-29', deleteflag='0') Goods2.save()