Skip to content

Commit

Permalink
Merge pull request #44 from Fernanda-Kipper/feature/integration-backend
Browse files Browse the repository at this point in the history
Corrigindo testes unitários
  • Loading branch information
Fernanda-Kipper authored Jul 12, 2024
2 parents fd0d8f1 + 5319c0a commit 4a063b3
Show file tree
Hide file tree
Showing 8 changed files with 52 additions and 43 deletions.
8 changes: 7 additions & 1 deletion angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,13 @@
"maximumError": "20kb"
}
],
"outputHashing": "all"
"outputHashing": "all",
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
},
"development": {
"optimization": false,
Expand Down
37 changes: 17 additions & 20 deletions db/db.json
Original file line number Diff line number Diff line change
@@ -1,59 +1,56 @@
{
"events": [
"api/event": [
{
"id": "f88b",
"title": "Game Developer",
"type": "Presencial",
"remote": false,
"description": "Bem-vindo ao nosso evento de tecnologia, um encontro imperdível para entusiastas, profissionais e inovadores do setor! Este evento está repleto de atividades, apresentações e oportunidades que prometem enriquecer o conhecimento e expandir as redes de contato dos participantes.\n\nPalestras Inspiradoras\nRenomados especialistas e líderes do setor compartilharão suas visões sobre as últimas tendências e inovações tecnológicas. As palestras cobrirão uma ampla gama de tópicos, incluindo inteligência artificial, blockchain, computação em nuvem, cibersegurança, e muito mais. Prepare-se para insights valiosos e debates acalorados sobre o futuro da tecnologia.\n\nWorkshops Práticos\nParticipe de workshops interativos que oferecerão uma experiência prática com as tecnologias emergentes. Desde desenvolvimento de software até técnicas avançadas de análise de dados, os workshops são projetados para todos os níveis de habilidade, proporcionando uma oportunidade única de aprender e crescer.",
"date": "2025-12-09",
"hour": "09:20",
"date": "2028-08-18T12:25:21.000+00:00",
"city": "Angra dos Reis",
"state": "RJ",
"url": "https://angular.dev/",
"bannerUrl": "https://www.proway.com.br/foto/png/blog/750/workshop-gratuito-game-developer.jpg",
"eventUrl": "https://angular.dev/",
"imgUrl": "https://www.proway.com.br/foto/png/blog/750/workshop-gratuito-game-developer.jpg",
"coupons": [
{
"code": "KIPPERDEV",
"discount": 20,
"valid": "2024-08-18T12:25:21.000+00:00"
"valid": "2028-08-18T12:25:21.000+00:00"
}
]
},
{
"id": "7d35",
"title": "Conference Brazil 2024",
"type": "Remoto",
"title": "Conference Brazil 2028",
"remote": "Remoto",
"description": "Painéis de Discussão\nOs painéis de discussão reúnem especialistas para debater temas críticos e explorar diferentes perspectivas sobre os desafios e oportunidades do setor tecnológico. Este é o espaço ideal para ouvir opiniões diversas e participar de conversas significativas.\n\nExposição de Startups e Inovações\nDescubra as startups mais promissoras e as inovações que estão moldando o futuro. A exposição contará com demonstrações de produtos, lançamentos de novas tecnologias e a chance de interagir diretamente com os criadores. É uma oportunidade única de ver em primeira mão as soluções que estão revolucionando o mercado.\n\nNetworking e Oportunidades de Carreira\nAproveite as sessões de networking para conhecer profissionais influentes, estabelecer novas conexões e explorar oportunidades de carreira. As áreas dedicadas ao networking proporcionarão um ambiente descontraído para interações valiosas e a troca de ideias.\n\nHackathons e Competições\nParticipe de hackathons e competições emocionantes que desafiarão suas habilidades e criatividade. Colabore com outros participantes para desenvolver soluções inovadoras e competir por prêmios incríveis. Estas atividades são uma excelente maneira de testar seus conhecimentos e se divertir.",
"date": "2024-11-01",
"hour": "12:51",
"date": "2028-08-18T12:25:21.000+00:00",
"city": null,
"state": null,
"url": "https://www.linkedin.com/in/lfsilvaferreira/",
"bannerUrl": "https://images.sympla.com.br/664ca6abd009b-xs.png",
"eventUrl": "https://www.linkedin.com/in/lfsilvaferreira/",
"imgUrl": "https://images.sympla.com.br/664ca6abd009b-xs.png",
"coupons": [
{
"code": "KIPPERDEV",
"discount": 20,
"valid": "2024-08-18T12:25:21.000+00:00"
"valid": "2028-08-18T12:25:21.000+00:00"
}
]
},
{
"id": "a290",
"title": "Dev Leaders",
"type": "Presencial",
"remote": false,
"description": "Demonstrações de Produtos e Tecnologias\nVeja demonstrações ao vivo das últimas inovações tecnológicas. As sessões de demonstração permitirão que você experimente novas ferramentas e tecnologias, compreendendo seu potencial e aplicabilidade no mundo real.\n\nSessões de Mentoria\nAproveite as sessões de mentoria para obter conselhos e orientações de profissionais experientes. Esta é uma oportunidade valiosa para receber feedback personalizado e aprender com a experiência de quem já percorreu o caminho.\n\nEncerramento e Premiações\nO evento culminará com uma cerimônia de encerramento, onde celebraremos as conquistas dos participantes e reconheceremos os destaques das competições e apresentações. Junte-se a nós para uma noite de celebração e inspiração.\n\nNão perca esta oportunidade de mergulhar no mundo da tecnologia, expandir seus conhecimentos e fazer conexões valiosas. Estamos ansiosos para recebê-lo em nosso evento de tecnologia e explorar juntos o futuro da inovação!",
"date": "2027-12-06",
"hour": "18:55",
"date": "2028-08-18T12:25:21.000+00:00",
"city": "Araguaiana",
"state": "MT",
"url": "https://github.com/",
"bannerUrl": "https://images.sympla.com.br/6406005d48367-lg.png",
"eventUrl": "https://github.com/",
"imgUrl": "https://images.sympla.com.br/6406005d48367-lg.png",
"coupons": [
{
"code": "KIPPERDEV",
"discount": 20,
"valid": "2024-08-18T12:25:21.000+00:00"
"valid": "2028-08-18T12:25:21.000+00:00"
}
]
}
Expand Down
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
"start": "ng serve",
"build": "ng build",
"backend": "json-server --watch db/db.json",
"watch": "ng build --watch --configuration development",
"test": "ng test",
"test:watch": "ng test --watch",
"serve:ssr:community-events-front": "node dist/community-events-front/server/server.mjs",
Expand Down
9 changes: 4 additions & 5 deletions src/__mocks__/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,20 @@ import { EventItem } from '../app/types/Event.type';
export const EVENT_MOCK: EventItem = {
id: '1',
title: 'Game Developer',
type: 'Presencial',
remote: false,
description:
'Bem-vindo ao nosso evento de tecnologia, um encontro imperdível para entusiastas, profissionais e inovadores do setor! Este evento está repleto de atividades, apresentações e oportunidades que prometem enriquecer o conhecimento e expandir as redes de contato dos participantes.\n\nPalestras Inspiradoras\nRenomados especialistas e líderes do setor compartilharão suas visões sobre as últimas tendências e inovações tecnológicas. As palestras cobrirão uma ampla gama de tópicos, incluindo inteligência artificial, blockchain, computação em nuvem, cibersegurança, e muito mais. Prepare-se para insights valiosos e debates acalorados sobre o futuro da tecnologia.\n\nWorkshops Práticos\nParticipe de workshops interativos que oferecerão uma experiência prática com as tecnologias emergentes. Desde desenvolvimento de software até técnicas avançadas de análise de dados, os workshops são projetados para todos os níveis de habilidade, proporcionando uma oportunidade única de aprender e crescer.',
date: '2025-12-09',
hour: '09:20',
city: 'Angra dos Reis',
state: 'RJ',
url: 'https://angular.dev/',
bannerUrl:
eventUrl: 'https://angular.dev/',
imgUrl:
'https://www.proway.com.br/foto/png/blog/750/workshop-gratuito-game-developer.jpg',
coupons: [
{
code: 'KIPPERDEV',
discount: 20,
validUntil: '2024-08-18T12:25:21.000+00:00',
valid: '2024-08-18T12:25:21.000+00:00',
},
],
};
Expand Down
10 changes: 5 additions & 5 deletions src/app/components/event/event.component.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ describe('EventComponent', () => {

// Set initial input`s
component.title = EVENT_MOCK.title;
component.type = EVENT_MOCK.type;
component.type = EVENT_MOCK.remote ? 'Online' : 'Presencial';
component.description = EVENT_MOCK.description;
component.date = EVENT_MOCK.date;
component.city = EVENT_MOCK.city;
component.state = EVENT_MOCK.state;
component.bannerUrl = EVENT_MOCK.bannerUrl;
component.url = EVENT_MOCK.url;
component.city = EVENT_MOCK.city ?? '';
component.state = EVENT_MOCK.state ?? '';
component.bannerUrl = EVENT_MOCK.imgUrl;
component.url = EVENT_MOCK.eventUrl;

fixture.detectChanges();
});
Expand Down
3 changes: 3 additions & 0 deletions src/app/environments/enviroment.prod.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const environment = {
API: 'https://fernandakipperdev.com',
};
2 changes: 1 addition & 1 deletion src/app/environments/environment.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export const environment = {
API: 'https://fernandakipperdev.com',
API: 'http://localhost:3000',
};
25 changes: 15 additions & 10 deletions src/app/services/events.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,9 @@ describe('EventsService', () => {
events = body;
});

const req = httpMock.expectOne('http://localhost:3000/events');
const req = httpMock.expectOne(
'http://localhost:3000/api/event?page=0&size=20',
);
req.flush([EVENT_MOCK]);

expect(events).toEqual([EVENT_MOCK]);
Expand All @@ -51,7 +53,9 @@ describe('EventsService', () => {
eventsService.getEvents().subscribe((response) => {
expect(response).toEqual([EVENT_MOCK]);
});
const req = httpMock.expectOne('http://localhost:3000/events');
const req = httpMock.expectOne(
'http://localhost:3000/api/event?page=0&size=20',
);

req.flush([EVENT_MOCK]);
expect(req.request.method).toEqual('GET');
Expand All @@ -65,7 +69,7 @@ describe('EventsService', () => {
event = body;
});

const req = httpMock.expectOne('http://localhost:3000/events/1');
const req = httpMock.expectOne('http://localhost:3000/api/event/1');
req.flush(EVENT_MOCK);

expect(event).toEqual(EVENT_MOCK);
Expand All @@ -77,7 +81,7 @@ describe('EventsService', () => {
expect(response).toEqual(EVENT_MOCK);
});

const req = httpMock.expectOne('http://localhost:3000/events/1');
const req = httpMock.expectOne('http://localhost:3000/api/event/1');

req.flush(EVENT_MOCK);
expect(req.request.method).toEqual('GET');
Expand All @@ -87,11 +91,11 @@ describe('EventsService', () => {
describe('createEvent', () => {
it('should create a event', () => {
let event: Partial<EventItem> | undefined;
const mockedEventItem = EVENT_MOCK as Partial<EventItem>;
const mockedEventItem = new FormData();
eventsService.createEvent(mockedEventItem).subscribe((response) => {
event = response;
});
const req = httpMock.expectOne('http://localhost:3000/events');
const req = httpMock.expectOne('http://localhost:3000/api/event');

req.flush(EVENT_MOCK);

Expand All @@ -100,9 +104,10 @@ describe('EventsService', () => {
});

it('passes the correct body', () => {
const mockedEventItem = EVENT_MOCK as Partial<EventItem>;
const mockedEventItem = new FormData();
mockedEventItem.append('title', 'Event title');
eventsService.createEvent(mockedEventItem).subscribe();
const req = httpMock.expectOne('http://localhost:3000/events');
const req = httpMock.expectOne('http://localhost:3000/api/event');

req.flush(EVENT_MOCK);

Expand All @@ -112,14 +117,14 @@ describe('EventsService', () => {

it('throws an error if request fails', () => {
let httpErrorResponse: HttpErrorResponse | undefined;
const mockedEventItem = EVENT_MOCK as Partial<EventItem>;
const mockedEventItem = new FormData();
eventsService.createEvent(mockedEventItem).subscribe({
next: () => {
fail('Failed to create a new event!');
},
error: (error) => (httpErrorResponse = error),
});
const req = httpMock.expectOne('http://localhost:3000/events');
const req = httpMock.expectOne('http://localhost:3000/api/event');
req.flush('Server error', CREATE_EVENT_ERROR_RESPONSE_MOCK);

if (!httpErrorResponse) {
Expand Down

0 comments on commit 4a063b3

Please sign in to comment.