1
+ import pytest
2
+ from pydantic import ValidationError
3
+ from sinch .domains .numbers .models .active .list_active_numbers_request import ListActiveNumbersRequest
4
+
5
+ @pytest .mark .parametrize (
6
+ "order_by_input, expected_order_by" ,
7
+ [
8
+ ("phone_number" , "phoneNumber" ),
9
+ ("display_name" , "displayName" ),
10
+ ("new_field" , "newField" ),
11
+ ("newField" , "newField" )
12
+ ]
13
+ )
14
+
15
+ def test_list_active_numbers_orderby_field_request_expects_camel_case_input (order_by_input , expected_order_by ):
16
+ """
17
+ Test that the model correctly parses order_by field.
18
+ """
19
+ data = {
20
+ "region_code" : "US" ,
21
+ "number_type" : "MOBILE" ,
22
+ "order_by" : order_by_input
23
+ }
24
+
25
+ request = ListActiveNumbersRequest (** data )
26
+
27
+ assert request .region_code == "US"
28
+ assert request .number_type == "MOBILE"
29
+ assert request .order_by == expected_order_by
30
+
31
+ def test_list_active_numbers_request_expects_parsed_input ():
32
+ """
33
+ Test that the model correctly parses input.
34
+ """
35
+ data = {
36
+ "region_code" : "GB" ,
37
+ "number_type" : "LOCAL" ,
38
+ "page_size" : 5 ,
39
+ "capabilities" : ["SMS" , "VOICE" ],
40
+ "number_search_pattern" : "START" ,
41
+ "number_pattern" : "5678" ,
42
+ "page_token" : "abc123" ,
43
+ "order_by" : "phoneNumber"
44
+ }
45
+
46
+ request = ListActiveNumbersRequest (** data )
47
+
48
+ assert request .region_code == "GB"
49
+ assert request .number_type == "LOCAL"
50
+ assert request .page_size == 5
51
+ assert request .capabilities == ["SMS" , "VOICE" ]
52
+ assert request .number_search_pattern == "START"
53
+ assert request .number_pattern == "5678"
54
+ assert request .page_token == "abc123"
55
+ assert request .order_by == "phoneNumber"
56
+
57
+ def test_list_available_numbers_request_expects_camel_case_input ():
58
+ """
59
+ Test that the model correctly handles camelCase input.
60
+ """
61
+ data = {
62
+ "regionCode" : "US" ,
63
+ "number_type" : "MOBILE" ,
64
+ }
65
+ request = ListActiveNumbersRequest (** data )
66
+ assert request .region_code == "US"
67
+ assert request .number_type == "MOBILE"
68
+
69
+ def test_list_active_numbers_request_expects_validation_error_for_missing_field ():
70
+ """
71
+ Test that missing required fields raise a ValidationError.
72
+ """
73
+ data = {}
74
+ with pytest .raises (ValidationError ):
75
+ ListActiveNumbersRequest (** data )
0 commit comments