我正在测试使用茉莉和大理石的登录效果服务
这非常简单明了;用户发送登录信息(电子邮件和密码) 通过商店有效载荷达到效果
检查凭据的api终结点使用一个令牌进行响应,该令牌被解码为在effects服务中用作LoginSuccess类的构造函数参数。
我已经开始使用它,但是,我发现测试到达了“真实”效果服务并返回了对象“ userState”。
我也在测试中嘲笑的这个对象(以及对authService使用<>
起作用)
如果对象不匹配(包括具有匹配的令牌,我必须从真实的登录名中复制这些对象),则测试失败,如果有人可以提供一些指针,我对此会有些茫然
效果文件:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N1 100
#define M1 100
void fillMatrix(int A[][M1], int N, int M);
int sortMatrix(int A[][M1],int rowsize, int colsize);
void displayArray(int A[][M1], int N, int M);
int main(void)
{
int array[N1][M1] = {0};
fillMatrix(array, N1, M1);
displayArray(array, N1, M1);
//sortMatrix(array, N1, M1);
return 0;
}
void fillMatrix(int A[][M1], int N, int M)
{
int rows = 0, columns = 0;
//ASK FOR ROWS
printf("Enter a number of rows: ");
scanf("%i", &rows);
if(rows < 0 && rows >= 100)
{
printf("Invalid Input.\n");
printf("Enter a number of rows: ");
scanf("%i", &rows);
}
//ASK FOR COLUMNS
printf("Enter a number of columns: ");
scanf("%i", &columns);
if(columns < 0 && columns >= 100)
{
printf("Invalid Input.\n");
printf("Enter a number of columns: ");
scanf("%i", &columns);
}
//FILLS ARRAY W/ RANDOM INT VALUES BETWEEN 0 AND 100
srand(time(NULL));
for(int i = 0; i < rows; i++)
{
for(int j = 0; j < columns; j++)
{
A[i][j] = 0 + rand() % 100;
}
}
}
/*int sortMatrix(int A[][M1],int rowsize, int colsize)
{
int temp = 0;
for(int i = 0; i < rowsize; i++)
{
for (int j = 0 ; j < colsize; j++)
{
if(A[i] > A[j])
{
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
}
}
return 0;
}*/
void displayArray(int A[][M1], int N, int M)
{
for(int i = 0; i < N; i++)
{
for(int j = 0; j < M; j++)
{
printf("%i ", A[i][j]);
}
}
}
测试文件:
createSpyObj
答案 0 :(得分:0)
基本上,这与解码从authService发送的响应有关 并将数据分配给userState的属性:
//Decode the returned jwt
console.log(data)//This would be my mockdetails
let decodedData = jwt_decode(data.token);
console.log(decodedData)//This would have the details from logged in user
let userState:loginReducer.State = {
isAuthenticated: true,
token:data.token,
name:decodedData.name//this is from logged in user throws error
}
console.log(userState)//This would have the details from logged in user
这似乎是在做;解码并应用于userState对象时,将实际登录的用户信息提取到内存中
我看到我不需要解码就可以从返回的对象中获取用户名:
map((data)=> {
let userState:loginReducer.State = {
isAuthenticated: true,
token:data.token,
name:data.name
}
})
所以它可以工作,但是如果我必须解码,我无法解决该怎么办?