예제 #1
0
    def test_post_guest(self):
        # 更新前の値を確認
        data = Data.get(1)
        self.assertEqual(data.date, date(1999, 12, 31))
        self.assertEqual(data.item, '松屋')
        self.assertEqual(data.price, 500)
        self.assertEqual(data.direction.pk, 2)
        self.assertEqual(data.method.pk, 1)
        self.assertEqual(data.category.pk, 1)
        self.assertEqual(data.temp, False)
        self.assertEqual(data.checked, True)
        response = self.client.post(
            reverse('moneybook:edit', kwargs={'pk': 1}), {
                'date': '2000-4-1',
                'item': 'テスト項目1',
                'price': 10000,
                'direction': 1,
                'method': 2,
                'category': 2,
                'temp': True,
                'checked': False
            })
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response.url, reverse('moneybook:login'))

        # 更新されていないことを確認
        data = Data.get(1)
        self.assertEqual(data.date, date(1999, 12, 31))
        self.assertEqual(data.item, '松屋')
        self.assertEqual(data.price, 500)
        self.assertEqual(data.direction.pk, 2)
        self.assertEqual(data.method.pk, 1)
        self.assertEqual(data.category.pk, 1)
        self.assertEqual(data.temp, False)
        self.assertEqual(data.checked, True)
예제 #2
0
    def post(self, request, *args, **kwargs):
        pk = request.POST.get("pk")

        try:
            Data.get(pk).delete()
        except:
            res = {"message": "Data does not exist"}
            return HttpResponseBadRequest(json.dumps(res))

        return HttpResponse()
예제 #3
0
    def test_post_guest(self):
        # もともとfalseであることを確認
        data = Data.get(4)
        self.assertEqual(data.checked, False)

        response = self.client.post(reverse('moneybook:edit_check'), {'id': 4})
        self.assertEqual(response.status_code, 403)

        # 更新されていないことを確認
        data = Data.get(4)
        self.assertEqual(data.checked, False)
예제 #4
0
    def test_post(self):
        self.client.force_login(User.objects.create_user(self.username))
        # もともとfalseであることを確認
        data = Data.get(4)
        self.assertEqual(data.checked, False)

        response = self.client.post(reverse('moneybook:edit_check'), {'id': 4})
        self.assertEqual(response.status_code, 200)

        # 更新されていることを確認
        data = Data.get(4)
        self.assertEqual(data.checked, True)
예제 #5
0
    def post(self, request, *args, **kwargs):
        pk = kwargs["pk"]

        try:
            data = Data.get(pk)
        except:
            return HttpResponseBadRequest(
                json.dumps({"message": "Data does not exist"}))

        new_data = DataForm(request.POST)
        if new_data.is_valid():
            # データ更新
            data.date = request.POST.get("date")
            data.item = request.POST.get("item")
            data.price = request.POST.get("price")
            data.direction = Direction.get(request.POST.get("direction"))
            data.method = Method.get(request.POST.get("method"))
            data.category = Category.get(request.POST.get("category"))
            data.temp = request.POST.get("temp")
            data.checked = request.POST.get("checked")
            data.save()

            return HttpResponse()
        else:
            res_data = {}
            error_list = []
            for a in new_data.errors:
                error_list.append(a)
            res_data["ErrorList"] = error_list
            return HttpResponseBadRequest(json.dumps(res_data))
예제 #6
0
    def get(self, request, *args, **kwargs):
        pk = kwargs["pk"]

        try:
            data = Data.get(pk)
        except:
            return redirect('moneybook:index')

        context = {
            'app_name': settings.APP_NAME,
            'username': request.user,
            'data': data,
            'directions': Direction.list(),
            'methods': Method.list(),
            'first_categories': Category.first_list(),
            'latter_categories': Category.latter_list(),
            'temps': {
                0: "No",
                1: "Yes"
            },
            'checkeds': {
                0: "No",
                1: "Yes"
            },
        }
        return render(request, "edit.html", context)
예제 #7
0
    def post(self, request, *args, **kwargs):
        pk = request.POST.get("id")

        try:
            data = Data.get(pk)
        except:
            res = {"message": "Data does not exist"}
            return HttpResponseBadRequest(json.dumps(res))

        data.checked = True
        data.save()
        return HttpResponse()
예제 #8
0
    def test_post_missing_date_price(self):
        self.client.force_login(User.objects.create_user(self.username))
        # 更新前の値を確認
        data = Data.get(1)
        self.assertEqual(data.date, date(1999, 12, 31))
        self.assertEqual(data.item, '松屋')
        self.assertEqual(data.price, 500)
        self.assertEqual(data.direction.pk, 2)
        self.assertEqual(data.method.pk, 1)
        self.assertEqual(data.category.pk, 1)
        self.assertEqual(data.temp, False)
        self.assertEqual(data.checked, True)

        response = self.client.post(
            reverse('moneybook:edit', kwargs={'pk': 1}), {
                'item': 'テスト項目1',
                'direction': 1,
                'method': 2,
                'category': 2,
                'temp': True,
                'checked': False
            })
        self.assertEqual(response.status_code, 400)
        content_json = json.loads(response.content.decode())
        self.assertEqual(content_json['ErrorList'], ['date', 'price'])

        # 更新されていないことを確認
        data = Data.get(1)
        self.assertEqual(data.date, date(1999, 12, 31))
        self.assertEqual(data.item, '松屋')
        self.assertEqual(data.price, 500)
        self.assertEqual(data.direction.pk, 2)
        self.assertEqual(data.method.pk, 1)
        self.assertEqual(data.category.pk, 1)
        self.assertEqual(data.temp, False)
        self.assertEqual(data.checked, True)
예제 #9
0
    def test_post(self):
        self.client.force_login(User.objects.create_user(self.username))
        # 更新前の値を確認
        data = Data.get(1)
        self.assertEqual(data.date, date(1999, 12, 31))
        self.assertEqual(data.item, '松屋')
        self.assertEqual(data.price, 500)
        self.assertEqual(data.direction.pk, 2)
        self.assertEqual(data.method.pk, 1)
        self.assertEqual(data.category.pk, 1)
        self.assertEqual(data.temp, False)
        self.assertEqual(data.checked, True)

        response = self.client.post(
            reverse('moneybook:edit', kwargs={'pk': 1}), {
                'date': '2000-4-1',
                'item': 'テスト項目1',
                'price': 10000,
                'direction': 1,
                'method': 2,
                'category': 2,
                'temp': True,
                'checked': False
            })
        self.assertEqual(response.status_code, 200)

        # 更新されていることを確認
        data = Data.get(1)
        self.assertEqual(data.date, date(2000, 4, 1))
        self.assertEqual(data.item, 'テスト項目1')
        self.assertEqual(data.price, 10000)
        self.assertEqual(data.direction.pk, 1)
        self.assertEqual(data.method.pk, 2)
        self.assertEqual(data.category.pk, 2)
        self.assertEqual(data.temp, True)
        self.assertEqual(data.checked, False)
예제 #10
0
 def test_get(self):
     self.assertEqual(str(Data.get(1)), "松屋")
     self.assertEqual(str(Data.get(6)), "必需品2")