def test_lists_dto_add_item__when_user_has_no_access__raise_unauthorized_error( dynamodb_lists_table, sample_data): from sf_shopping_list.data.dto.lists_dto import ListsDto from sf_shopping_list.data.clients.dynamodb import lists_table list0 = copy.deepcopy(sample_data['lists'][0]) list0['userId'] = 'other_sub_id' lists_table().put_item(Item=list0) with pytest.raises(NotFoundError): ListsDto.add_item(list0['id'], 'new item', tested_user_id)
def test_lists_dto_add_item__when_user_is_guest__update_the_list( dynamodb_lists_table, sample_data): from sf_shopping_list.data.dto.lists_dto import ListsDto from sf_shopping_list.data.clients.dynamodb import lists_table list1 = sample_data['lists'][1] lists_table().put_item(Item=list1) list_id = list1['id'] new_item = 'new item' res = ListsDto.add_item(list_id, new_item, tested_user_id) res_saved = lists_table().get_item(Key={'id': list_id}) assert new_item in res assert new_item in res_saved['Item']['items']
def test_lists_dto_add_item__when_list_does_not_exist__raise_not_found_error( dynamodb_lists_table): from sf_shopping_list.data.dto.lists_dto import ListsDto with pytest.raises(NotFoundError): ListsDto.add_item('abcdef', 'new item', tested_user_id)
def add_item(id): assert isinstance(app.current_event, APIGatewayProxyEventV2) sub = _get_auth_user_sub(app.current_event) new_item = app.current_event.decoded_body return ListsDto.add_item(id, new_item, sub)