Coverage for tests\test_norming.py: 100%

32 statements  

« prev     ^ index     » next       coverage.py v7.8.2, created at 2025-06-04 09:07 -0400

1import os 

2 

3import pandas 

4import pytest 

5 

6import receptiviti 

7 

8receptiviti.readin_env() 

9 

10 

11@pytest.mark.skipif(os.getenv("RECEPTIVITI_KEY") is None, reason="no API key") 

12class TestStatus: 

13 def test_listing(self): 

14 res = receptiviti.norming() 

15 assert isinstance(res, pandas.DataFrame) 

16 assert "custom/test" in res["name"].values 

17 

18 res = receptiviti.norming(name_only=True) 

19 assert isinstance(res, list) 

20 assert "custom/test" in res 

21 

22 def test_single_status(self): 

23 res = receptiviti.norming("test") 

24 assert isinstance(res, pandas.Series) 

25 assert "custom/test" == res["name"] 

26 

27 def test_updating(self): 

28 norming_context = "test" 

29 receptiviti.norming(norming_context, delete=True) 

30 receptiviti.norming(norming_context, options={"min_word_count": 1}) 

31 with pytest.raises(RuntimeError, match="is not on record"): 

32 receptiviti.request("a text to score", version="v2", custom_context=norming_context) 

33 receptiviti.norming(norming_context, "new text to add") 

34 final_status = receptiviti.norming(norming_context) 

35 assert isinstance(final_status, pandas.Series) 

36 assert final_status["status"] == "completed" 

37 base_request = receptiviti.request("a new text to add", version="v2") 

38 self_normed_request = receptiviti.request("a new text to add", version="v2", custom_context=norming_context) 

39 assert base_request is not None and self_normed_request is not None 

40 assert not base_request.equals(self_normed_request)