53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| 
								 | 
							
								// Copyright (c) 2022 Sentry. All Rights Reserved.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "SentryTests.h"
							 | 
						||
| 
								 | 
							
								#include "SentryUser.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "Misc/AutomationTest.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if WITH_AUTOMATION_TESTS
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								BEGIN_DEFINE_SPEC(SentryUserSpec, "Sentry.SentryUser", EAutomationTestFlags::ProductFilter | SentryApplicationContextMask)
							 | 
						||
| 
								 | 
							
									USentryUser* SentryUser;
							 | 
						||
| 
								 | 
							
								END_DEFINE_SPEC(SentryUserSpec)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void SentryUserSpec::Define()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									BeforeEach([this]()
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										SentryUser = NewObject<USentryUser>();
							 | 
						||
| 
								 | 
							
									});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									Describe("User params", [this]()
							 | 
						||
| 
								 | 
							
									{
							 | 
						||
| 
								 | 
							
										It("should persist their values", [this]()
							 | 
						||
| 
								 | 
							
										{
							 | 
						||
| 
								 | 
							
											const FString TestUsername = FString(TEXT("SentryUser"));
							 | 
						||
| 
								 | 
							
											const FString TestEmail = FString(TEXT("user-mail@example.org"));
							 | 
						||
| 
								 | 
							
											const FString TestIpAddress = FString(TEXT("127.0.0.1"));
							 | 
						||
| 
								 | 
							
											const FString TestId = FString(TEXT("123"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											TMap<FString, FString> TestData;
							 | 
						||
| 
								 | 
							
											TestData.Add(TEXT("Key1"), TEXT("Val1"));
							 | 
						||
| 
								 | 
							
											TestData.Add(TEXT("Key2"), TEXT("Val2"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											SentryUser->SetUsername(TestUsername);
							 | 
						||
| 
								 | 
							
											SentryUser->SetEmail(TestEmail);
							 | 
						||
| 
								 | 
							
											SentryUser->SetIpAddress(TestIpAddress);
							 | 
						||
| 
								 | 
							
											SentryUser->SetId(TestId);
							 | 
						||
| 
								 | 
							
											SentryUser->SetData(TestData);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											TestEqual("Username", SentryUser->GetUsername(), TestUsername);
							 | 
						||
| 
								 | 
							
											TestEqual("Email", SentryUser->GetEmail(), TestEmail);
							 | 
						||
| 
								 | 
							
											TestEqual("Ip Address", SentryUser->GetIpAddress(), TestIpAddress);
							 | 
						||
| 
								 | 
							
											TestEqual("Id", SentryUser->GetId(), TestId);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											TMap<FString, FString> ReceivedData = SentryUser->GetData();
							 | 
						||
| 
								 | 
							
											TestEqual("Data 1", ReceivedData[TEXT("Key1")], TestData[TEXT("Key1")]);
							 | 
						||
| 
								 | 
							
											TestEqual("Data 2", ReceivedData[TEXT("Key2")], TestData[TEXT("Key2")]);
							 | 
						||
| 
								 | 
							
										});
							 | 
						||
| 
								 | 
							
									});
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 |